Académique Documents
Professionnel Documents
Culture Documents
Apuntes. Capítulo II
SISTEMAS OPERATIVOS
Procesos
Concepto de proceso [DEIT93] [LIST86] [TANE93]
Durante su vida, un proceso puede pasar por una serie de estados discretos,
algunos de ellos son:
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Cambio de Proceso
distinción entre cambio de contexto y cambio de proceso. Por último, ¿qué debe
hacer el sistema operativo con las diferentes estructuras de datos bajo su control
para llevar a cabo un cambio de proceso?
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Monoprogramación y Multiprogramación
La mayoría de los sistemas operativos utilizan una técnica de gestión del
procesador denominada multiprogramación, o una variante de ésta llamada tiempo
compartido. Los primeros sistemas operativos gestionaban el procesador
mediante otra técnica llamada monoprogramación (utilizada en los monitores de
batch de flujo único). En este apartado comentaremos el por qué se evolucionó de
la monoprogramación a la multiprogramación. Antes de entrar en esta discusión
vamos a ver cómo se realizan las operaciones de entrada/salida (E/S), es decir,
las operaciones que permiten la comunicación con los dispositivos de E/S.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Monoprogramación
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Fin Mientras
Obsérvese que esta forma de realizar las operaciones de E/S nos lleva a una
situación en la que en un momento dado se tiene que, o bien la CPU está
ejecutando instrucciones de un programa que no son de E/S, y los dispositivos de
E/S están ociosos, o bien un único dispositivo de E/S está trabajando, mientras la
CPU está en un ciclo comprobando si ha finalizado la operación. Esto se ilustra en
la figura 6.1, donde los rectángulos rellenos a trazas representan el ciclo de
comprobación. Para dar una medida de la infrautilización de los recursos que
conlleva esta forma de realizar las E/S, piénsese que en el tiempo en que una
impresora imprime una línea, la CPU, en lugar de ejecutar el ciclo de
comprobación que aparece líneas más arriba, podría ejecutar millones de
instrucciones de otro programa. A esta forma de realizar la E/S de los sistemas de
monoprogramación se le llama E/S controlada por programa.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Multiprogramación
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Hay que destacar el hecho de que cuanto menos se llame al dispatcher menos
tiempo ocupa la CPU un programa del sistema operativo, y, por tanto, se dedica
más tiempo a los procesos del usuario (un cambio de proceso lleva bastante
tiempo).
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
acertado en sistemas por lotes en los que los programas no son interactivos. Sin
embargo, en un sistema de tiempo compartido no es adecuado, pues un proceso
que se dedicara a realizar cálculos, y no realizara E/S, monopolizaría el uso de la
CPU. En estos sistemas hay que tener en cuenta el conjunto de todos los
procesos, activándose el dispatcher con la circunstancia tercera y, posiblemente,
la cuarta. Los sistema operativos en que las dos siguientes circunstancias no
provocan la activación del dispatcher muestran preferencia por el proceso en
ejecución, si no ocurre esto se tiene más en cuenta el conjunto de todos los
procesos.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
El scheduling está muy relacionado con la gestión de los recursos. Existen tres
niveles de scheduling, como se ilustra en la figura 1 de planificación, estos niveles
son:
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
En general, hay que maximizar los dos primeros parámetros y minimizar los tres
últimos. Sin embargo, estos objetivos son contradictorios, el dedicar más tiempo
de CPU a los usuarios se hace a costa de llamar menos al algoritmo de
planificación (menos cambios de proceso), y de simplificarlo. Esto provoca que la
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Así pues, dependiendo de los objetivos se elegirá cierto algoritmo. En los sistemas
por lotes suele primar el rendimiento del sistema, mientras que en los sistemas
interactivos es preferible minimizar, por ejemplo, el tiempo de espera.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Cuando se tiene que elegir a qué proceso asignar la CPU se escoge al que llevara
más tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea
voluntariamente.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
¿Exactamente dónde, entre cero e infinito, debe fijarse el tamaño del cuanto? La
respuesta es, lo bastante grande como para que la mayoría de las peticiones
interactivas requieran menos tiempo que la duración del cuanto.
Al igual que en el algoritmo FIFO las ráfagas se ejecutan sin interrupción, por
tanto, sólo es útil para entornos batch. Su característica es que cuando se activa el
planificador, éste elige la ráfaga de menor duración. Es decir, introduce una noción
de prioridad entre ráfagas. Hay que recordar que en los entornos batch se pueden
hacer estimaciones del tiempo de ejecución de los procesos.
La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el
tiempo de finalización promedio, como puede verse en el siguiente ejemplo:
Ej: Supongamos que en un momento dado existen tres ráfagas listos R1,
R2 y R3, sus tiempos de ejecución respectivos son 24, 3 y 3 ms. El proceso
al que pertenece la ráfaga R1 es la que lleva más tiempo ejecutable,
seguido del proceso al que pertenece R2 y del de R3. Veamos el tiempo
medio de finalización (F) de las ráfagas aplicando FIFO y SJF:
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Para aclarar un poco todo esto, supongamos que en un entorno UNIX se ejecuta
la orden
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Los procesos también necesitan comunicarse entre sí. Por ejemplo, para leer de
un fichero, los procesos de usuario deben decir al proceso que gestiona los
ficheros lo que desean. Este, a su vez, debe pedirle al proceso de disco que lea
los bloques necesarios. Cuando el shell conecta dos procesos con un tubo, los
datos de salida del primer proceso se transfieren al segundo. Se necesita que los
procesos se comuniquen entre sí, con un mecanismo bien estructurado y no por
medio de interrupciones.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
CLAVE SALDO
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
3. Que ningún proceso que esté fuera de su sección crítica pueda bloquear
a otros.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
El lector podría pensar: "si los filósofos esperaran un tiempo arbitrario, en vez del
mismo tiempo, después de que no pudieran coger el tenedor derecho, la
probabilidad de que todo quedara bloqueado, incluso una hora, sería muy
pequeña". Esta observación es correcta, pero en ciertas aplicaciones se desea
una solución que funcione siempre, y no que pueda funcionar bien con gran
probabilidad. (Piense en el control de seguridad de una planta nuclear).
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
El programa utiliza un vector de semáforos, uno por filósofo, de forma que los
filósofos hambrientos puedan bloquearse si los tenedores necesarios están
ocupados. Observe que cada proceso ejecuta el procedimiento filósofo como
programa principal, pero los demás procedimientos, coger_tenedores,
dejar_tenedores y prueba, son procedimientos ordinarios y no procesos
separados.
El problema de la cena de los filósofos es útil para modelar procesos que compiten
por el acceso exclusivo a un número limitado de recursos, como una unidad de
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
En esta solución, el primer lector que obtiene el acceso a la base de datos realiza
un wait sobre el semáforo bd. Los lectores siguientes sólo incrementan un
contador, nl. Al salir los lectores, éstos decrementan el contador, y el último en
salir realiza un signal sobre el semáforo, lo que permite entrar a un escritor
bloqueado, si existe.
Una hipótesis implícita en esta solución es que los lectores tienen prioridad sobre
los escritores. Si surge un escritor mientras varios lectores se encuentran en la
base de datos el escritor debe esperar. Pero si aparecen nuevos lectores, y queda
al menos un lector accediendo a la base de datos, el escritor deberá esperar hasta
que no haya más lectores interesados en la base de datos.
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008
Sistemas Operativos I
Apuntes. Capítulo II
Grupo 91R221
UTP/F.I.S.C. –Panamá Oeste
2008