Está en la página 1de 32

INSTITUTO TECNOLGICO DE CHILPANCINGO INGENIERA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

UNIDAD 1: INTRODUCCIN A LOS SISTEMAS OPERATIVOS UNIDAD 2 : ADMINISTRACIN DE PROCESOS Y DEL PROCESADOR.
PROFESOR:

ALUMNO: CRUZ ENRIQUE GARCIA RAMOS NUMERO DE CONTROL: 10520254

TEMAS DE LA UNIDAD 1 Y 2
Unidad 1 Temas Subtemas 1.1 Definicin y concepto. 1.2 Funciones y caractersticas. 1.3 Evolucin histrica. 1.4 Clasificacin. 1.5 Estructura (niveles o estratos de diseo). 1.6 Ncleo. 1.6.1 Interrupciones (FLIH). 1.6.2 Despachador(Scheduler). 1.6.3 Primitivas de comunicacin(IPC). 2.1 2.2 2.3 2.4 Concepto de proceso. Estados y transiciones de los procesos Procesos ligeros (Hilos o hebras). Concurrencia y secuenciabilidad. 2.4.1 Exclusin mutua de secciones criticas. 2.4.2 Sincronizacin de procesos en S.C. 2.4.2.1 Mecanismo de semforos. 2.4.2.2 Mecanismo de monitores. 2.4.3 Interbloqueo (DeadLock). 2.4.3.1 Prevencin. 2.4.3.2 Deteccin. 2.4.3.3 Recuperacin. Niveles, objetivos y criterios de planificacin. Tcnicas de administracin del planificador. 2.6.1 FIFO 2.6.2 SJF 2.6.3 RR 2.6.4 Queves multi-level. 2.6.5 Multi-level feedback queves.

Introduccin a los sistemas operativos.

Administracin de procesos y del procesador.

2.5 2.6

UNIDAD 1 INTRODUCCIN A LOS SISTEMAS OPERATIVOS.

1.1 Definicin y concepto.


Un sistema operativo es el programa que oculta la verdad del hardware al programador y presenta una vista simple y agradable de los archivos nominados que pueden leerse y escribirse. Es sistema operativo resguarda al programador del hardware del disco y presenta una interfaz simple orientada al archivo, tambin disimula mucho del trabajo concerniente a interrupciones, relojes o cronmetros, manejo de memoria y otras caractersticas de bajo nivel. Desde su creacin, las computadoras digitales han utilizado un sistema de codificacin de instrucciones en sistema de numeracin binaria, es decir con los OS. Esto se debe a que los circuitos integrados funcionan con este principio, es decir, hay corriente o no hay corriente. En el origen de la historia de las computadoras (hace unos cuarenta aos), los sistemas operativos no existan y la introduccin de un programa para ser ejecutado se converta en un increble esfuerzo que solo poda ser llevado a cabo por muy pocos expertos. Esto hacia que las computadoras fueran muy complicadas de usar y que se requiriera tener altos conocimientos tcnicos para operarlas. Era tan complejo su manejo, que en algunos casos el resultado llegaba a ser desastroso. El sistema operativo, es el instrumento indispensable para hacer de la computadora un objeto til. Bajo este nombre se agrupan todos aquellos programas que permiten a los usuarios la utilizacin de este enredo de cables y circuitos, que de otra manera serian difciles de controlar. Un sistema operativo se define como un conjunto de procedimientos manuales y automticos, que permiten a un grupo de usuarios compartir una instalacin de computadora eficazmente.

Existen diversas definiciones de lo que es un Sistema Operativo, pero no hay una definicin exacta, es decir una que sea estndar; a continuacin se presentan algunas: 1.- Se pueden imaginar un Sistema Operativo como los programas, instalados en el software o firmware, que hacen utilizable el hardware. El hardware proporciona la "capacidad bruta de cmputo"; los sistemas operativos ponen dicha capacidad de cmputo al alcance de los usuarios y administran cuidadosamente el hardware para lograr un buen rendimiento.

2.- Los Sistemas Operativos son ante todo administradores de recursos; el principal recurso que administran es el hardware del computador; adems de los procesadores, los medios de almacenamiento, los dispositivos de entrada/salida, los dispositivos de comunicacin y los datos. 3.- Un Sistema Operativo es un programa que acta como intermediario entre el usuario y el hardware del computador y su propsito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo principal de un Sistema Operativo es, lograr que el sistema de computacin se use de manera cmoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente. 4.- Un Sistema Operativo es un conjunto de programas que controla la ejecucin de programas de aplicacin y acta como una interfaz entre el usuario y el hardware de una computadora, esto es, un Sistema Operativo explota y administra los recursos de hardware de la computadora con el objeto de proporcionar un conjunto de servicios a los usuarios del sistema.

1.2 Funciones y caractersticas.


La funcin del sistema operativo es la de presentar al usuario con el equivalente de una mquina ampliada o mquina virtual que sea ms fcil de programar que el hardware implcito. Interpreta los comandos que permiten al usuario comunicarse con el ordenador. Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse. Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas. Gestiona los errores de hardware y la prdida de datos. Servir de base para la creacin del software logrando que equipos de marcas distintas funcionen de manera anloga, salvando las diferencias existentes entre ambos. Configura el entorno para el uso del software y los perifricos; dependiendo del tipo de mquina que se emplea, debe establecerse en forma lgica la disposicin y caractersticas del equipo. Como por ejemplo, una microcomputadora tiene fsicamente dos unidades de disco, puede simular el uso de otras unidades de disco, que pueden ser virtuales utilizando parte de la memoria principal para tal fin. En caso de estar conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los usuarios y es este quien controla los elementos o recursos que comparten. De igual forma, provee de proteccin a la informacin que almacena.

