TEORIA DE SISTEMAS OPERATIVOS CATEDRATICO FERNANDO FERNANDEZ DIAZ ALUMNO RAUL ALEJANDRO GARCIA MEZA INGENIERIA EN SISTEMAS COMPUTACIONALES

5°F
COMITAN DE DOMINGUEZ, CHIAPAS A 13 DE ENERO DE 2013

.......................... 8 COMO ADMINISTRADOR DE RECURSOS ............. 4 GENERACIONES DE SISTEMAS OPERATIVOS .......... 6 CUARTA GENERACIÓN (MITAD DE DÉCADA DE 1970 EN ADELANTE) ............................................... 7 SISTEMAS OPERATIVOS COMO MÁQUINA EXTENDIDA Y COMO ADMINSITRADOR DE RECURSOS8 1..................................................................................................... 5 PRIMERA GENERACIÓN (DÉCADA DE 1950) ........................... 5............................................................. GENERACIÓN CERO (DÉCADA DE 1940) .............. 4............... 5 1....................................................................................................................... 2 INTRODUCCION .................................................. 3...................................................................................................................................................................................................................................................................................................................... 12 ........................... 3 DEFINICIÓN DE SISTEMA OPERATIVO ................. 10 CONCLUSIÓN ... 5 SEGUNDA GENERACIÓN (A MITAD DE LA DÉCADA DE 1960) .......................................................... COMO MAQUINA EXTENDIDA............................................................................ 9 DEFINICIÓN DE PROCESO ........... 7 CLASIFICACIÓN DE SISTEMAS OPERATIVOS .................................................................................................................................................... 2.......... 2.INDICE INDICE................................... 6 TERCERA GENERACIÓN (MITAD DE DÉCADA 1960 A MITAD DÉCADA DE 1970) ...........

en la cual la instalación de programas es sumamente fácil.INTRODUCCION Un sistema operativo es el software que controla el hardware nosotros vemos el sistema operativo como la serie de programas. El sistema operativo más utilizado es Windows de la empresa Microsoft. Los sistemas operativos ponen este poder convenientemente a disposición de usuario. Estos nos permiten el trabajo en una plataforma fácil de manejar. . En este trabajo hablaremos un poco acerca de los sistemas operativos sin enfocarnos en uno en especial. que hacen al hardware utilizable. dispuestos ya sea en el software o en la memoria fija.

Los datos El sistema operativo es una interfaz con: 1. Los programas 6. enviar la información a la pantalla. El almacenamiento 3. Los procesadores 2. no perder de vista archivos y directorios en el disco. Los operadores del computador 2. y controlar los dispositivos periféricos tales como impresoras. Los programadores de sistemas 4. El sistema operativo también es responsable de la seguridad.  Definir la “interfaz del usuario” Compartir el hardware entre usuarios Permitir a los usuarios compartir los datos entre ellos Planificar recursos entre usuarios Facilitar la entrada / salida Recuperase de errores Los recursos clave que un sistema operativo administra son: 1. 2. 4.DEFINICIÓN DE SISTEMA OPERATIVO El sistema operativo es el programa (o software) más importante de un ordenador. etc. se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. tales como reconocimiento de la conexión del teclado. 5. Un sistema operativo es principalmente un administrador de recursos. el sistema operativo tiene incluso mayor responsabilidad y poder. El hardware 7. cada ordenador de uso general debe tener un sistema operativo. El personal administrativo 5. En sistemas grandes. 6. Los programadores de aplicaciones 3. asegurándose de que los usuarios no autorizados no tengan acceso al sistema. Para que funcionen los otros programas. escáner. y el recurso primario que administra es el hardware del computador. Los usuarios  . contiene varias características. es como un policía de tráfico. Los dispositivos de entrada / salida 4. como: 1. 3. Los sistemas operativos realizan tareas básicas.

GENERACIÓN CERO (DÉCADA DE 1940) Los primeros sistemas computacionales no poseían sistemas operativos. han sufrido cambios a través del tiempo. Para poder ejecutar un trabajo (programa). Para los usuarios eran complejos por que trabajaban con lenguaje máquina. el control era devuelto al sistema operativo. este tenía control total de la máquina. Eran más complejos controlar los componentes. donde los trabajos se reunían por grupos o lotes. leía e iniciaba la siguiente tarea. Cuando el trabajo estaba en ejecución. Se crearon máquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados. el cual limpiaba y leía e iniciaba el trabajo siguiente. los cuales se pueden agrupar en generaciones. un operador se dirigiría a la impresora y desprendería la salida y la llevaría al cuarto de salida. se perdía un tiempo considerable entre la terminación de un trabajo y el inicio del siguiente. Todas las instrucciones eran codificadas manualmente.GENERACIONES DE SISTEMAS OPERATIVOS Los sistemas operativos. 2. PRIMERA GENERACIÓN (DÉCADA DE 1950) Los sistemas operativos de los años cincuenta fueron diseñados para que sean más ágiles. Al terminar cada tarea. aunque sólo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de tenerlas. el cual limpiaba. Antes de que los sistemas fueran diseñados. Este fue el comienzo de los sistemas de procesamiento por lotes. Al terminar cada trabajo. el control era devuelto al sistema operativo. tenían que escribirlo en papel (lenguaje ensamblador) y después se perforaría en tarjetas. Cuando se ejecutaba alguna tarea. Al inicio de los 50's esto había mejorado un poco con la introducción de tarjetas perforadas (las cuales servían para introducir los programas de lenguajes de máquina). La evolución del hardware ha marcado el paralelismo de la evolución de los sistemas operativos. para que la recogiera el programador. . 1. ésta tenía control total de la máquina. al igual que el hardware. Cuando la computadora terminara el trabajo. Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores.

En los sistemas de multiprogramación. nunca antes se había construido algo similar. La independencia de dispositivos aparece después. Un usuario que desea escribir datos en una cinta en sistemas de la primera generación tenía que hacer referencia específica a una unidad de cinta particular. algunos de ellos soportaban simultáneamente procesos por lotes. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. y los principios del multiprocesamiento. con la finalidad de incrementar el poder de procesamiento de la máquina. Se desarrolló sistemas compartidos. con la finalidad de incrementar el poder de procesamiento de la máquina. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional. en los cuales se utilizan varios procesadores en un solo sistema. y el procesador se cambia rápidamente de un trabajo a otro. En la segunda generación. en un principio. con el propósito de serlo todo para toda la gente.3. una complejidad a la cual. y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho después de lo que el planificador marcaba como fecha de terminación. En esta generación se desarrollan los sistemas compartidos con multiprogramación. Los computadores de esta generación fueron diseñados como sistemas para usos generales. varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal. El sistema operativo localizaba entonces una unidad de cinta disponible con las características deseadas. Surgieron sistemas de tiempo real. no estaban acostumbrados los usuarios. Casi siempre eran sistemas grandes. voluminosos. procesamiento de tiempo real y multiprocesamiento. en la que los usuarios podían acoplarse directamente con el computador a través de terminales. TERCERA GENERACIÓN (MITAD DE DÉCADA 1960 A MITAD DÉCADA DE 1970) Se inicia en 1964. SEGUNDA GENERACIÓN (A MITAD DE LA DÉCADA DE 1960) La característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramación. en que los computadores fueron utilizados en el control de procesos industriales. Eran sistemas de modos múltiples. 4. y le indicaba al operador que montara una cinta en esa unidad. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales. con la introducción de la familia de computadores Sistema/360 de IBM. tiempo compartido. . el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. El programa especificaba tan sólo que un archivo iba a ser escrito en una unidad de cinta con cierto número de pistas y cierta densidad. Eran grandes y costosos.

Los sistemas de bases de datos han adquirido gran importancia. Multitarea cooperativa: Las tareas en segundo plano reciben tiempo de proceso durante los tiempos muertos de la tarea que se encuentra en primer    .  Conmutación de contextos: Es un tipo simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo. Multiprocesador: soporta el abrir un mismo programa en más de una CPU. CLASIFICACIÓN DE SISTEMAS OPERATIVOS Los sistemas operativos pueden ser clasificados de la siguiente forma:  Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. han sido necesarios codificar los datos personales o de gran intimidad para que. que es la que está utilizando el usuario. Por otro lado la aplicación que estaba en segundo plano pasa a reanudar su procesamiento recuperando la situación en la que se había detenido. no sean de utilidad a nadie más que a los receptores adecuados. Cuando el usuario cambia de aplicación . aun si los datos son expuestos. Con estos sistemas operativos aparece el concepto de máquinas virtuales. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo. pasando la aplicación activa a segundo plano. Los sistemas operativos conocidos en la época actual son los considerados sistemas de cuarta generación. efectuándose un almacenamiento del estado en el que se encuentra. después de sus experiencias con los sistemas operativos de la tercera generación. Los sistemas de seguridad se han mejorado mucho ahora que la información pasa a través de varios tipos vulnerables de líneas de comunicación. y el trabajo de las bases de datos es hacer que esta información sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso. Muchos diseñadores y usuarios se sienten aun incómodos. Nuestro mundo es una sociedad orientada hacia la información. Multitarea: Permite que varios programas se ejecuten al mismo tiempo.5. La clave de cifrado está recibiendo mucha atención. se produce un intercambio entre ambas tareas. en el cual el usuario no se involucra con el hardware de la computadora con la que se quiere conectar y en su lugar el usuario observa una interfaz gráfica creada por el sistema operativo. Con la ampliación del uso de redes de computadoras y del procesamiento en línea es posible obtener acceso a computadoras alejadas geográficamente a través de varios tipos de terminales. CUARTA GENERACIÓN (MITAD DE DÉCADA DE 1970 EN ADELANTE) Los sistemas de la cuarta generación constituyen el estado actual de la tecnología. pero sólo se procesa la que se encuentra en primer plano.