Funciones de los sistemas operativos.

1.- Aceptar todos los trabajos y conservarlos hasta su finalizacin. 2.- Interpretacin de comandos: Interpreta los comandos que permiten al usuario comunicarse con el ordenador. 3.- Control de recursos: Coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el Mouse. 4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas. 5.- Manejo de errores: Gestiona los errores de hardware y la prdida de datos. 6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que se reparten los procesos. Definir el orden. (Quien va primero y quien despus). 7.- Proteccin: Evitar que las acciones de un usuario afecten el trabajo que esta realizando otro usuario. 8.- Multiacceso: Un usuario se puede conectar a otra mquina sin tener que estar cerca de ella. 9.- Contabilidad de recursos: establece el costo que se le cobra a un usuario por utilizar determinados recursos.

Caractersticas de los sistemas operativos.

En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:
Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora. Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera ms eficiente posible. Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio. Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos. Relacionar dispositivos (gestionar a travs del Kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos perifricos, cuando el usuario as lo requiera. Organizar datos para acceso rpido y seguro. Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalacin y uso de las redes de computadoras. Procesamiento por bytes de flujo a travs del bus de datos. Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.

1.3 Evolucin histrica.

Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de vlvulas (primera generacin) a transistores (segunda generacin), a circuitos integrados (tercera generacin), a circuitos integrados de gran y muy gran escala (cuarta generacin). Cada generacin Sucesiva de hardware ha ido acompaada de reducciones substanciales en los costos, tamao, emisin de calor y consumo de energa, y por incrementos notables en velocidad y capacidad. Generacin Cero (dcada de 1940) Los primeros sistemas computacionales no posean sistemas operativos. Los usuarios tenan completo acceso al lenguaje de la maquina. Todas las instrucciones eran codificadas a mano.

Primera Generacin (dcada de 1950) Los sistemas operativos de los aos cincuenta fueron diseados para hacer mas fluida la transicin entre trabajos. Antes de que los sistemas fueran diseados, se perda un tiempo considerable entre la terminacin de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunan por grupos o lotes. Cuando el trabajo estaba en ejecucin, este tenia control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y lea e iniciaba el trabajo siguiente. Al inicio de los 50's esto haba mejorado un poco con la introduccin de tarjetas perforadas (las cuales servan para introducir los programas de lenguajes de mquina), puesto que ya no haba necesidad de utilizar los tableros enchufables. Adems el laboratorio de investigacin General Motors implement el primer sistema operativo para la IBM 701. Los sistemas de los 50's generalmente ejecutaban una sola tarea, y la transicin entre tareas se suavizaba para lograr la mxima utilizacin del sistema. Esto se conoce como sistemas de procesamiento por lotes de un slo flujo, ya que los programas y los datos eran sometidos en grupos o lotes. La introduccin del transistor a mediados de los 50's cambi la imagen radicalmente. Se crearon mquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque slo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podan dar el lujo de tenerlas. Para poder correr un trabajo (programa), tenan que escribirlo en papel (en Fortran o en lenguaje ensamblador) y despus se perforara en tarjetas. Enseguida se llevara la pila de tarjetas al cuarto de introduccin al sistema y la entregara a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigira a la impresora y

desprendera la salida y la llevara al cuarto de salida, para que la recogiera el programador. Segunda Generacin (a mitad de la dcada de 1960) La caracterstica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramacin, y los principios del multiprocesamiento. En los sistemas de multiprogramacin, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rpidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la maquina. La independencia de dispositivos aparece despus. Un usuario que desea escribir datos en una cinta en sistemas de la primera generacin tenia que hacer referencia especifica a una unidad de cinta particular. En la segunda generacin, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto nmero de pistas y cierta densidad. Se desarrollo sistemas compartidos, en la que los usuarios podan acoplarse directamente con el computador a travs de terminales. Surgieron sistemas de tiempo real, en que los computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. Tercera Generacin (mitad de dcada 1960 a mitad dcada de 1970) Se inicia en 1964, con la introduccin de la familia de computadores Sistema/360 de IBM. Los computadores de esta generacin fueron diseados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propsito de serlo todo para toda la gente. Eran sistemas de modos mltiples, algunos de ellos soportaban simultneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se haba construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho despus de lo que el planificador marcaba como fecha de terminacin. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. Cuarta Generacin (mitad de dcada de 1970 en adelante) Los sistemas de la cuarta generacin constituyen el estado actual de la tecnologa. Muchos diseadores y usuarios se sienten aun incmodos, despus de sus experiencias con los sistemas operativos de la tercera generacin. Con la ampliacin del uso de redes de computadores y del procesamiento en lnea los usuarios obtienen acceso a computadores alejados geogrficamente a travs de varios tipos de terminales. Los sistemas de seguridad se han incrementado mucho ahora que la informacin pasa a travs de varios tipos vulnerables de lneas de comunicacin. La clave de cifrado esta

recibiendo mucha atencin; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados. El porcentaje de la poblacin que tiene acceso a un computador en la dcada de los ochenta es mucho mayor que nunca y aumenta rpidamente. El concepto de maquinas virtuales es utilizado. El usuario ya no se encuentra interesado en los detalles fsicos de; sistema de computacin que esta siendo accedida. En su lugar, el usuario ve un panorama llamado maquina virtual creado por el sistema operativo. Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la informacin, y el trabajo de las bases de datos es hacer que esta informacin sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso.

1.4 Clasificacin.
CLASIFICACIN DE LOS SISTEMAS OPERATIVOS
Los sistemas operativos se clasifican en:

Sistemas operativos por lotes. Sistemas operativos multiprogramacin o de multitarea. Sistemas operativos multiusuario. Sistemas operativos de tiempo compartido. Sistemas operativos de tiempo real. Sistemas operativos distribuidos. Sistemas operativos de red. Sistemas operativos paralelos.

Sistemas operativos por lotes.


Los sistemas operativos por lotes requieren que la informacin est reunida en bloque o "lote" (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisin, segn el modelo de "primero en llegar primero en ser atendido". En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecucin. Cuando termina la ejecucin de un programa se carga un nuevo programa en la misma zona de memoria.

Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual est orientado a procesamiento cientfico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento acadmico. Algunas otras caractersticas con que cuentan los Sistemas Operativos por lotes son:

Requiere que el programa, datos y rdenes al sistema sean remitidos todos juntos en forma de lote. Permiten poca o ninguna interaccin usuario/programa en ejecucin. Mayor potencial de utilizacin de recursos que procesamiento serial simple en sistemas multiusuarios. No conveniente para desarrollo de programas por bajo tiempo de retorno y depuracin fuera de lnea. Conveniente para programas de largos tiempos de ejecucin (Ej., anlisis estadsticos, nminas de personal, etc.). Se encuentra en muchos computadores personales combinados con procesamiento serial. Planificacin del procesador sencilla, tpicamente procesados en orden de llegada. Planificacin de memoria sencilla, generalmente se divide en dos: parte residente del S.O. y programas transitorios. No requieren gestin crtica de dispositivos en el tiempo. Suelen proporcionar gestin sencilla de manejo de archivos: se requiere poca proteccin y ningn control de concurrencia para el acceso.

Figura. Trabajos ms comunes que realiza el Sistema Operativo por lotes.

Sistemas operativos multiprogramacin o de multitareas.


Los sistemas de multiprogramacin son capaces de soportar dos o ms procesos concurrentes mltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o ms procesos. Estos sistemas implican la operacin de multiproceso, para el manejo de la informacin. Se caracterizan principalmente por un gran nmero de programas activos simultneamente que compiten por los recursos del sistema, como el procesador, la memoria, y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema. Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.

Las caractersticas de un Sistema Operativo de multiprogramacin o multitarea son las siguientes:


Mejora productividad del sistema y utilizacin de recursos. Multiplexa recursos entre varios programas. Generalmente soportan mltiples usuarios (multiusuarios). Proporcionan facilidades para mantener el entorno de usuarios individuales. Requieren validacin de usuario para seguridad y proteccin. Proporcionan contabilidad del uso de los recursos por parte de los usuarios. Multitarea sin soporte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real. Sistemas multiprocesadores son sistemas multitareas por definicin ya que soportan la ejecucin simultnea de mltiples tareas sobre diferentes procesadores. En general, los sistemas de multiprogramacin se caracterizan por tener mltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos perifricos.

Sistemas operativos multiusuario.


Los sistemas operativos multiusuario permiten acceder simultneamente a un sistema de computadoras a travs de dos o ms terminales. Este tipo de sistema operativo es fundamental en el manejo de redes de computadoras actualmente.

Sistemas operativos de tiempo compartido


Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresin a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y proteccin de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o retirar la

asignacin a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El administrador de archivos proporciona proteccin y control en el acceso de la informacin, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos. Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10. Caractersticas de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, Ej.: sistemas de diseo asistido por computador, procesamiento de texto, etc. Dan la ilusin de que cada usuario tiene una mquina para s. Mayora utilizan algoritmo de reparto circular. Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y disminuye despus de concedido el servicio. Evitan monopolizacin del sistema asignando tiempos de procesador (time slot). Gestin de memoria proporciona proteccin a programas residentes. Gestin de archivo debe proporcionar proteccin y control de acceso debido a que pueden existir mltiples usuarios accesando a un mismo archivo.

Sistemas operativos de tiempo real


Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo general, estn subutilizados sus recursos con la finalidad de prestar atencin a los procesos en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos. Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores. Tambin en el ramo automovilstico y de la electrnica de consumo, las

aplicaciones de tiempo real estn creciendo muy rpidamente. Otros campos de aplicacin de los Sistemas Operativos de tiempo real son los siguientes:

Control de trenes. Telecomunicaciones. Sistemas de fabricacin integrada. Produccin y distribucin de energa elctrica. Control de edificios. Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes caractersticas:

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de ciertos plazos. Se utilizan en control industrial, conmutacin telefnica, control de vuelo, simulaciones en tiempo real., aplicaciones militares, etc. Objetivo es proporcionar rpidos tiempos de respuesta. Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso. Proceso se activa tras ocurrencia de suceso, mediante interrupcin. Proceso de mayor prioridad expropia recursos. Por tanto generalmente se utiliza planificacin expropiativa basada en prioridades. Gestin de memoria menos exigente que tiempo compartido, usualmente procesos son residentes permanentes en memoria. Poblacin de procesos esttica en gran medida. Poco movimiento de programas entre almacenamiento secundario y memoria. Gestin de archivos se orienta ms a velocidad de acceso que a utilizacin eficiente del recurso.

Sistemas Operativos distribuidos.


Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es transparente para el usuario. Existen dos esquemas bsicos de stos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de remplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Caractersticas de los Sistemas Operativos distribuidos:

Coleccin de sistemas autnomos capaces de comunicacin y cooperacin mediante interconexiones hardware y software. Gobierna operacin de un S.C. y proporciona abstraccin de mquina virtual a los usuarios. Objetivo clave es la transparencia. Generalmente proporcionan medios para la comparticin global de recursos. Servicios aadidos: denominacin global, sistemas de archivos distribuidos, facilidades para distribucin de clculos (a travs de comunicacin de procesos internodos, llamadas a procedimientos remotos, etc.).

Sistemas Operativos de red.


Son aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red ms ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Figura. Se muestra un Sistema Operativo en red.

Sistemas Operativos paralelos.

En estos tipos de Sistemas Operativos se pretende que cuando existan dos o ms procesos que compitan por algn recurso se puedan realizar o ejecutar al mismo tiempo. En UNIX existe tambin la posibilidad de ejecutar programas sin tener que atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un mismo usuario). As, en lugar de esperar a que el proceso termine de ejecutarse (como lo hara normalmente), regresa a atender al usuario inmediatamente despus de haber creado el proceso. Ejemplos de estos tipos de Sistemas Operativos estn: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.

1.5 Estructura (niveles o estratos de diseo).


Internamente los sistemas operativos estructuralmente de se clasifican segn como se hayan organizado internamente en su diseo, por esto la clasificacin ms comn de los S.O. son:

Sistemas monolticos:
En estos sistemas operativos se escriben como un conjunto de procedimientos, cada uno de los cuales puede llamar a cualquiera de los otros siempre que lo necesite. Cuando se emplea esta tcnica, cada procedimiento del sistema tiene una interfaz bien definida en trminos de parmetros y resultados, y cada una tiene la libertad de llamar a cualquiera otra, si la ltima ofrece algn clculo til que la primera necesite. Para construir el programa objeto real del sistema operativo cuando se usa este mtodo, se compilan todos los procedimientos individuales a archivos que contienen los procedimientos y despus se combinan todos en un solo archivo objeto con el enlazador. En trminos de ocultamiento de informacin, esencialmente no existe ninguno; todo procedimiento es visible para todos (al contrario de una estructura que contiene mdulos o paquetes, en los cuales mucha informacin es local a un mdulo y slo pueden llamar puntos de registro designados oficialmente del exterior del mdulo) Esta organizacin sugiere una estructura bsica del sistema operativo: 1.- Un programa central que invoque el procedimiento de servicio solicitado (Shell o Kernel). 2.- Un conjunto de procedimientos de servicios que realice las llamadas al sistema. 3.- Un conjunto de procedimientos de uso general que ayude a los procedimientos de servicio.

Sistemas en estratos:
Estos sistemas operativos se organizan como una jerarqua de estratos, cada uno construido arriba del que est debajo de l. El primer sistema construido en esta forma fuel el sistema THE que se fabric en Technische Hogeschool Eindhoven de Holanda por E. W Dijkstra (1968) y sus alumnos. El sistema THE era un sistema de lote para una computadora alemana, la Electrolgica X8, que tena 32K de palabras de 27 bits (los bits eran costosos en aquellos das) El sistema tena 6 estratos, estos se muestran en la siguiente tabla:

5 4 3 2 1 0

Operador de THE Programas del usuario Administracin de Entrada/Salida Comunicacin entre el operador y el proceso Administracin de la memoria y el tambor magntico Distribucin del procesador y multiprogramacin

El estrato 0 trabajaba con la distribucin del procesador, cambiando entre procesos cuando ocurran interrupciones o los relojes expiraban. Sobre el estrato 0, el sistema constaba de procesos secuenciales, cada uno de los cuales poda programarse sin tener que preocuparse por el hecho de que mltiples procesos estuvieran corriendo en un solo procesador. En otras palabras, el estarto 0 ofreca la multiprogramacin bsica de la CPU. El estrato 1 realizaba el manejo de memoria. Este distribua espacio para procesos contenidos en la memoria central y en un tambor de 512K palabras que se usaba para contener partes de procesos (pginas) para las cuales no haba espacio en la memoria central. Sobre el estrato 1, los procesos no tena que preocuparse de si estaban en la memoria o en el tambor; el software del estrato 1 se haca cargo de asegurar que las pginas se trajeran a la memoria siempre que se necesitaran.

El estrato 2 manejaba la comunicacin entre cada proceso y la consola de operador. El estrato 3 se haca cargo de manejar los dispositivos de E/S y de separar la informacin en flujo que entraba y sal de ellos. Sobre el estrato 3 cada proceso poda trabajar con dispositivos de E/S abstractos con propiedades agradables, en vez de dispositivos reales con muchas peculiaridades El estrato 4 era donde se encontraban los programas de los usuarios. No tenan que preocuparse por el manejo de los procesos, memoria, consola o E/S. El proceso operador del sistema se localizaba en el estrato 5.

Estructura por microkernel.

Las funciones centrales de un so son controladas por el ncleo (Kernel) mientras que la interfaz del usuario es controlada por el entorno (Shell). Por ejemplo, la parte ms importante del dos es un programa con el nombre "command.com" este programa tiene dos partes. El Kernel, que se mantiene en memoria en todo momento, contiene el cdigo mquina de bajo nivel para manejar la administracin de hardware para otros programas que necesitan estos servicios, y para la segunda parte del command.com el Shell, el cual es el interprete de comandos.

Las funciones de bajo nivel del so y las funciones de interpretacin de comandos estn separadas, de tal forma que puedes mantener el Kernel dos corriendo, pero utilizar una interfaz de usuario diferente. Esto es exactamente lo que sucede cuando cargas Microsoft Windows, el cual toma el lugar del Shell, remplazando la interfaz de lnea de comandos con una interfaz grfica del usuario. Existen muchos "Shell" diferentes en el mercado, ejemplo: nodos (Norton dos), xtg, pc tools, o inclusive el mismo so ms-dos a partir de la versin 5.0 incluy un Shell llamado dos Shell.

Estructura por anillos concntricos (capas). El sistema por "capas" consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la inmediata inferior. El primer sistema construido de esta manera fue el sistema THE (Technische Hogeschool Eindhoven), desarrollado en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema tenia 6 capas, como se muestra en la figura 3. La capa 0 trabaja con la asignacin del procesador y alterna entre los procesos cuando ocurren las interrupciones o expiran los cronmetros. Sobre la capa 0, el sistema consta de procesos secunciales, cada uno de los cuales se podra programar sin importar que varios procesos estuvieran ejecutndose en el mismo procesador, la capa 0 proporcionaba la multiprogramacin bsica de la CPU. La capa 1 realizaba la administracin de la memoria. Asignaba el espacio de memoria principal para los procesos y un recipiente de palabras de 512K se utilizaba para almacenar partes de los procesos (pginas) para las que no exista lugar en la memoria principal. Por encima de la capa 1, los procesos no deban preocuparse si estaban en la memoria o en el recipiente; el software de la capa 1 se encargaba de garantizar que las pginas llegaran a la memoria cuando fueran necesarias. La capa 2 se encargaba de la comunicacin entre cada proceso y la consola del operador. Por encima de esta capa, cada proceso tiene su propia consola de operador. La capa 3 controla los dispositivos de E/S y guarda en almacenes (buffers) los flujos de informacin entre ellos. Por encima de la capa 3, cada proceso puede trabajar con dispositivos exactos de E/S con propiedades adecuadas, en vez de dispositivos reales con muchas peculiaridades. La capa 4 es donde estaban los programas del usuario, estos no tenan que preocuparse por el proceso, memoria, consola o control de E/S. el proceso operador del sistema se localizaba en la capa 5 Una generalizacin mas avanzada del concepto de capas se presento en el sistema MULTICS. En lugar de capas, MULTICS estaba organizado como una serie de anillos concntricos, siendo los anillos interiores los privilegiados. Cuando un procedimiento de un anillo exterior deseaba llamar a un procedimiento de un anillo interior, debi hacer el equivalente a una llamada al sistema.

5 4 3 2 1 0

El operador Programas del usuario Control de entrada/salida Comunicacin operador-proceso Administracin de la memoria y del disco Asignacin del procesador y multiprogramacin

Figura 3. Estructura del sistema operativo THE.

Estructura Jerrquica.

A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organizacin del software, del sistema operativo, donde una parte del sistema contena subpartes y esto organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos. Se constituy una estructura jerrquica o de niveles en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utiliz con fines didcticos. Se puede pensar tambin en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa categora.

En la estructura anterior se basan prcticamente la mayora de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concntricos o "rings".

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas ms internas del sistema operativo o ncleo del sistema estarn ms protegidas de accesos indeseados desde las capas ms externas. Las capas ms internas sern, por tanto, ms privilegiadas que las externas.

Mquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una mquina que parece idntica a la mquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramacin y la mquina extendida. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser varias mquinas diferentes.

El ncleo de estos sistemas operativos se denomina monitor virtual y tiene como misin llevar a cabo la multiprogramacin, presentando a los niveles superiores tantas mquinas virtuales como se soliciten. Estas mquinas virtuales no son mquinas extendidas, sino una rplica de la mquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que ser el que ofrezca la mquina extendida al usuario

1.6 Ncleo.
El Ncleo del Sistema Operativo. Todas las operaciones en las que participan procesos son controladas por la parte del sistema operativo denominada ncleo (nucleus, core o kernel, en ingls). El ncleo normalmente representa slo una pequea parte de lo que por lo general se piensa que es todo el sistema operativo, pero es tal vez el cdigo que ms se utiliza. Por esta razn, el ncleo reside por lo regular en la memoria principal, mientras que otras partes del sistema operativo son cargadas en la memoria principal slo cuando se necesitan. Los ncleos se disean para realizar "el mnimo" posible de procesamiento en cada interrupcin y dejar que el resto lo realice el proceso apropiado del sistema, que puede operar mientras el ncleo se habilita para atender otras interrupciones.

El ncleo de un sistema operativo normalmente contiene el cdigo necesario para realizar las siguientes funciones: Manejo de interrupciones. Creacin y destruccin de procesos. Cambio de estado de los procesos. Despacho. Suspensin y reanudacin de procesos. Sincronizacin de procesos. Comunicacin entre procesos. Manipulacin de los bloques de control de procesos. Apoyo para las actividades de entrada/salida.

Apoyo para asignacin y liberacin de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema. Ncleo o Kernel y niveles de un Sistema Operativo.

El Kernel consiste en la parte principal del cdigo del sis0tema operativo, el cual se encargan de controlar y administrar los servicios y peticiones de recursos y de hardware con respecto a uno o Varios procesos, este se divide en 5 capas:

Nivel 1. Gestin de Memoria: que proporciona las facilidades de bajo nivel para la gestin de memoria secundaria necesaria para la ejecucin de procesos. Nivel 2. Procesador: Se encarga de activar los cuantums de tiempo para cada uno de los procesos, creando interrupciones de hardware cuando no son respetadas. Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los dispositivos de E/S requeridos por procesos. Nivel 4. Informacin o Aplicacin o Intrprete de Lenguajes: Facilita la comunicacin con los lenguajes y el sistema operativo para aceptar las rdenes en cada una de las aplicaciones. Cuando se solicitan ejecutando un programa el software de este nivel crea el ambiente de trabajo e invoca a los procesos correspondientes. Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a largo plazo y manipulacin de archivos con nombre, va asignando espacio y acceso de datos en memoria. El ncleo y los procesos.

El ncleo (Kernel) de un sistema operativo es un conjunto de rutinas cuya misin es la de gestionar el procesador, la memoria, la entrada/salida y el resto de procesos disponibles en la instalacin. Toda esta gestin la realiza para atender al funcionamiento y peticiones de los trabajos que se ejecutan en el sistema. Los procesos relacionados con la entidad bsica de los sistemas operativos actuales: Los procesos. El esquema general del mismo es el siguiente: Definicin y concepto de proceso. El Bloque de Control de Proceso (PCB) como imagen donde el sistema operativo ve el estado del proceso. Estados por los que pasa un proceso a lo largo de su existencia en la computadora. Operaciones que se pueden realizar sobre un proceso. Clasificacin de los procesos segn su forma de ejecucin, de carga, etc.

2.1 Concepto de proceso


Un proceso es un programa en ejecucin. Un proceso simple tiene un hilo de ejecucin. Los procesos pueden ser cooperantes o independientes, en el primer caso se entiende que los procesos interactan entre s y pertenecen a una misma aplicacin. En el caso de procesos independientes en general se debe a que no interactan y un proceso no requiere informacin de otros o bien porque son procesos que pertenecen a distintos usuarios.

Proceso: Un programa en ejecucin; la ejecucin del proceso debe progresar de manera secuencial. Nuevo: El proceso es creado. Ejecucin: Se ejecutan instrucciones. Espera: El proceso est en espera por la ocurrencia de algn evento. Listo: El proceso est esperando a que le asignen el procesador. Terminado: El proceso finaliza su ejecucin.

2.2 Estados y transiciones de los procesos


Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En ejecucin y Bloqueado. Un proceso puede variar entre 5 distintos estados: New: cuando el proceso est siendo creado. Running: cuando el proceso se est ejecutando. Waiting: cuando el proceso est esperando que se cumpla algn otro evento. Ready: cuando el proceso esta pronto para ejecutar, esperando por la CPU.

Terminated: cuando el proceso est terminado. Los procesos se pueden encontrar en tres estados.

Transicin: El paso de un estado a otro. 1. El proceso se bloquea en la entrada. 2. El planificador elige otro proceso. 3. El planificador elige este proceso. 4. La entrada se vuelve disponible.

En estos tres estados son posibles cuatro transiciones:

1. Ocurre cuando un proceso descubre que no puede continuar. En algn sistema el proceso debe ejecutar una llamada al sistema, BLOCK, para entrar en estado bloqueado. 2. (2 y 3). Son ocasionadas por el planificador del proceso, que es parte del sistema operativo sin que el proceso llegue a saber de ella. 3. Ocurre cuando el planificador decide que el proceso en ejecucin ya ha corrido el tiempo suficiente y es tiempo de permitir que otro proceso tome tiempo de CPU. 4. Ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de que el primer proceso vuelva a correr. 5. Ocurre cuando aparece el evento externo que estaba esperando un proceso (como el arribo de alguna entrada). Si ningn otro proceso corre en ese instante, la transicin 3 se activar de inmediato y el proceso iniciara su ejecucin, de lo contrario tendr que esperar, en estado listo.

2.3 Procesos ligeros (hilos o hebras)


Los hilos o procesos ligeros son una parte de cdigo o miniprograma que puede ser ejecutada independientemente, de forma que una aplicacin o un applet puede tener varios hilos ejecutndose simultneamente y efectuando distintas tareas; estos hilos se encuentran dentro de un programa y son parte de l. Pueden ser utilizados para la implementacin de algoritmos paralelos o procesos concurrentes, sin ser necesario disponer de equipos con estructura de multiprocesador. Multiproceso se refiere a dos programas que se ejecutan "aparentemente" a la vez, bajo el control del sistema operativo. Multihilo se refiere a que dos o ms tareas se ejecutan "aparentemente" a la vez, dentro de un mismo programa.

2.4 Concurrencia y secuenciabilidad


Es la existencia de varias actividades ejecutndose simultneamente, y necesitan sincronizarse para actuar conjuntamente. Se trata, en este caso, de un concepto lgico, ya que slo hace referencia a las actividades, sin importar el nmero de procesadores presentes.

Para que dos actividades, sean concurrentes, es necesario que tengan relacin entre s, como puede ser la cooperacin en un trabajo determinado o el uso de informacin compartida.

Exclusin Mutua. Consiste en garantizar que durante la ejecucin de una regin crtica los recursos compartidos solo se asignen a uno y solo a uno de los procesos. Si un recurso compartido es una variable, la exclusin mutua asegura que a lo ms un proceso a la vez ha accedido a ella durante la actualizacin crtica que conduce a valores temporalmente inestables. Consecuentemente los otros procesos ven solamente valores estables de las variables compartidas. Con los dispositivos compartidos la necesidad para la exclusin mutua puede ser incluso ms obvia cuando uno considera el problema que puede provocar sus usos.

Para tener una solucin adecuada a la regin crtica se necesita que se cumplan cuatro condiciones: 1. Nunca dos procesos pueden encontrarse simultneamente dentro de sus regiones crticas. 2. No se hacen suposiciones acerca de las velocidades relativas de los procesos o del Nmero de CPU. 3. Ningn proceso suspendido fuera de la regin crtica debe bloquear a otros procesos. 4. Nunca un proceso debe querer entrar en forma arbitraria en su regin crtica.

Sincronizacin. En procesos concurrentes, la ejecucin de un proceso se desarrolla en forma asncrona respecto a los otros. Sin embargo cuando dos, o ms procesos necesitan entrar en regin crtica, es necesario que exista una sincronizacin entre ellos a fin de garantizar que al menos uno y solo un proceso entrar en regin crtica. Si una actividad desea impedir que otra acceda a ciertos datos compartidos, mientras no se cumpla una determinada condicin, debemos sincronizar las actividades con dicha condicin. Por tanto, la sincronizacin es un elemento necesario para asegurar la exclusin mutua.

Problemas clsicos de sincronizacin. Este tipo de problemas constituyen ejemplos de una amplia clase de problemas de control de concurrencia. Estos problemas se utilizan para probar casi todos los esquemas de sincronizacin propuestos. En las soluciones se emplean semforos para la solucin.

* El problema de buffer limitado. Supongamos que el depsito consiste en n buffers, cada uno capaz de almacenar un elemento. El semforo MUTEX proporciona la exclusin mutua para los accesos al depsito de buffers y se le asigna un valor inicial de 1. Los semforos vacos y llenos cuentan el nmero de buffers vacos y llenos, respectivamente. El semforo vaco recibe 1 un valor inicial n; al semforo lleno se le asigna el valor inicial 0.

* El problema de los lectores y escritores. Un objeto de datos (como un archivo o un registro) va a ser compartido por varios procesos concurrentes. Algunos de estos procesos slo quieren leer el contenido del objeto compartido, mientras que otros quieren actualizarlos (o sea, leerlo y escribirlo), hacemos una distincin entre estos dos tipos de procesos refirindonos a los procesos interesados slo en leer como lectores y escritores y a los dems como escritores. Obviamente, el que dos lectores tengan acceso simultneo al objeto de datos compartido no tendr ningn efecto adverso; sin embargo, si un escritor y otro proceso (ya sea lector o escritor) tiene acceso simultneo al objeto compartido, puede surgir el caos. Para asegurar que no surjan estas dificultades, es necesario que los escritores tengan acceso exclusivo al objeto compartido. A este problema de sincronizacin se le conoce como problema de los lectores y escritores, el cual es ha utilizado para probar casi todas las nuevas primitivas de sincronizacin.

* El problema de los filsofos comensales. Cinco filsofos pasan su vida comiendo u pensando. Los filsofos comparten una mesa circular rodeada por cinco sillas, una para cada uno de ellos. En el centro de la mesa se encuentra una fuente de arroz, y tambin sobre la mesa hay cinco palillos chinos. Cuando un filsofo piensa, no interacta con sus colegas. Ocasionalmente, un filsofo tiene hambre y trata de coger los dos palillos que estn ms cerca de l (los palillos colocados entre l y sus vecinos de la derecha y de la izquierda). Un filsofo slo puede coger un palillo a la vez y, obviamente, no puede ser el que esta en la mano de un vecino. Cuando un filsofo ambiento tiene sus dos palillos al mismo tiempo come sin soltarlos. Cuando termina de comer, coloca ambos palillos sobre la mesa y comienza a pensar otra vez.

* Problema del productor consumidor. En un contexto de procesos concurrentes, se tiene un conjunto de procesos productores de mensajes y otro conjunto de procesos consumidores de mensajes. La zona donde se depositarn y recogern los mensajes es un buffer de tamao n (n localidades).

Semforos: Son una herramienta de sincronizacin. Existen bsicamente dos tipos de semforos: Semforos contadores: Toman valores positivos mayores o iguales a 0. Se utilizan para sincronizacin de procesos. Semforos binarios: Toman los valores 0 1 y se utilizan para exclusin mutua. Monitor: Un monitor es un tipo de datos abstracto que contiene: un conjunto de procedimientos de control de los cuales solamente un subconjunto es visible desde fuera. un conjunto de datos privados, es decir, no visibles desde fuera.

Deadlocks Si un conjunto de procesos est en estado de espera por recursos y nunca cambia de estado porque los recursos por los que espera estn siendo utilizados por otros procesos en estado de espera tenemos un DEADLOCK. Los recursos son la memoria, dispositivos de E/S, semforos, archivos, etc. La forma en que un proceso hace uso de un recurso es: Solicitud: si el recurso est disponible se le otorga, si no el proceso pasa a estado de espera. Uso: El proceso utiliza el recurso Liberacin: el proceso debe liberar el recurso. Condiciones Necesarias para que se produzca DEADLOCK.

2.5 Niveles, objetivos y criterios de planificacin.


Planificacin de procesos La planificacin es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La seleccin del proceso se basa en alguno de los algoritmos de planificacin que se describen ms abajo. Expulsin Es la caracterstica por el cual el sistema operativo puede o no expulsar del estado de ejecucin a un proceso dado. En este sentido entonces tenemos la planificacin apropiativa en la cual el sistema operativo puede cortar en cualquier momento la ejecucin de un proceso y la planificacin no apropiativa en la cual una vez que el proceso est en ejecucin el sistema operativo no puede sacarlo de ese estado. Objetivos de la planificacin *Los objetivos de la planificacin de proceso son: *Equidad, todos los procesos deben poder ejecutarse *Eficacia, mantener ocupada la CPU un 100% del tiempo *Tiempo de respuesta, minimizar el tiempo de respuesta al usuario *Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados *Rendimiento, maximizar el nmero de tareas procesadas por hora.

Algoritmos de planificacin Los algoritmos de planificacin son los que definen que poltica se va a seguir para que un proceso pase al estado de ejecucin. Planificacin Round-Robin En este tipo de planificacin cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecucin en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento. Planificacin por prioridad En la planificacin round-robin todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificacin a cada proceso se le asigna una prioridad y los mismos son ejecutados Colas mltiples Las colas mltiples estn basadas en una pila que sirve como ndice de una lista de procesos que se tienen que ejecutar. Primero el trabajo ms corto Este tipo de algoritmo de planificacin se usa para trabajos en batch o de procesamiento or lotes en los cuales se puede saber cual es el tiempo de duracin de la ejecucin de cada proceso y entonces se puede seleccionar primero el trabajo ms corto. El problema que se presenta con ste algoritmo es que los grandes procesos podran sufrir de inanicin dado que cualquier proceso pequeo se "cuela" sobre uno de mayor tamao y como resultado final se podra dar el caso que el proceso grande nunca obtenga procesamiento. Planificacin garantizada En este modelo de planificacin se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecucin de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecucin de los procesos y balancear el tiempo que estn utilizando el procesador para cumplir con la ecuacin previa.

2.6 Tcnicas de administracin del planificador

Planificacin a plazo fijo.

En la planificacin a plazo fijo, ciertos trabajos se planifican para ser terminados en un periodo especfico. Estos trabajos tienen un alto valor si se entregan a tiempo y pueden carecer de valor si se entregan despus del lmite. La planificacin a plazo fijo es compleja por muchas razones:

* Los usuarios deben proporcionar por adelantado y en forma precisa las necesidades de recursos de su trabajo. Tal informacin rara vez est disponible. * El sistema debe ejecutar el programa de plazo fijo sin una severa degradacin de servicio para los otros usuarios. * El sistema debe planificar cuidadosamente las necesidades de recursos permitiendo un libre trnsito del plazo fijo. Esto puede ser difcil debido a la llegada de programas nuevos con demandas impredecibles.

Planificacin Primero en llegar - Primero en Salir (FIFO).

Es la disciplina ms simple. Los procedimientos son despachados de acuerdo al orden de llegada a la cola de listos. Una vez que un proceso tiene el CPU, se ejecuta hasta su terminacin. Esta planificacin es No apropiativa; es justa en el sentido formal, pero algo injusta porque los grandes procesos hacen esperar a trabajos pequeos y, los trabajos sin importancia hacen esperar a los trabajos importantes.

Planificacin Round Robin (RR).

En esta planificacin. Los procesos son despachados en FIFO, pero, se les otorga una cantidad limitada de tiempo de CPU llamada divisin de tiempo (time - slice) o cuanto (quantum). Si un proceso no termina antes de que se termine su tiempo de CPU, el CPU

es apropiado y asignado al siguiente proceso en espera. El proceso apropiado se coloca al final de la lista de listos.

QUEVES: El esquema operativo de un planificador de dos niveles es como sigue: Se carga en la memoria principal cierto subconjunto de los procesos ejecutables. El planificador se restringe a ellos durante cierto tiempo. Peridicamente se llama a un planificador de nivel superior para efectuar las siguientes tareas: Eliminar de la memoria los procesos que hayan permanecido en ella el tiempo suficiente. Cargar a memoria los procesos que hayan estado en disco demasiado tiempo. El planificador de nivel inferior se restringe de nuevo a los procesos ejecutables que se encuentren en la memoria. El planificador de nivel superior se encarga de desplazar los procesos de memoria a disco y viceversa.

Bibliografa:
http://html.rincondelvago.com/sistemas-operativos_29.html

http://www.es.embnet.org/Doc/ECJ/ECJ-1998-02/dbpipes.es.html

http://html.rincondelvago.com/sistemas-operativos_26.html

http://labsopa.dis.ulpgc.es/prog_c/IPC.HTM

http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_211.html
http://www.ittehuacan.edu.mx/lolguin/Procesos_final.doc http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_411.html http://www.monografias.com/trabajos20/paradigmas-de-programacion/paradigmas-deprogramacion.shtml

http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_212.html
http://eduadis.itlapiedad.edu.mx/~hocegueras/so1/so1_214.html

También podría gustarte