Multitarea de tiempo compartido: Cada tarea recibe un tiempo de procesamiento durante una fracción de segundo. cada una de las cuales requiere 13 parámetros. Esta petición es recibida por el sistema operativo.   Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo. que está coordinando todos los dispositivos virtuales y lanza el comando sobre la impresora real. y alguno de los mencionados anteriormente. comprimidos en 9 bytes. toda la familia Windows. E/S y estructura del bus. OS/2 de IBM¼) utilizan esta técnica. En concreto. Estos parámetros especifican la dirección del bloque de . La mayoría de los ordenadores al nivel del lenguaje máquina es primitiva y muy difícil de programar. se realiza sobre la impresora virtual de su máquina virtual. así como para inicializar. Cada una de estas máquinas virtuales posee sus correspondientes dispositivos virtuales. Todos los sistemas operativos actuales (Linux. SISTEMAS OPERATIVOS COMO MÁQUINA EXTENDIDA Y COMO ADMINSITRADOR DE RECURSOS 1. impresora¼). crean un entorno de ejecución propio e independiente para cada tarea. COMO MAQUINA EXTENDIDA Repertorio de instrucciones. que representan a cada uno de los recursos del ordenador (memoria. Los sistemas operativos como DOS y UNIX. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador . Se puede establecer un orden de prioridades entre las tareas o simplemente seguir un orden secuencial. Por ejemplo. siendo el sistema operativo el encargado final de realizar la operación. detectar. disco duro. el sistema operativo Windows.   plano. como si cada aplicación corriese en una máquina independiente llamada máquina virtual. cada una de las cuales se especifica cargando entre uno y nueve bytes en un registro de dispositivo. especialmente en lo que respecta a la entrada/salida. mover el brazo del disco y formatear pistas. cuando un programa ejecuta la instrucción de impresión. las operaciones de multitarea en tiempo compartido parecen ser simultáneas. organización de la memoria. Esto ocurre cuando dicha aplicación espera información del usuario para poder continuar. no funcionan en tiempo real. Las instrucciones más básicas son read y write. Esto facilita enormemente la programación de aplicaciones. Tiempo Real: Responde a las entradas inmediatamente. ya que se realiza sobre dispositivos virtuales. Estas instrucciones son para leer y escribir datos. El controlador PD765 tiene 16 instrucciones. Mac OS. resetear y recalibrar el controlador y las unidades de disco.

Por si no fuera suficiente. ya que en ese caso el disquete se desgastaría rápidamente. Al mismo tiempo debe tenerse en consideración una cuenta de seguridad por ejemplo la informática solo debe ser acezada por usuarios cualquiera no debería ser capaz de sobrescribir áreas críticas sobre el sistema. para luego leer o escribir en él. no deben aparecer en la abstracción que se presenta al usuario. Los detalles de si la grabación debe realizarse por modulación de frecuencia modificada o si el motor está encendido o apagado. qué hacer con una marca de dirección de datos borrados. la separación entre sectores. el modo de grabación empleado sobre el medio físico. es por supuesto. . gestión de memoria y otras características de bajo nivel. COMO ADMINISTRADOR DE RECURSOS Consiste en administrar los recursos de un computador cuando hay 2. timers. informáticos. El sistema operativo presta una variedad de servicios que los programas pueden obtener empleando instrucciones especiales que se conocen como llamadas al sistema. En el caso de los discos. 2. Si está apagado. el número de sectores por pista. Así como el sistema operativo separa al programador del hardware del disco y presenta una interfaz sencilla orientada hacia los ficheros. Una vez que se lleva a cabo la operación. y cosas por el estilo. también oculta muchos otros asuntos desagradables relacionados con las interrupciones. En cada caso la abstracción que ofrece el sistema operativo es más sencilla y más fácil de usar que la que ofrece el hardware subyacente. En resumen el sistema operativo debe llevar la cuenta que está usando que recurso a quienes lo soliciten (siempre que el solicitante tenga derechos adecuados sobre el recurso. Así. Cada fichero puede abrirse para lectura o escritura.disco a leer. En este caso un usuario puede ser una persona. una abstracción típica sería que el disco contiene una colección de ficheros con nombre. un programa u otro computador. el programador se ve forzado a encontrar una solución de compromiso entre tener largos retrasos de arranque o permitir peligrosos desgastes del disquete (con la posibilidad de perder datos grabados). memoria o impresora) Además es un sistema multiusuario suele ser necesario o consiente compartir además de dispositivos físicos. Pero el motor no puede quedarse encendido demasiado tiempo. El programa que oculta al programador la verdad acerca del hardware y presenta una visión bonita y sencilla de ficheros con nombre que se pueden leer y en los que se puede escribir. el sistema operativo. o más programas que se ejecutan simultáneamente y requiere usar el mismo recurso (como tiempo de CPU. debiendo finalmente cerrarse. el controlador devuelve 23 campos de estado y error comprimidos en 7 bytes. habrá que encenderlo (con un largo retraso hasta que el disquete adquiera la velocidad adecuada) antes de poder leer o escribir los datos. en todo momento el programador de la disquetera debe preocuparse también de saber si el motor está encendido o apagado.

DEFINICIÓN DE PROCESO Un proceso puede informalmente entenderse como un programa en ejecución. esto es.Las tareas que generalmente realiza un (so):     Realizar el interés sistema-usuario Compartir los recursos del hardware Permitir a los usuarios compartir sus datos sobre ellos. incluso siendo el mismo programa en ejecución 2 veces. Cada proceso tiene su contador de programa. Su estado de ejecución en un momento dado. los valores de los registros de la unidad central de procesamiento para dicho programa. debido a que dicho código no cambiará. Prevenir que las actividades de un usuario no interfieran en los demás usuarios. donde un proceso consta de uno o más hilos. un estado actual. Su memoria de trabajo (memoria crítica). . Esta definición varía ligeramente en el caso de sistemas operativos multihilo. registros y variables. es decir. Cada hilo consta de instrucciones y estado de ejecución. Los procesos son creados y eliminados por el sistema operativo. Los procesos son gestionados por el sistema operativo y están formados por:    Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. y un conjunto de recursos del sistema asociados". Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones. la memoria que ha reservado y sus contenidos. y cada proceso tiene su propia tabla de paginación. así como también éste se debe hacer cargo de la comunicación entre procesos. El proceso de arranque de GNU/Linux inicia con un sólo proceso (init) y después comienza a crear los hilos necesarios para tener el sistema listo para su uso. pero lo hace a petición de otros procesos (interrupción o tiempo de reloj). El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Otra información que permite al sistema operativo su planificación. la memoria de trabajo (compartida por todos los hilos) y la información de planificación. fungiendo como una optimización del sistema operativo ante los fallo de página. el sistema operativo usa la misma región de memoria de código. Cuándo este último caso sucede. conocidas como páginas. Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria. aislados de otros procesos. a menos que se ejecute una versión distinta del programa. Un proceso se rige en pequeñas porciones.

haciendo más eficiente las tareas. Los procesos pueden ser cooperativos o independientes. La forma de elegir los procesos de la cola en espera es mediante una política first in first out. En este caso. . sino una señal generada a propósito por el programador desde otro proceso. Si un proceso está esperando una señal. Hay cuatro eventos principales que provocan la creación de procesos:     El arranque del sistema.En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La sincronización explícita entre procesos es un caso particular del estado "bloqueado". se suspende hasta que la señal se envíe. el suceso que permite desbloquear un proceso no es una operación de entrada/salida. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso. asimismo la complejidad de los algoritmos de sincronización. Los procesos pueden contener uno o más hilos. El inicio de un trabajo por lotes. Una petición de usuario para crear un proceso. La ejecución.     Se usa una variable de tipo semáforo para sincronizar los procesos. Se mantiene una cola de procesos en espera en el semáforo. ya que podría ocurrir la condición de carrera muy a menudo. desde un proceso. inclusive los indeseados interbloqueos. de una llamada al sistema para la creación de otro proceso. Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.

desarrollado inicialmente por Microsoft e IBM. Windows (todas sus versiones) desarrollados por Microsoft. La mayoría de los sistemas operativos de última generación tienden a. y que los procesos a realizar demoren en un mínimo de tiempo.CONCLUSIÓN Luego de haber investigado y analizado se puede ver que se han desarrollado varios tipos de sistemas operativos con diferentes interfaces y categorías. Pero hemos podido observar que todos los sistemas operativos han sufrido cambios por parte de los programadores. El MS-DOS es un SO popular entre los usuarios de PC's pero solo permite un usuario y una tarea. Otros SO multiusuario y multitarea son OS/2. y siguen evolucionando. OS/2. MS-DOS. Los sistemas operativos empleados normalmente son UNIX. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. atender un gran número de usuarios. El SO multitarea de Apple se denomina Macintosh OS. cada sistema operativo tiene un fin determinado que es la de realizar tareas según el objetivo a lograr. Los sistemas operativos han ido evolucionando a medida de las necesidades que se fueron generando. . Macintosh OS. dependiendo de lo que necesite el o los usuarios. Windows (todas sus versiones).