Вы находитесь на странице: 1из 35

1

TEORA DE LOS SISTEMAS OPERATIVOS

GESTIN Y ADMINISTRACIN DE PROCESOS


1. DESCRIPCIN Y CONTROL DE PROCESOS.

El diseo de un sistema operativo debe reflejar con claridad y seguridad los requisitos que se
pretende que ste cumpla. Teniendo en cuenta que la mayor parte de los sistemas operativos son
multiprogramados, una de sus funciones esenciales es dar soporte a aquellas tareas construidas en
torno al concepto de proceso, que representa la unidad de trabajo en el sistema.
Se denomina proceso a una instancia de un programa en ejecucin, si bien un mismo
programa puede dar lugar a varios procesos. Cada proceso ocupa un espacio en memoria y maneja
unos determinados datos, pero para el sistema operativo un proceso no es sino un conjunto de
estructuras de datos que se deben gestionar.
Los requisitos principales que debe satisfacer un sistema operativo, en lo relativo a los
procesos, son los siguientes:

Intercalar la ejecucin de un conjunto de procesos para maximizar la utilizacin del


procesador, ofreciendo a la vez un tiempo de respuesta razonable.
Asignar los recursos a los procesos de acuerdo con una poltica especfica, es decir, en
funcin de ciertos criterios conocidos y previamente determinados.
Responder a las solicitudes de servicios bsicos relacionados con los procesos que
realizan las aplicaciones de usuario.
Proporcionar al usuario mecanismos para la creacin y finalizacin de procesos, as como
para la comunicacin y sincronizacin entre los mismos.

Puesto que el proceso es un concepto fundamental para la mayora de los requisitos clave de
los sistemas operativos, este tema estudia la forma en que se representa la informacin necesaria para
controlar los procesos en los sistemas operativos. Para ello se analizarn, en primer lugar, las
estructuras de datos necesarias para que los sistemas operativos representen el estado de los
procesos, as como otras caractersticas y atributos de los mismos que resultan necesarias para que el
sistema operativo alcance sus objetivos. A continuacin se analizar ms profundamente el concepto
real de proceso, realizando un estudio de los dos conceptos esenciales de un proceso: el relativo a la
propiedad de los recursos y el que se refiere a la ejecucin. Esta distincin ha producido algunos
cambios en el desarrollo de los sistemas operativos, introduciendo una estructura conocida como
hilo (thread) y dando lugar a las estructuras actuales de monohilo y multihilo. Posteriormente, se
examinarn los distintos estados por los que pueden pasar los procesos, que caracterizan el
comportamiento de los mismos y que servirn de base para la planificacin de los mismos. A
continuacin se detallan los algoritmos que se pueden utilizar para la planificacin de los procesos.
Finalmente, se analizarn las diversas formas de controlar los procesos en los sistemas operativos y
los distintos conceptos expuestos en este tema.
2. DESCRIPCIN DE PROCESOS

El sistema operativo debe ser capaz de controlar todos los sucesos que se producen en un sistema
informtico. Por tanto, es necesario que planifique e introduzca los procesos en el procesador,
asignando los recursos necesarios a los procesos y respondiendo a las solicitudes de servicios
realizadas por las aplicaciones de usuario.
Como ya se ha dicho, el sistema operativo funciona esencialmente como una entidad que
administra los recursos del sistema (tiempo de CPU, memoria, dispositivos de E/S, etc.) y el uso que
de dichos recursos hacen los distintos procesos. En un entorno de multiprogramacin existir un
nmero variable de procesos (P1, P2, , Pn) que han sido creados y que por tanto existen en la
memoria. Durante el curso de su ejecucin, cada proceso necesita tener acceso a ciertos recursos del
sistema, entre los que se incluyen el procesador, los dispositivos de E/S y la memoria interna. Los
APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

GESTIN Y ADMINISTRACIN DE PROCESOS

detalles de gestin de estos recursos por parte del sistema operativo para la ejecucin de los distintos
procesos se estudiar posteriormente.
PROCESOS

P1

P2

E/S

E/S

. . . . . . . . . . . . . . .

Pn

RECURSOS
PROCESADOR

E/S

MEMORIA

2.1. Estructuras de control del sistema operativo.


Para llevar a cabo la administracin de procesos y recursos, el sistema operativo debe disponer de la
informacin necesaria sobre el estado actual de cada proceso y de cada uno de los recursos
disponibles. Para ello mantiene varias estructuras de datos con la informacin necesaria de cada
entidad administrada. De un modo general pueden enumerarse las siguientes: tablas de memoria,
Tablas de dispositivos de entrada/salida, tablas de archivos y tablas de procesos.

TABLAS DE

IMAGEN DE

MEMORIA

LOS PROCESOS
PROCESO 1

MEMORIA

TABLAS DE
DISPOSITIVOS

DISPOSITIVOS E/S
FICHEROS

TABLAS DE
ARCHIVOS

PROCESO 2
.

PROCESOS
TABLA DE PROCESOS

PROCESO 1

PROCESO 2

.
.
PROCESO n

PROCESO n

Figura XXX. Estructuras de control del sistema operativo

APUNTES DE SISTEMAS OPERATIVOS

TEORA DE LOS SISTEMAS OPERATIVOS

Las tablas de memoria se utilizan para controlar los procesos situados en la memoria interna
y en el almacenamiento secundario. En este aspecto ser preciso tener en cuenta que una parte de la
memoria principal est reservada para el uso del sistema operativo y el resto est disponible para el
uso de los procesos. Los procesos se mantienen en el almacenamiento secundario mediante alguna
forma de memoria virtual o por un simple mecanismo de intercambio.
Las tablas de memoria deben incluir la siguiente informacin:

Asignacin de memoria principal a los procesos.


Asignacin del almacenamiento secundario a los procesos.
Atributos de proteccin para los espacios de la memoria, que permitan determinar cules
son los procesos que pueden acceder a ciertas regiones compartidas de memoria.
Otras informaciones necesarias para gestionar la memoria.

Las tablas de E/S son utilizadas por el sistema operativo para administrar los controladores y
los canales de E/S, pues en un momento determinado un dispositivo de E/S puede estar o bien
disponible o bien asignado a un proceso en particular. Adems, si hay una operacin de E/S en
marcha, el sistema operativo necesita conocer el estado de dicha operacin y las posiciones de
memoria que est utilizando como origen y/o destino para las transferencias de informacin.
Las tablas de archivos ofrecen al sistema operativo informacin sobre la existencia de los
archivos, su posicin en la memoria secundaria, su estado actual y otros atributos. Una gran parte de
esta informacin es mantenida y utilizada por el sistema de gestin de archivos. En algunos sistemas
operativos el gestor de archivos es independiente y esta informacin es, por tanto, externa.
Finalmente, las tablas de procesos permiten al sistema operativo administrar y controlar los
procesos, con el objeto de conocer dnde est ubicado cada proceso y los atributos necesarios para
su administracin.
2.2. Representacin fsica de la imagen de un proceso
Antes de analizar la ubicacin de los procesos y los atributos que son necesarios para su
administracin, es preciso abordar una cuestin importante: la representacin fsica de la imagen de
un proceso.
Un proceso est formado por las instrucciones del programa o conjunto de procedimientos
que tienen que ser ejecutados, junto con los datos que manejan los mismos (variables locales y
globales, constantes definidas, etc.). Por lo tanto, un proceso necesitar memoria suficiente para
albergar sus instrucciones y sus datos. Adems, en la ejecucin de un proceso normalmente se utiliza
una pila para llevar la cuenta tanto de las llamadas a procedimientos como de los parmetros que se
pasan entre los mismos. Por ltimo, asociada a cada proceso existe una estructura de datos que el
sistema operativo utiliza para su control. A dicha estructura, que almacena informacin importante
sobre el proceso, se conoce como bloque de control del proceso (PCB, del ingls Process Control
Block). El conjunto de programa, datos, pilas y PCB, es lo que se conoce como imagen de un
proceso.
Las instrucciones, los datos y las pilas se almacenan en la memoria de procesos de usuario,
mientras que el PCB, al ser una estructura de gestin ajena al propio proceso, se almacena en la
memoria destinada al sistema operativo. La ubicacin concreta de la imagen de un proceso depende
del esquema de gestin de memoria utilizado. En el caso ms sencillo posible la imagen del proceso
se guarda como un bloque contiguo de memoria que se mantiene en el almacenamiento secundario,
normalmente en disco. No obstante, para que el sistema operativo pueda administrar y controlar un
proceso, al menos una pequea parte de su imagen, la que contiene la informacin a utilizar por el
sistema operativo, debe mantenerse en la memoria principal. Eso s, para ejecutar el proceso debe
cargarse en la memoria principal la imagen completa, para lo cual el sistema operativo necesita
APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

GESTIN Y ADMINISTRACIN DE PROCESOS

conocer la ubicacin de cada proceso en el disco y tambin la ubicacin del resto de los procesos que
estn en la memoria principal.
En la figura XXX se representa la estructura de la informacin de ubicacin. Tal y como se
muestra, existe una tabla principal de procesos con una entrada para cada proceso, cada una de las
cuales contiene, al menos, un puntero a la imagen de un proceso. Para permitir una gestin ms
eficiente, las cuatro tablas estn enlazadas entre s mediante punteros que permiten, por ejemplo,
acceder desde los datos de un proceso a los dispositivos de E/S que ste maneja.
2.3. Bloque de control del proceso (PCB)
Para administrar cada proceso, los sistemas multiprogramados requieren una gran cantidad de
informacin. Dicha informacin reside en el denominado bloque de control del proceso, que es la
estructura de datos central y ms importante de un sistema operativo en lo relativo a la gestin de
procesos. El PCB contiene toda la informacin necesaria sobre un proceso, para que el sistema
operativo pueda efectuar el control de los mismos en todo momento. Los elementos bsicos que
contienen la informacin de un bloque de control del proceso se pueden agrupar en tres categoras:
a) Identificacin del proceso.
b) Informacin de estado del procesador.
c) Informacin de control del proceso.
En cuanto a la informacin sobre identificacin, aunque puede variar en funcin del sistema
operativo de que se trate, los elementos ms significativos son los que figuran a continuacin:

Identificador del proceso.


Identificador del proceso que cre este proceso (denominado proceso padre), y de los
procesos hijos, si existen.
Identificador del usuario.

La informacin de estado del procesador comprende los datos necesarios para la continuacin del
proceso tras una interrupcin. Cuando se produce un cambio de contexto, el proceso que se est
ejecutando debe ceder el procesador; en ese momento el sistema operativo copia los valores
almacenados en los registros del procesador en el PCB del proceso saliente y actualiza los registros
del procesador con los valores del nuevo proceso. La naturaleza y el nmero de registros a guardar
vara segn el diseo del procesador, aunque los elementos ms habituales son:

Contador del programa.


Registros especiales del procesador, que conjuntamente definen el estado del sistema
operativo. La mayor parte de los diseos de procesadores incluyen un registro o conjunto
de registros, conocidos como palabra estado del programa (PSW, del ingls Program
Status Word), que contiene la informacin de estado del sistema.
Punteros a las Pilas. Cada proceso tiene asociada una o ms pilas tipo LIFO, que se
utilizan para almacenar las direcciones de llamada y retorno a los procedimientos.

Finalmente, la informacin de control del proceso contiene los datos necesarios para que el sistema
operativo pueda controlar y coordinar los diferentes procesos activos. Naturalmente, segn se realice
el anlisis los diferentes detalles de funcionalidad de los sistemas operativos, se ver con ms claridad
la necesidad de todos estos datos. Esta informacin es la siguiente:

Estado del proceso


Informacin de Planificacin
Prioridad del proceso.
Otra informacin de planificacin (depende del algoritmo de planificacin utilizado).

APUNTES DE SISTEMAS OPERATIVOS

TEORA DE LOS SISTEMAS OPERATIVOS

Suceso que est esperando (si el proceso est en espera).


Comunicacin entre procesos
Indicadores.
Seales.
Mensajes.
Privilegios
Memoria a la que se puede acceder.
Tipo de instrucciones que se pueden ejecutar.
Utilizacin de servicios y utilidades del sistema.
Gestin de memoria
Tablas de descripcin de particiones.
Tablas de pginas.
Tablas de segmentos.
Tablas de espacios disponibles.
Recursos controlados por el proceso, tales como los archivos o sockets abiertos.
Informacin de auditora
Historial de uso del procesador o de otros recursos.
Momento de su ltima ejecucin.
Una cuestin importante de diseo debe ser el control de las rutinas del sistema operativo que
necesitarn acceder a la informacin de los PCB. El acceso en s no es complicado, pues cada
proceso est dotado de un nico identificador que puede utilizarse como ndice en una tabla de
punteros a los bloques de control de procesos. El problema reside en la necesidad de establecer
protecciones para controlar el acceso a los PCB, problema que se puede abordar exigiendo a todas
las rutinas del sistema operativo el paso por una rutina de gestin, cuya nica tarea sera la de
proteger los bloques de control de procesos.
3. PROCESOS E HILOS.

En el concepto actual de proceso se han incluido dos caractersticas fundamentales:

Unidad de propiedad de los recursos, segn la cual a cada proceso se le asigna un espacio de
direcciones en el almacenamiento secundario para albergar la imagen del proceso. Gracias a ello,
al proceso se le pueden asignar el procesador, la memoria y otros recursos, tales como canales de
E/S, dispositivos de E/S y archivos.
Unidad de expedicin, segn la cual un proceso representa un camino de ejecucin (denominado
traza) constituido por una secuencia de instrucciones, a travs de uno o ms procedimientos.
Esta ejecucin puede ser intercalada con la de otros procesos, por lo que un proceso puede tener
un estado de ejecucin o de no ejecucin y una prioridad de expedicin. La unidad planificada
y expedida por el sistema operativo es el proceso.

En la mayora de sistemas operativos, estas dos caractersticas son la esencia de un proceso.


Sin embargo, existen argumentos que sealan que estas caractersticas pueden ser independientes y
por lo tanto, que pueden ser tratadas por el sistema operativo por separado.
En ciertos sistemas operativos, en particular los de desarrollo ms reciente, la unidad de
expedicin se conoce como hilo1 o proceso ligero, mientras que a la unidad de propiedad de los
recursos se la denomina proceso o tarea. As, la utilizacin ms comnmente aceptada del concepto
de hilo es la de una disposicin que permite varios hilos dentro de un mismo proceso. Este enfoque
es utilizado, por ejemplo, en los sistemas operativos de la familia Windows NT de Microsoft, OS/2
de IBM y en algunas versiones recientes de Linux. Segn este modelo, en un proceso puede haber
uno o ms hilos, cada uno con la siguiente informacin:
Un estado de ejecucin o de no ejecucin del hilo
1

Tambin es habitual en la literatura el empleo del trmino hebra como traduccin del trmino ingls thread.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

GESTIN Y ADMINISTRACIN DE PROCESOS

El contexto del procesador, que debe salvarse cuando el hilo no se est ejecutando.
Una pila de ejecucin.
Un almacenamiento esttico para almacenar las variables locales.
El acceso a la unidad propietaria de los recursos del proceso, los cuales se comparten con
el resto de hilos del proceso.

3.1. Programacin multihilo: ventajas e inconvenientes


El trmino multihilo (o multihebra), hace referencia a la capacidad de un sistema operativo para
mantener varios hilos de ejecucin dentro de un mismo proceso. Consecuentemente, se denomina
tcnica monohilo al enfoque tradicional donde existe un nico hilo de ejecucin por proceso (es
decir, donde en realidad no existe el concepto de hilo).
Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento, ya que se
tarda mucho menos en crear un nuevo hilo en un proceso existente, que en crear un nuevo proceso.
Lgicamente, tambin se requiere menos tiempo para terminar un hilo de lo que se necesitara para
terminar un proceso completo.
Respecto a la planificacin de procesos, tambin resulta ms fcil cambiar entre dos hilos de
un mismo proceso que cambiar entre dos procesos distintos. De este modo, si hay una aplicacin o
una funcin que pueda implementarse como un conjunto de unidades de ejecucin relacionadas, es
ms eficiente modelarlo como un conjunto de hilos que como varios procesos separados. Un ejemplo
de aplicacin que podra hacer uso de los hilos es un servidor de archivos de una red de rea local.
Cada vez que llegue una solicitud de un nuevo archivo, se puede generar un nuevo hilo en el
programa de gestin de archivos. Como el servidor debe gestionar muchas solicitudes, se crearn y
destruirn muchos hilos en un corto periodo de tiempo.
Si la plataforma sobre la que se ejecuta un proceso es multiprocesador, se pueden ejecutar
simultneamente varios hilos de una misma tarea en diferentes procesadores. No obstante, los hilos
son tambin tiles en los monoprocesadores, pues permiten simplificar la estructura de aquellos
programas que llevan a cabo diversas funciones.
Otra forma en la que los hilos aportan eficiencia es en la comunicacin entre diferentes
procesos, ya que en la mayora de los sistemas operativos la comunicacin entre procesos
independientes requiere la intervencin del ncleo, tanto para ofrecer la seguridad necesaria como
para proporcionar los mecanismos para la comunicacin. Sin embargo los hilos de una misma tarea
comparten memoria y archivos, por lo que pueden comunicarse fcilmente entre s sin necesidad de
invocar al ncleo.
Los siguientes ejemplos ilustran el uso de los hilos en un sistema de multitarea:
Trabajo interactivo y de fondo (background) que se produce en el sentido de la
interaccin con el usuario, no en el de sesiones interactivas y de fondo. Por ejemplo, en un
programa de hoja de clculo, un hilo puede estar visualizando los mens y leyendo la
entrada del usuario mientras que otro hilo ejecuta las ordenes y actualiza la hoja de
clculo. Esta medida aumenta la sensacin de velocidad de la aplicacin, pues permite que
el programa pida la orden siguiente antes de terminar la anterior.
Proceso asncrono, en el cual los elementos asncronos se pueden implementar como
hilos. As por ejemplo, para protegerse de un corte de alimentacin, se puede disear un
procesador de textos que escriba su buffer de la RAM al disco una vez por minuto,
creando un hilo cuya nica tarea sea hacer copias de respaldo peridicas. Dicho hilo
puede planificarlo directamente el sistema operativo, evitando as la necesidad de
introducir cdigo superfluo en el programa principal para la comprobacin de tiempo o
para coordinar la entrada y la salida.
APUNTES DE SISTEMAS OPERATIVOS

TEORA DE LOS SISTEMAS OPERATIVOS

Aceleracin de la ejecucin, donde un proceso con hilos mltiples puede procesar un lote
de datos mientras lee el lote siguiente de un dispositivo. De este modo, en un sistema con
multiproceso, varios hilos de un mismo proceso se podran ejecutar a la vez.
Organizacin de los programas, ya que todos aquellos programas que realizan mltiples
actividades o que tienen una gran variedad de orgenes y destinos de entrada y salida,
pueden hacerse ms fciles de disear e implementar mediante hilos.

La planificacin y la expedicin en un sistema multihilo se llevan a cabo a travs de hilos, por


lo que la mayor parte de la informacin de estado relacionada con la ejecucin se mantiene en
estructuras de datos relacionadas con los hilos. Sin embargo, aquellas acciones que afectan a todos
los hilos de una tarea son gestionadas por el sistema operativo en el nivel de proceso. As por
ejemplo, la suspensin implica la descarga del espacio de direcciones fuera de la memoria principal.
Como todos los hilos de una tarea o proceso comparten el mismo espacio de direcciones, todos
deben entrar en el estado suspendido al mismo tiempo. De un modo similar, la terminacin de un
proceso supone terminar con todos los hilos dentro de dicho proceso.
4. ESTADOS DE UN PROCESO

La misin principal del procesador es ejecutar un conjunto de instrucciones, que residen en la


memoria principal, estas instrucciones estn en forma de programas, procedimientos o rutinas, que
contienen una cierta secuencia de instrucciones.
Como se ha expresado anteriormente, por razones de eficiencia y facilidad de utilizacin, se
puede intercalar la ejecucin de un conjunto de programas en el tiempo, por lo tanto, se ejecutarn
instrucciones de programas diferentes en funcin del valor cambiante de un registro del procesador,
conocido como Contador de Programa, es decir, PC, Program Counter.
A lo largo del tiempo, este contador puede apuntar al cdigo de programas diferentes, que
son parte de diferentes aplicaciones. Desde el punto de vista de un programa individual, su ejecucin
involucra una secuencia de instrucciones del programa y se denomina proceso o tarea.
El comportamiento de un proceso individual puede caracterizarse, por la representacin de la
secuencia de instrucciones, que se ejecutan para dicho proceso y a esta representacin se la
denomina traza del proceso.
La responsabilidad principal del sistema operativo, es el control de la ejecucin de los
procesos, determinando el criterio que se utilizar para la intercalacin de las trazas de los procesos,
as como la asignacin de los recursos, que necesitan para su ejecucin.
Si suponemos que en un momento determinado, tenemos tres procesos en la memoria listos
para ejecutarse, segn un algoritmo determinado, el procesador podr ir ejecutando estos procesos
simultneamente, intercalando las trazas de cada uno de los procesos.
MEMORIA PRINCIPAL
OK
SISTEMA
OPERATIVO
50K

CONTADOR DE
PROGRAMA

PROCESO A
80K
ESP. LIBRE
90K
PROCESO B
140K

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

GESTIN Y ADMINISTRACIN DE PROCESOS


PROCESO C
190K
ESP. LIBRE
200K

Para poder disear y construir el sistema operativo de una forma efectiva, se necesita tener un
modelo claro del comportamiento de un proceso, con objeto de disear un programa, que controle
los procesos segn el modelo establecido.
El modelo ms sencillo que podemos establecer, sera el que tiene en cuenta que, en un
momento determinado, un proceso puede estar ejecutndose en el procesador o en espera de poder
hacerlo, por lo tanto segn este modelo, los estados en que se puede encontrar un proceso seran:

Ejecucin.
No ejecucin.

Este modelo se puede representar grficamente de la siguiente manera:


ENTRADA

EXPEDIR

NO EJECUCIN

EJECUCIN

SALIDA

PAUSA

En este modelo, cuando el sistema operativo crea un nuevo proceso, este queda situado en el
estado de No ejecucin; de este modo el proceso existe, es conocido por el sistema operativo y
est esperando la oportunidad de ejecutarse, de cuando en cuando, el proceso que se esta ejecutando
ser interrumpido y el programa distribuidor del sistema operativo seleccionar un nuevo proceso,
para que se ejecute. El proceso que se interrumpe pasa al estado de No ejecucin y uno de los
procesos que estn a la espera, pasar al estado de ejecucin.
Este modelo tan simple puede servir de introduccin, para construir un modelo ms
complejo, sin embargo en este modelo, ya se pueden apreciar algunos elementos de diseo del
sistema operativo, como pueden ser, que cada proceso debe representarse de forma que, el sistema
operativo pueda seguirle la pista, esto es, debe haber informacin relativa a cada proceso, incluyendo
su estado actual y su posicin en memoria y adems aquellos procesos que no se estn ejecutando,
tienen que guardarse en algn tipo de cola, para que esperen su turno de ejecucin.
ENTRADA

COLA DE ESPERA

EXPEDIR

CPU

SALIDA

PAUSA

Antes de intentar refinar este simple modelo de dos estados, podramos precisar algo sobre la
creacin y finalizacin de los procesos, independientemente del modelo que se emplee, para el
comportamiento de los procesos, ya que la vida de un proceso, esta limitada por su creacin y su
terminacin.
Respecto a la creacin de los procesos se puede decir, que cuando se aade un proceso a los
que ya esta administrando el sistema operativo, hay que construir las estructuras de datos, que se
utilizan para el control y administracin del proceso asignndole un espacio de direcciones en el
almacenamiento secundario para situar la imagen del proceso.
Estas acciones constituyen la creacin de un proceso, tal y como se ha expresado
anteriormente, por lo tanto, la creacin de un proceso se puede realizar, en funcin de los sucesos
que figuran a continuacin:

APUNTES DE SISTEMAS OPERATIVOS

TEORA DE LOS SISTEMAS OPERATIVOS

En un entorno de trabajo por lotes, un proceso se crea como respuesta a la introduccin


de un trabajo por algn dispositivo, bien sea local o remoto.
En un entorno interactivo, un proceso se crea cuando un nuevo usuario se conecta al
sistema para la realizacin de una sesin de trabajo.
El sistema operativo crea un proceso en respuesta a la peticin de un servicio por una
aplicacin que esta ejecutando. Por ejemplo, si una aplicacin solicita la impresin de un
archivo, el sistema operativo crear un proceso que gestionar dicha impresin y esto le
permitir a la aplicacin demandante continuar, independientemente del tiempo que tarde
en terminar la tarea de impresin.
Tradicionalmente, todos los procesos eran creados por el sistema operativo de una forma
transparente al usuario o el programa de aplicacin y es as como todava se mantiene en
la mayora de los sistemas operativos actuales; sin embargo, puede ser til, permitir que
un proceso pueda originar la creacin de otro proceso.

Ejemplo: Un servidor de impresin o un servidor de archivos, puede crear un proceso por


cada solicitud que reciba. Cuando un proceso genera otro, el proceso generador se conoce
como proceso padre y el proceso generado es el proceso hijo, normalmente estos procesos
necesitarn comunicarse y cooperar entre s, entrando en una tarea compleja y difcil para el
programador, que se estudiar en el prximo curso.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

10

GESTIN Y ADMINISTRACIN DE PROCESOS

Respecto a la finalizacin de los procesos se podra decir que, en cualquier sistema operativo,
debe existir algn modo, para indicar que un proceso ha terminado y esto ocurrir de diferentes
formas segn el entorno en el que estamos trabajando:

En un entorno de trabajo por lotes debe existir una instruccin, que produzca una llamada
al sistema operativo para la finalizacin.
En un entorno interactivo, es la accin del usuario la que indica cuando termina la sesin
de trabajo. Por ejemplo, en un sistema de tiempo compartido, la sesin de trabajo de un
usuario particular terminar, cuando este se desconecte del sistema o apague el terminal.
En un ordenador personal o una estacin de trabajo, el usuario puede abandonar una
aplicacin en un momento determinado, como por ejemplo un procesador de textos o una
hoja de clculo.

Todas estas acciones provocan una peticin de servicio al sistema operativo, para terminar
con el proceso que se estaba ejecutando, pero adems, pueden existir condiciones de fallo, que nos
pueden conducir a una terminacin anormal del proceso. Por ltimo, en algunos sistemas operativos,
un proceso puede ser eliminado por el proceso que lo cre o al terminar el proceso padre.
Teniendo en cuenta las consideraciones expuestas, podemos introducirnos en un modelo ms
complejo como puede ser un modelo de cinco estados en el que se supone que un proceso, adems
del estado de ejecucin puede estar en otros estados que pasaremos a comentar.
Si todos los procesos estuvieran siempre listos para ejecutarse, entonces la disciplina de cola
de espera expuesta para el modelo de dos estados sera eficaz, ya que la cola es una lista primero en
entrar primero en salir (FIFO, First-In, First-Out) y el procesador opera segn un turno rotatorio
(RR, Round-Robin) con todos los procesos disponibles, es decir, a cada proceso de la cola se le
otorga una cierta cantidad de tiempo para ejecutar y luego vuelve a la cola, a menos que se bloquee,
sin embargo, aun en el simple ejemplo que se ha descrito no es adecuada.
Lgicamente, puede ocurrir que algunos procesos en el estado de No ejecucin estn listos
para ejecutarse, mientras que otros estn bloqueados, esperando a que termine una operacin de E/S.
De esta manera, utilizando una cola sencilla, el distribuidor del sistema operativo, podra no
seleccionar exactamente el proceso que esta en la cola en primer lugar y por lo tanto, recorrer la lista
buscando el primer proceso que no este bloqueado.
Una forma ms natural de afrontar esta situacin es dividir el estado de No ejecucin en
dos estados: Listo y bloqueado. Adems ser preciso incorporar otros dos estados para los procesos
que se crean y los que finalicen.
NUEVO

ADMITIR

LISTO

OCURRE EL
SUCESO

ADMITIR

COLA DE LISTOS

EXPEDIR
FIN DE PLAZO
BLOQUEADO

EJECUCIN

LIBERAR

TERMINADO

ESPERA DE
UN SUCESO

A EJECUCIN

CPU

LIBERAR

FIN DE PLAZO
OCURRE
EL SUCESO

ESPERA UN SUCESO
COLA DE BLOQUEADOS

Esta situacin da origen a los cinco estados que se representan grficamente en el diagrama
anterior y que pueden ser definidos como se expresa a continuacin:
APUNTES DE SISTEMAS OPERATIVOS

11

TEORA DE LOS SISTEMAS OPERATIVOS

Ejecucin, que indica el proceso que se encuentra actualmente en el procesador. En un


sistema informtico puede existir un solo procesador o varios procesadores, de momento
para mayor sencillez, se podra considerar, que un solo proceso puede estar en ejecucin
en un momento determinado.
Listo para ejecutarse, indicando que el proceso esta preparado para la ejecucin en cuanto
se le d la oportunidad.
Bloqueados, indicando que el proceso no puede ejecutarse, hasta que se produzca cierto
suceso, como la terminacin de una operacin de E/S.
Nuevo, indicando que el proceso acaba de crearse, pero aun no ha sido admitido por el
sistema operativo, en el grupo de procesos ejecutables.
Terminado, indicando que el proceso ha sido excluido por el sistema operativo, del grupo
de procesos ejecutables, bien porque se detuvo o porque fue abandonado por alguna
razn.

Los estados Nuevo y Terminado, son construcciones tiles para la gestin de procesos y
tienen el significado que expresamos a continuacin.
El estado Nuevo corresponde a los procesos que acaban de ser definidos. Por ejemplo, si un
nuevo usuario intenta conectarse a un sistema de tiempo compartido o tambin si un nuevo trabajo
batch es remitido para su ejecucin, el sistema operativo puede definir un nuevo proceso, realizando
algunas tareas necesarias para su gestin interna, asocindole un identificador y construyendo
algunas tablas necesarias para llevar a cabo su control.
Todo esto significa que el sistema operativo ha realizado las acciones necesarias para crear el
proceso pero no se ha comprometido an a su ejecucin, de esta manera, el sistema operativo, puede
limitar la cantidad de procesos que pueden estar en el sistema por razones de rendimiento o de
limitacin de memoria.
El estado Terminado corresponde a un proceso que sale del sistema. Esto ocurre cuando el
proceso llega al punto normal de terminacin, cuando se abandona debido a un error irrecuperable o
cuando otro proceso con la debida autoridad hace que el proceso abandone. La finalizacin pasa el
proceso al estado terminado, por lo tanto este proceso ya no se elige mas para la ejecucin, sin
embargo, las tablas y otras informaciones asociadas con el trabajo son conservadas temporalmente
por el sistema operativo y este tiempo es aprovechado por una serie de programas auxiliares o de
soporte para extraer la informacin necesaria.
Si volvemos al ejemplo planteado al principio para explicar el modelo de dos estados,
podemos obtener el diagrama correspondiente al modelo que estamos definiendo de cinco estados,
implementando si fuese necesario una disciplina de colas.
En este modelo tenemos dos colas, una de procesos listos para ejecutarse y otra para los
procesos que estn bloqueados; a medida que se van admitiendo procesos en el sistema se sitan en
la cola de listos para ejecutarse y cuando llega la hora de elegir un proceso para su paso a ejecucin,
el sistema operativo lo selecciona de esta cola.
En ausencia de un esquema de prioridades, esta puede ser una simple cola FIFO. Cuando un
proceso que esta ejecutando es apartado de la ejecucin o bien finaliza o bien se le coloca en la cola
de procesos bloqueados, en espera de que se produzca un determinado suceso, dependiendo de las
circunstancias del proceso.
Por ultimo cuando se produce un suceso, todos los procesos de la cola de bloqueados que
estaban esperando a dicho suceso, pasan a la cola de listos para ejecutarse.
Esta ultima medida significa que, cuando se produce el suceso, el sistema operativo debe
recorrer toda la cola de bloqueados, buscando aquellos procesos que esperan al suceso.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

12

GESTIN Y ADMINISTRACIN DE PROCESOS

En un sistema operativo grande, puede haber cientos o incluso miles de procesos en dicha
cola, por lo tanto, seria ms eficiente tener una serie de colas, una para cada suceso, en este caso,
cuando se produzca un suceso, la lista entera de procesos de la cola correspondiente al suceso,
puede pasarse al estado de listos para ejecutarse.
Si la expedicin de procesos esta dictada por un esquema de prioridades, entonces es
conveniente tener un cierto nmero de colas de listos para ejecutarse, una para cada nivel de
prioridad, de esta manera el sistema operativo, podr determinar fcilmente cual es el proceso de
prioridad ms alta que lleva ms tiempo esperando.
Procesos suspendidos.
Los tres estados principales expresados anteriormente (Listo, Ejecucin, Bloqueado), ofrecen
una forma sistemtica de modelar el comportamiento de los procesos y de guiar la implementacin
del sistema operativo.
Se han construido muchos sistemas operativos empleando solamente estos tres estados, sin
embargo, existe una buena justificacin para aadir ms estados al modelo. Para ver los beneficios de
estos nuevos estados, consideraremos un sistema que no utiliza la memoria virtual, por lo tanto,
todos los procesos de todas las colas deben estar residentes en la memoria principal.
Si nos apoyamos en los conceptos anteriormente expuestos, sobre la lentitud de las
operaciones de E/S en comparacin con la velocidad de ejecucin del procesador, puede ser habitual
que en un momento determinado, que todos los procesos situados en la memoria estn esperando
por una operacin de E/S.
Una solucin utilizada frecuentemente en los sistemas operativos, teniendo en cuenta la
limitacin de la memoria principal, es el intercambio de los procesos que estn situados en la
memoria principal, con los procesos que estn situados en el almacenamiento secundario.
Esta solucin tiene por objeto trasladar al almacenamiento secundario los procesos que estn
bloqueados, cuando en la memoria principal no existe ningn proceso listo para ejecutarse, dando
origen a un nuevo estado en el modelo de comportamiento de los procesos anteriormente descrito,
que es el estado Suspendido.
Cuando el sistema operativo ha realizado una operacin de intercambio, es decir, un proceso
que estaba en la memoria principal se lo ha llevado al almacenamiento secundario, existen dos
opciones para seleccionar el proceso, que se va a traer a la memoria principal. Una de ellas puede ser
introducir un nuevo proceso y la otra sera traer nuevamente a la memoria principal un proceso
previamente suspendido.
Normalmente la opcin ms eficaz sera traer un proceso suspendido, ya que introducir un
nuevo proceso, hara crecer la carga total de procesos en el sistema, sin embargo, no sera lgico
traer a la memoria principal un proceso bloqueado, que todava no esta listo para ejecutarse.
Esto nos obliga a pensar nuevamente sobre este aspecto del diseo y nos indica que es
preciso establecer una diferencia mas, es decir, distinguir dentro de los procesos que estn
suspendidos, los que estn suspendidos pero en el momento actual ha cesado la situacin de bloqueo
y los que estn suspendidos y continan con la situacin de bloqueo.
NUEVO
ADMITIR

EXPEDIR

LISTO

ACTIVAR

LISTO Y
SUSPENDIDO

EJECUTAR

EJECUCIN

FIN DE PLAZO
OCURRE EL
SUCESO

OCURRE EL
SUCESO
SUSPENDIDO

APUNTES DE SISTEMAS OPERATIVOS

ESPERA DE
UN SUCESO

LIBERAR

TERMINADO

13

TEORA DE LOS SISTEMAS OPERATIVOS


Y BLOQUEADO

SUSPENDER

BLOQUEADO

Estas consideraciones nos obligan a introducir dos estados ms en el modelo que estamos
desarrollando, incluyendo los estados:

Suspendido y listo.
Suspendido y bloqueado.

Hasta ahora, hemos identificado el concepto de proceso suspendido, con un proceso que esta
bloqueado en espera de un suceso determinado, sin embargo se puede generalizar este concepto de
proceso suspendido a otras situaciones:

El proceso que esta suspendido no esta disponible de inmediato para su ejecucin.


El proceso puede estar esperando un suceso determinado.
El proceso fue situado en el estado suspendido, por una situacin determinada, con el fin
de impedir su ejecucin.
El proceso no puede apartarse de esta situacin hasta que se le ordene explcitamente.

Las razones fundamentales para la suspensin de procesos son las siguientes:

Intercambio, cuando el sistema operativo necesita liberar suficiente memoria principal


para cargar un proceso que esta listo para ejecutarse.
Solicitud de un usuario, cuando el usuario quiere suspender la ejecucin de un programa
con fines de depuracin.
Por tiempo, cuando un proceso que puede ejecutarse peridicamente, puede ser
suspendido mientras espera el siguiente intervalo de tiempo.
Solicitud del proceso padre, cuando el proceso padre decide suspender la ejecucin de un
descendiente para coordinar la actividad de varios descendientes.
Por otras razones, cuando el sistema operativo decide suspender un proceso que puede
ser el causante de otros problemas.

PLANIFICACIN DE MONOPROCESADORES.

En un sistema multiprogramado con un solo procesador, la memoria principal contiene varios


procesos y cada uno alterna entre dos situaciones, el uso del procesador o la espera a que ocurra un
determinado suceso.
La clave de funcionamiento de este tipo de sistemas, est en la adecuada planificacin de
todos los sucesos que se producen en el sistema, entre los que se encuentran los recursos y los
servicios solicitados por el usuario, as como las operaciones de E/S, que se estudiarn ms tarde y la
planificacin de los procesos, que estudiaremos a continuacin en este mismo tema.
La planificacin de los procesos se divide en tres clases fundamentalmente:

Planificacin a largo plazo.


Planificacin a medio plazo.
Planificacin a corto plazo.

En este tema se tratar de analizar las relaciones que existen, entre estas clases de
planificacin y se ver que las planificaciones a largo plazo y medio plazo, estn orientadas hacia el
uno de los objetivos principales del sistema, en los aspectos de rendimiento relativos al grado de
multiprogramacin y se estudiarn con detalle, cuando se analice el tema de Gestin de Memoria,
por lo tanto, en este tema hay que centrarse en la planificacin a corto plazo, limitando el estudio de
la planificacin, a la existencia de un solo procesador y dejando para el prximo curso la complejidad
adicional que se produce con la presencia de varios procesadores.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

14

GESTIN Y ADMINISTRACIN DE PROCESOS

La planificacin a corto plazo, consiste en asignar los procesos al procesador, para que sean
ejecutados en algn momento, de forma que se cumplan objetivos del sistema tales como, el tiempo
de respuesta, la productividad y la eficiencia del procesador.
La figura que se expresa a continuacin relaciona las funciones de planificacin, con el
diagrama de transicin de estados de un proceso.
NUEVO
ADMITIR

ADMITIR

LISTO

PLANIFICACIN
LARGO PLAZO

LISTO Y
SUSPENDIDO

EJECUTAR

EJECUCIN

LIBERAR

TERMINADO

PLANIFICACIN
CORTO PLAZO

OCURRE EL FIN DE PLAZO


SUCESO
PLANIFICACIN A
OCURRE EL MEDIO PLAZO
SUCESO
SUSPENDIDO
Y BLOQUEADO
SUSPENDER
BLOQUEADO

ESPERA DE
UN SUCESO

La planificacin a largo plazo se lleva a cabo al crear un proceso nuevo y tiene por objeto
decidir si se debe aadir un proceso ms al conjunto de procesos activos. Para ello, es preciso
determinar cuales son los procesos admitidos en el sistema, controlando de esta manera el grado de
multiprogramacin.
Una vez admitido un trabajo o un proceso de usuario, se convierte en un proceso y es
aadido a la cola del planificador a corto plazo.
PLANIFICACIN

TRABAJOS

COLA DE LOTES

A LARGO
PLAZO

FIN DE PLAZO

POR LOTES

COLA DE LISTOS PLANIFICACIN


CORTO PLAZO
CPU

USUARIOS INTERACTIVOS

COLA DE LISTOS
Y SUSPENDIDOS

OCURRE EL SUSCESO
COLA DE SUSPENDIDOS

OCURRE EL
SUCESO

LIBERAR

PLANIFICACIN
A MEDIO
PLAZO

ESPERA UN
SUCESO
COLA DE BLOQUEADOS

En un sistema de proceso por lotes, los procesos recin incorporados permanecen en una cola
de procesamiento por lotes y el planificador a largo plazo crear los procesos a partir de la cola
cuando sea posible. Para ello el planificador primero debe decidir si el sistema operativo puede
acoger algn proceso ms y segundo decidir que trabajos sern los ms adecuados para convertirse
en procesos listos para ejecutarse.
La decisin de cuando crear un nuevo proceso viene dada, en general, por el grado de
multiprogramacin, ya que cuantos ms procesos se crean, menor es el porcentaje de tiempo, para la
ejecucin de los procesos, por lo tanto, el planificador a largo plazo puede limitar el grado de
multiprogramacin para ofrecer un servicio satisfactorio al conjunto de procesos actuales.

APUNTES DE SISTEMAS OPERATIVOS

15

TEORA DE LOS SISTEMAS OPERATIVOS

La decisin de cual va a ser el siguiente proceso a admitir puede basarse en un simple


algoritmo FIFO o bien puede utilizar alguna herramienta de gestin de la actividad del sistema, que
utilice algn criterio, como puede ser tener en cuenta, las prioridades, los tiempos de ejecucin
previstos, o las exigencias de E/S.
Para programas interactivos en un sistema de tiempo compartido, cuando un usuario intenta
conectarse al sistema, se genera una solicitud para la creacin de un proceso, ya que los usuarios de
un sistema interactivo, no pueden ser puestos en una cola y hacerles esperar hasta que el sistema
pueda aceptarlos.
En este caso el sistema operativo, acepta todas las llegadas autorizadas hasta que el sistema
se sature, de acuerdo con alguna medida predefinida en el diseo, en cuyo caso las solicitudes de
conexin se responden con un mensaje, que indica que el sistema esta completo y que debe
intentarse ms tarde.
La planificacin a medio plazo, forma parte de la funcin de intercambio y tiene como origen
la decisin de aadir un proceso a los que se encuentran o bien liberar la memoria principal de
procesos que en un momento determinado no pueden ser ejecutados.
La planificacin a corto plazo, tambin conocido como Distribuidor (Dispatcher), es el que se
ejecuta ms frecuentemente y tiene por objeto, tomar la decisin necesaria, para determinar que
proceso en estado de listo para ejecutarse, ser el que se ejecute a continuacin.
Se utiliza cada vez que ocurre un suceso, que puede conducir a la interrupcin del proceso
actual o que ofrece la oportunidad de retirar de la ejecucin al proceso actual en favor de otro.
Como ejemplos de estos sucesos tenemos: las interrupciones del reloj, las interrupciones de E/S, las
llamadas al sistema operativo, etc.
Criterios de Planificacin a corto plazo.
El principal objetivo de la planificacin a corto plazo es repartir el tiempo del procesador de
forma que se optimicen algunos puntos del comportamiento del sistema, para ello, se utilizan un
conjunto de criterios para evaluar las diversas estrategias de planificacin.
El criterio ms empleado establece dos clasificaciones:

Criterios orientados al usuario.


Criterios orientados al sistema.

Los criterios orientados al usuario, se refieren al comportamiento del sistema tal y como lo
perciben los usuarios o los procesos individuales. Un posible ejemplo es el tiempo de respuesta de un
sistema interactivo. El tiempo de respuesta es el periodo de tiempo transcurrido, desde que se emite
una solicitud hasta que la respuesta aparece en la salida.
Este valor es perceptible para el usuario, para quien tiene un inters evidente, por lo tanto,
seria conveniente disponer de una poltica de planificacin que ofrezca un buen servicio a diversos
usuarios. Un tiempo de respuesta adecuado podra ser menor de dos o tres segundos, por lo tanto, el
objetivo del mecanismo de planificacin debera ser maximizar el nmero de usuarios, que pueden
recibir un tiempo de respuesta medio de dos o tres segundos.
Los criterios orientados al sistema, se centran en el uso eficiente del procesador. Un posible
ejemplo puede ser la productividad, que es una medida muy valida del rendimiento del sistema y que
por lo tanto sera deseable maximizar. Estos criterios son interesantes para el administrador del
sistema, pero no tanto, para el conjunto de usuarios normales.
Estas definiciones que acabamos de realizar, nos indican que los criterios orientados al
usuario, son importantes en todos los sistemas, mientras que los criterios orientados al sistema tienen
en general una menor importancia en los sistemas monousuario.
APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

16

GESTIN Y ADMINISTRACIN DE PROCESOS

Estos criterios son dependientes entre s y es imposible optimizar todos de forma simultnea.
Por ejemplo, obtener un buen tiempo de respuesta, puede exigir un algoritmo de planificacin que
alterne entre los procesos con una gran frecuencia, lo cual incrementa la sobrecarga del sistema y
reduce la productividad.
Una observacin final es que, en la mayora de los sistemas operativos de tipo interactivo,
bien sean de un solo usuario o mltiples usuarios, el requisito fundamental es un tiempo de respuesta
adecuado. Por la importancia de este requisito y debido a que la definicin de adecuado cambia de
una aplicacin a otra, lo trataremos con mayor profundidad posteriormente.
Una poltica importante en la planificacin es el uso de prioridades, ya que en muchos
sistemas, cada proceso tiene una prioridad asignada y el planificador seleccionar siempre a un
proceso de mayor prioridad antes que los de menor prioridad.
En las figuras anteriormente expuestas, para mayor claridad, el diagrama de colas estaba
simplificado, ignorando la existencia de varias colas de bloqueo y del estado suspendido.
En esta figura vemos que, en vez de una sola cola de Listos para ejecutarse, se ofrece un
conjunto de colas en orden de prioridad descendente, por lo tanto, cuando se vaya a realizar una
seleccin de planificacin, el planificador comenzar por la cola de Listos de mayor prioridad, si hay
uno o ms procesos en esta cola, se selecciona uno mediante alguna poltica de planificacin, si dicha
cola esta vaca, se examina la cola siguiente y as sucesivamente.
RQ 0
A EJECUCIN

CPU

LIBERAR

RQ 1

ENTRADA

RQ n

OCURRE EL
SUCESO

.
.
.

EXPULSIN

ESPERA UN
SUCESO

COLA DE BLOQUEADOS

Uno de los problemas de los esquemas de planificacin por prioridades puras, es que los
procesos de prioridad ms baja pueden sufrir inanicin, si siempre hay un flujo continuo de procesos
listos de alta prioridad. Para superar este problema, la prioridad de un proceso puede cambiar en
funcin de su edad o su historial de ejecucin.
Se podra realizar exactamente lo mismo para la cola de Bloqueados, ofreciendo una cola
para cada uno de los posibles sucesos del sistema, por lo tanto, cuando se produce un suceso, todos
los procesos que estn en la cola de ese suceso, pasaran automticamente a la cola de preparados.
ADMITIR

COLA DE LISTOS

A EJECUCIN

FIN DE PLAZO
COLA SUCESO 1
OCURRE SUCESO 1

APUNTES DE SISTEMAS OPERATIVOS

ESPERA UN SUCESO 1

CPU

LIBERAR

17

TEORA DE LOS SISTEMAS OPERATIVOS


COLA SUCESO 2

.
.
COLA SUCESO N

ESPERA UN SUCESO 2

ESPERA SUCESO N

Desde un punto de vista general, las polticas de planificacin se fundamentan en las dos
caractersticas que figuran a continuacin:

La funcin de seleccin.
El modo de decisin.

La funcin de seleccin tiene por objeto determinar que proceso, de entre los que estn listos
para ejecutarse, se elige para ejecutar a continuacin y esa funcin puede estar basada en
prioridades, necesidades de recursos o en las caractersticas de ejecucin de los procesos.
Los valores ms significativos de las caractersticas de ejecucin de los procesos, son los que
figuran a continuacin:

Tiempo consumido hasta el momento en el sistema, en espera de ser ejecutado (w).


Tiempo consumido hasta el momento en ejecucin (e).
Tiempo total de servicio exigido por el proceso, incluyendo, tanto el tiempo de espera,
como el tiempo de ejecucin (w + e).

El modo de decisin especifica los instantes de tiempo en que se aplica la funcin de


seleccin y existen dos categoras generales:

No apropiativo, indica que una vez que el proceso pasa al estado de ejecucin, contina
ejecutndose hasta que termina o hasta que se bloquea en espera de una operacin de E/S
o al solicitar algn servicio del sistema.
Apropiativo, indica que el proceso que esta ejecutndose actualmente, puede ser
interrumpido y pasado al estado de listos para ejecutarse, por parte del sistema operativo.

La decisin de apropiarse de la CPU puede llevarse a cabo cuando llega un nuevo proceso,
cuando se produce un suceso, que lleva a un proceso bloqueado al estado de listo para ejecutarse o
peridicamente en funcin de una interrupcin del reloj.
Las polticas apropiativas suponen un mayor coste que las no apropiativas, pero dan un
servicio mejor al conjunto de todos los procesos, puesto que evitan que un proceso pueda
monopolizar el procesador durante mucho tiempo.
En general, el clculo de la prioridad se lleva a cabo por una funcin que ser diferente en
cada sistema, dependiendo de los parmetros que la definan. La prioridad as calculada, se puede
denominar prioridad interna y la fijar el sistema, para diferenciarla de la que establezca el usuario,
para sus procesos y que denominaremos prioridad externa o simplemente prioridad.
La prioridad interna que tiene un proceso, desde el punto de vista del planificador a corto
plazo, es el valor obtenido por esta funcin de acuerdo con diversos parmetros que intervendrn en
su clculo:

Necesidades de memoria.
Carga del sistema
Prioridad externa definida por el usuario.
Una seal del reloj del sistema
Tiempo de procesador utilizado por el proceso.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

18

GESTIN Y ADMINISTRACIN DE PROCESOS

Tiempo que lleva el proceso en el sistema.


Tiempo total de servicio.

Como se puede observar, la funcin que realice el clculo de la prioridad interna de un


proceso, necesitar conocer diversos datos de los procesos que se deben someter al control del
planificador a corto plazo.
Esta informacin puede ser de dos tipos:

Extrnseca, que son los datos independientes de la naturaleza del proceso y de sus
caractersticas, por lo que pueden ser fcilmente definidos por el sistema. Como ejemplo
de este tipo de informacin podramos mencionar el instante de carga en el sistema, la
prioridad externa del proceso, la prioridad marcada por el reloj del sistema, etc.
Intrnseca, compuesta por aquellos datos que son inherentes a la naturaleza del propio
proceso. Estos datos pueden conocerse por el sistema gracias a la informacin que
suministre el usuario en el momento inicial de la carga del proceso en memoria o bien
basndose en datos histricos de las ejecuciones anteriores de este proceso dentro del
sistema. Los datos que se pueden englobar dentro de este tipo de informacin son el
tiempo de ejecucin, tiempo total de servicio, tiempo que le queda al proceso para
terminar su trabajo, etc.

ALGORITMOS DE PLANIFICACIN.

El planificador a corto plazo, tiene como misin la asignacin del procesador, a los procesos
que estn preparados y cuando un proceso haya terminado su ejecucin totalmente, dejar de existir
para el planificador.
En los sistemas comerciales actuales existen diversas polticas de planificacin, puestas en
prctica por medio de diversos algoritmos, que pueden servir para comprender la forma de actuar de
los sistemas operativos y as poder obtener el mejor provecho de los mismos.
A continuacin vamos a describir las ms importantes, que servirn de base para el desarrollo
de otras polticas, que puedan ser necesarias al resolver los problemas que se presenten en el futuro,
que en principio se podran dividir en dos grandes grupos:

Aquellas que para el clculo de la prioridad interna, se utilizan datos extrnsecos, es decir,
independientes de la naturaleza del proceso.
Las que para el clculo de la prioridad interna se utilizan datos intrnsecos, es decir, que
son inherentes a la naturaleza del propio proceso.

Para describir las distintas polticas de planificacin, se utilizar como ejemplo el siguiente
conjunto de procesos que se ejecutarn en los instantes especificados en la tabla que figura a
continuacin y que se representan en el eje de tiempos de la figura.
0

10

A= 3
B=5
C=2
D=6
E=4

APUNTES DE SISTEMAS OPERATIVOS

11

12

13

14

15

16

17

18

19

20

19

TEORA DE LOS SISTEMAS OPERATIVOS

Adems de figurar el instante de entrada en el sistema, tambin se ha representado


grficamente el tiempo que necesitara cada proceso si fuera el nico que se estuviera ejecutando,
por lo tanto, se considera que estos procesos no necesitan realizar operaciones de E/S, con el fin de
facilitar el estudio, por lo que su tiempo de ejecucin coincide con el del procesador.
No obstante, debemos recordar que la situacin aqu planteada no es real ya que la gran
mayora de los procesos suelen realizar alguna operacin de E/S. La unidad de tiempo es virtual,
pudiendo considerarse milisegundos, segundos o cualquier otra unidad que se considere oportuna.
Nombre
Proceso
A
B
C
D
E

Instante
Llegada
0
1
4
5
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Prioridad
Externa
0
1
0
2
1

CRITERIOS QUE UTILIZAN DATOS EXTRNSECOS PARA EL CLCULO DE LA PRIORIDAD


INTERNA.

Planificacin por prioridades externas.


Esta poltica tiene por objeto introducir los procesos en el procesador, siguiendo el orden de
las prioridades marcado por el usuario. Se pueden producir dos casos:

Que la prioridad no sea apropiativa.


Que la prioridad si sea apropiativa.

En el caso de que la prioridad no sea apropiativa, los procesos se introducirn en el


procesador de la forma siguiente:
ENTRADA

COLA DE LISTOS
E D

C B

EJECUCIN

FINAL

CPU

10

11

12

13

14

15

16

17

18

19

20

A= 3
B=5
C=2
E=4
D=6

La tabla que se muestra a continuacin nos indica como acta este algoritmo sobre los
procesos del ejemplo propuesto:
Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Prioridad
Externa
0
1
0
2
1

Instante de
Finalizacin
3
8
10
20
14

Tiempo de
Retorno (Tq)
3
7
6
15
6

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,40
3,00
2,50
1,50

Un valor que puede ser til es el tiempo de retorno normalizado, que es la razn entre el
tiempo de retorno y el tiempo de servicio. Este valor indica el retardo relativo experimentado por un
proceso, es decir, normalmente cuanto mayor es el tiempo de servicio, mayor es el retardo absoluto

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

20

GESTIN Y ADMINISTRACIN DE PROCESOS

que puede tolerarse, el valor mnimo para esta proporcin es de 1,00, los valores mayores
corresponden a niveles decrecientes del servicio.
Otro valor que se puede utilizar es el tiempo de retorno medio, que se calcula sumando los
tiempos de retorno de todos los procesos y dividindolo por el nmero de ellos.
En el caso de que la prioridad si sea apropiativa, los procesos se introducirn en el
procesador de la siguiente forma:
ENTRADA

COLA DE LISTOS
E D

C B

EJECUCIN

FINAL

CPU

10

11

12

13

14

15

16

17

18

19

20

A= 3
B=1

B=4
C=2
E=4
D=6

La tabla que se muestra a continuacin nos indica como acta este algoritmo sobre los
procesos del ejemplo propuesto:

APUNTES DE SISTEMAS OPERATIVOS

21

TEORA DE LOS SISTEMAS OPERATIVOS

Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Prioridad
Externa
0
1
0
2
1

Instante de
Finalizacin
3
10
6
20
14

Tiempo de
Retorno (Tq)
3
9
2
15
6

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,80
1,00
2,50
1,50

Primero en llegar, Primero en ser servido. (FCFS, First Come, First Served).
La poltica ms simple de planificacin es la de primero en llegar, primero en servirse, que
tambin se denomina, primero en entrar, primero en salir, ( FIFO, First-In, First-Out), segn esta
poltica cada vez que un proceso est listo para ejecutarse, se incorpora a la cola de Listos y cuando
el proceso que se est ejecutando actualmente cese en su ejecucin, se selecciona el proceso ms
tiempo lleve en la cola.
Los mecanismos que debe adoptar esta poltica para determinar a que proceso se le debe
conceder el uso del procesador en un instante dado, se basan nica y exclusivamente en el orden de
llegada de los procesos, por lo que hacen una poltica muy simple y sencilla de llevar a la prctica,
pero muy pobre en cuanto a su comportamiento.
ENTRADA

COLA DE LISTOS
E D

C B

EJECUCIN

FINAL

CPU

10

11

12

13

14

15

16

17

18

19

20

A= 3
B=5
C=2
D=6
E=4

La tabla que se muestra a continuacin nos indica como acta este algoritmo sobre los
procesos del ejemplo propuesto:
Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Instante de
Finalizacin
3
8
10
16
20

Tiempo de
Retorno (Tq)
3
7
6
11
12

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,40
3,00
1,83
3,00

El algoritmo FCFS tiende a favorecer a los procesos largos, en relacin a los cortos o tambin,
a los procesos con carga de CPU, frente a los que tienen carga de E/S, as por ejemplo, si tenemos un
conjunto de procesos y uno de ellos utiliza principalmente la CPU, mientras que otros realizan
frecuentemente operaciones de E/S, si el proceso que utiliza la CPU se encuentra en ejecucin, todos
los restantes procesos tienen que esperar, por lo tanto, no es una alternativa atractiva para un sistema
monoprocesador.
Sin embargo, se combina frecuentemente con un esquema de prioridades para obtener un
planificador efectivo, ya que de esta forma, el planificador puede mantener un conjunto de colas, una
para cada nivel de prioridad y expedir cada cola con un algoritmo FCFS.
Turno Rotatorio.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

22

GESTIN Y ADMINISTRACIN DE PROCESOS

Esta poltica trata de reducir la penalizacin que sufren los trabajos cortos con la poltica
FCFS y consiste en hacer intervenir el concepto de apropiacin dependiente del reloj. Esta poltica
que tambin se denomina Round-Robin, ( RR), genera peridicamente una interrupcin del reloj y en
ese momento, el proceso que estaba en ejecucin se sita en la cola de Listos y se selecciona el
siguiente trabajo, normalmente segn el algoritmo (FCFS).
Esta poltica, concede a cada proceso una fraccin de tiempo que se denomina cuanto y
transcurrido ese tiempo, si el proceso no ha terminado o no se ha quedado bloqueado por una
operacin de E/S, se devuelve el proceso al final de la cola de Listos y se concede un nuevo cuanto
al proceso que est el primero de la cola, de esta forma continua la asignacin de procesos, que sern
ejecutados cclicamente hasta que terminen.
La cuestin principal en el diseo de esta poltica consiste en determinar la longitud del
cuanto de tiempo o fraccin que se va a usar. Si el cuanto es muy pequeo, los procesos cortos
pasan por el sistema rpidamente, pero producen una sobrecarga enorme, en la gestin de las
interrupciones del reloj y en las funciones de planificacin y expedicin, por lo tanto se deben evitar
los cuantos pequeos. En general una referencia que puede ser til, consiste en que el cuanto sea
ligeramente mayor que el tiempo necesario para llevar a cabo una interaccin.
ENTRADA

COLA DE LISTOS
E D

C B

EJECUCIN

FINAL

CPU

APROPIACIN
PARA UN CUANTO = 1
0
A
B

A
B

10

11

12

13

14

15

16

17

18

19

20

A
B

C
D

D
E

D
E

D
E

La tabla que se muestra a continuacin nos indica como acta este algoritmo sobre los procesos del
ejemplo propuesto para un cuanto igual a uno:
Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

APUNTES DE SISTEMAS OPERATIVOS

Instante de
Finalizacin
5
13
9
20
18

Tiempo de
Retorno (Tq)
5
12
5
15
10

Tiempo de Retorno
Normalizado (Tq/Ts)
1,67
2,40
2,50
2,50
2,50

23

TEORA DE LOS SISTEMAS OPERATIVOS


PARA UN CUANTO = 3
0
A

10

11

12

13

14

15

16

17

18

19

20

A= 3
B = 3

B = 2
C = 2

D = 3

D = 3
E = 3

E=1

La tabla que se muestra a continuacin nos indica como acta este algoritmo sobre los
procesos del ejemplo propuesto pero para un cuanto igual a tres:
Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Instante de
Finalizacin
3
13
8
19
20

Tiempo de
Retorno (Tq)
3
12
4
14
12

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
2,40
2,00
2,33
3,00

Esta poltica es efectiva en sistemas de propsito general, tiempo compartido y de proceso de


transacciones y tiene como inconveniente el tratamiento que hace de los procesos con carga de CPU y
con carga de E/S, ya que un proceso con carga de E/S tiene rfagas de CPU ms cortas que un proceso
con carga de CPU, por lo tanto si existe una mezcla de procesos con carga de CPU y con carga de E/S,
lgicamente los procesos con carga de E/S utilizaran el procesador durante periodos de tiempo ms
cortos, que los procesos con carga de CPU, ya que estos hacen uso normalmente del cuanto de
tiempo completo.
As pues, los procesos con carga de CPU tienden a recibir una porcin desigual de tiempo de
lo que origina un rendimiento pobre de los procesos con carga de E/S, un mal aprovechamiento
de los dispositivos de E/S y un incremento de la variabilidad del tiempo de respuesta.
Una posible alternativa a esta poltica, se denomina Turno Rotatorio Virtual, es decir, el
algoritmo se denomina VRR, Virtual Round-Robin, que evita esta desigualdad.
CPU,

FIN DE PLAZO

ENTRADA

COLA DE LISTOS

A EJECUCIN

CPU

LIBERAR

COLA AUXILIAR

COLA 1 DE E/S

ESPERA 1 E/S
ESPERA DE
SUCESOS

.
.
COLA N-ESIMA DE E/S
ESPERA N-ESIMA E/S

El esquema se muestra en la figura que se expresa anteriormente y en ella se observa que la


nueva caracterstica consiste en crear una cola FCFS auxiliar a la que se desplazan los procesos una
vez que son liberados de la espera por la E/S.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

24

GESTIN Y ADMINISTRACIN DE PROCESOS

Al tomar la decisin sobre el siguiente proceso a expedir, los procesos de la cola auxiliar
tienen preferencia sobre los de la cola principal de Listos, pero hay que tener en cuenta que cuando
se expide un proceso desde la cola auxiliar, no puede ejecutar ms que un tiempo igual al cuanto
bsico, menos el tiempo total de ejecucin consumido, la ultima vez que fue seleccionado de la cola
de Listos.
CRITERIOS QUE UTILIZAN DATOS INRNSECOS PARA EL CALCULO DE LA PRIORIDAD INTERNA.

Primero el proceso ms corto.


Esta poltica, selecciona de la cola de procesos Listos, el que necesite estar menos tiempo en
el sistema para realizar su trabajo y se denomina SJF, Shortest Job First, en algunos textos figura con
el nombre SPN, Shortest Process Next.
Una dificultad que plantea esta poltica, consiste en la necesidad de conocer o por lo menos
estimar, el tiempo de ejecucin que necesita cada proceso, en el ciclo siguiente. Para trabajos por
lotes, el sistema puede solicitar que el usuario estime ese valor y se lo proporcione al sistema
operativo y si la estimacin del usuario esta muy por debajo del tiempo de ejecucin real, el sistema
puede abandonar el trabajo.
En un entorno real de produccin, se ejecutan frecuentemente los mismos trabajos y se
pueden calcular estadsticas, para los procesos interactivos, el sistema operativo puede mantener
calculada una media para las rfagas de cada proceso.
1 n
S n 1 Ti
El clculo ms sencillo podra ser el siguiente:
donde
n i o
Ti
Tiempo de ejecucin en el procesador, para el i-esimo caso del proceso, es decir,
tiempo total de ejecucin para un trabajo por lotes o bien tiempo de rfaga de
procesador para trabajos interactivos.
Si
Valor pronosticado para el caso i-esimo.
So Valor pronosticado para el primer caso, no calculado.
Para evitar volver a calcular la suma completa cada vez, se puede escribir la ecuacin anterior
de la forma siguiente:
S n 1

1
n 1
Tn
Sn
n
n

Esta formula da el mismo peso a todos los casos y normalmente, resulta ms conveniente, dar
un peso mayor a los casos ms recientes, ya que es ms probable, que reflejen mejor el
comportamiento futuro.
En el planificador a corto plazo, el mtodo que se utiliza para la estimacin del prximo ciclo
de UCP de cada uno de los procesos de la cola, se realiza en funcin de la duracin de los ciclos
anteriores, efectuando la prediccin de los valores futuros a partir de una serie de valores pasados.
La formula utilizada, se denomina exponencial media de las longitudes medias de los ciclos
anteriores y se obtiene, haciendo 1/n = , si se sustituye este valor en la formula anterior:
Sn+1 = Tn + Sn (1 )

que desarrollada se convierte en:

Sn+1 = Tn + Tn-1(1-)1+ Tn-2(1-)2+ .........+ Tn-i(1-)i + ............+ S0(1-)n


S empleamos un valor constante del parmetro , que este comprendido entre 0 y 1, es
decir, (0 < < 1), independientemente del nmero de observaciones pasadas, se llega a una
situacin, en la que se tienen en cuenta todos los valores pasados, pero los ms distantes reciben un
peso menor.

APUNTES DE SISTEMAS OPERATIVOS

25

TEORA DE LOS SISTEMAS OPERATIVOS

En el caso de que el valor de sea pequeo, estamos dando ms peso a los valores pasados,
reflejados en el tiempo estimado para el ciclo anterior, sin embargo en el caso de tener un valor de
grande, estamos dando un peso mayor a los valores ms recientes, reflejados mediante la duracin
del ciclo anterior.
Si consideramos un valor de igual a , estaremos dando el mismo peso a los valores ms
recientes y a los mas lejanos.
0
A

10

11

12

13

14

15

16

17

18

19

20

A= 3

B = 5
C = 2

D = 6

E = 4

Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Instante de
Finalizacin
3
8
10
20
14

Tiempo de
Retorno (Tq)
3
7
6
15
6

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,40
3,00
2,50
1,50

El riesgo que existe al utilizar esta poltica, consiste en la posibilidad de inanicin, para los
procesos largos, mientras exista un flujo continuo de procesos ms cortos y no es conveniente para
entornos de tiempo compartido o de procesamiento de transacciones, debido a la ausencia de
apropiacin.
Prximo proceso, el de tiempo restante ms corto.
Esta poltica de menor tiempo restante SRT, Shortest Remaining Time, es una versin
apropiativa del SJF, en la que el planificador siempre elige, al proceso que le queda menos tiempo
esperado de ejecucin.
Cuando se aade un nuevo proceso a la cola de Listos, puede quedarle un tiempo esperado
de ejecucin, menor que al proceso que est ejecutndose en ese momento, por consiguiente, el
planificador puede introducir en el procesador el nuevo proceso que ha entrado en la cola de Listos.
La poltica SRT, no presenta el favoritismo a los procesos largos del algoritmo FCFS, no se
generan tantas interrupciones adicionales como en el algoritmo RR, pero se deben guardar los
tiempos de servicio transcurridos.
Esta poltica trata de obtener las ventajas de los algoritmos RR y SJF, por lo tanto debe
producir unos tiempos de respuesta mejores, que con el algoritmo SJF, no obstante, para su
utilizacin el planificador debe disponer de una estimacin del tiempo de proceso para poder llevar a
cabo la funcin de seleccin y seguir existiendo el riesgo de inanicin para los procesos largos.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

26

GESTIN Y ADMINISTRACIN DE PROCESOS


0

10

11

12

13

14

15

16

17

18

19

20

A= 3

B=1

B = 4
C = 2

D = 6

E = 4

Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Instante de
Finalizacin
3
10
6
20
14

Tiempo de
Retorno (Tq)
3
9
2
15
6

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,80
1,00
2,50
1,50

Prximo el de mayor ndice de respuesta.


Esta poltica, denominada HRRN, Highest Response Ratio Next, trata de corregir las posibles
injusticias de la poltica SJF para los procesos largos, eliminando los favoritismos a los cortos.
Asimismo, tambin intenta corregir los defectos de la poltica FCFS que favorece a los largos y es
injusta con los cortos.
En los ejemplos anteriores hemos venido calculando el tiempo de retorno normalizado, que
es la razn entre el tiempo de retorno y el tiempo real de servicio, como valor a destacar. Para cada
proceso individual, se desea minimizar esta razn, as como minimizar el valor medio de todos los
procesos. Aunque esta es una medida a posteriori, es posible aproximarla a una medida a priori,
como criterio de seleccin de un planificador no apropiativo. En concreto, se considera la siguiente
tasa de respuesta, RR, Response Ratio:
RR

w
S
0

ws
s

donde:

Tiempo consumido esperando al procesador.


Tiempo de servicio esperado.
1

PA=(0+3)/3= 1
A= 3

10

11

B = 5
C = 2

13

14

15

16

17

18

19

20

PC = (4+2) / 2= 3
PD = (3+6) / 6=1,5
PE = (0+4) / 4 = 1

PB = (2+5) / 5 = 1,4

12

PD = (5+6) / 6 = 1,8
PE = (2+4) / 4 = 1,5
D = 6

E = 4

Si el proceso con este valor se expide inmediatamente, RR es igual al tiempo de retorno


normalizado. Ntese que el valor mnimo de RR es 1,00 que se alcanza cuando un proceso entra por
primera vez en el sistema. Se deber elegir siempre el proceso, que tenga el valor RR mayor, ya que
tiene en cuenta el tiempo que ese proceso lleva esperando.
Nombre Instante
Proceso Llegada
A
0
B
1

Tiempo de
Servicio (Ts)
3
5

APUNTES DE SISTEMAS OPERATIVOS

Instante de
Finalizacin
3
8

Tiempo de
Retorno (Tq)
3
7

Tiempo de Retorno
Normalizado (Tq/Ts)
1,00
1,40

27

TEORA DE LOS SISTEMAS OPERATIVOS


C
D
E

4
5
8

2
6
4

10
16
20

6
11
12

3,00
1,83
3,00

Hasta el momento actual la regla de planificacin ha sido, que cuando el proceso actual
termina o se bloquea, se elige el proceso listo con un valor mayor de RR. Este mtodo es atractivo
porque tiene en cuenta la edad del proceso, aunque se favorece a los trabajos ms cortos, ya que un
denominador menor produce una razn mayor, el envejecimiento sin que haya servicio incrementa el
valor de la razn, de forma que los procesos ms largos pasen finalmente primero, en competicin
con los ms cortos.
El tiempo esperado de servicio debe estimarse antes de emplear la tcnica del mayor ndice de
respuesta, tal y como suceda con las polticas SRJ y SRT.
Colas mltiples.
Esta poltica de colas Mltiples, que se denomina MQ, Multiple Queues, se utiliza cuando los
procesos que se van a ejecutar en el sistema, pueden ser clasificados en diversos grupos,
asignndolos a diferentes colas con distinta planificacin y de esta manera darles el servicio que
realmente necesitan.
Un ejemplo claro de esta situacin es el caso de los procesos batch y los procesos
interactivos, que necesitan diferentes tiempos de respuesta y por lo tanto, pueden ser gestionados
por diferentes algoritmos de planificacin.
Esta poltica, divide la cola de procesos listos para ejecutarse, en varias colas separadas, de
esta manera, los procesos se asignan de forma permanente a una determinada cola segn sus
necesidades y tipo.
Cada cola tiene asociado un algoritmo de planificacin diferente y as por ejemplo, la cola de
procesos interactivos, puede gestionarse con un algoritmo RR, Round-Robin, y la de procesos batch
con el algoritmo FCFS, First Come, First Served.
COLA DE PROCESOS
INTERACTIVOS

EJECUCIN

CPU

LIBERAR

RR
COLA DE PROCESOS
BATCH

EJECUCIN

CPU

LIBERAR

FCFS

Para resolver el problema de cuando se le debe dar el control a cada cola, para que los
procesos situados en ellas, puedan acceder al procesador, se establece un algoritmo de planificacin
entre las colas, que normalmente es apropiativo de prioridad fija.
De esta manera, la cola de procesos interactivos tendr asociada una prioridad ms alta que la
de procesos batch, por lo tanto, si la cola de procesos interactivos esta vaca, se podrn ejecutar los
proceso batch, pero si existe algn proceso interactivo, ser este el que se ejecute.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

28

GESTIN Y ADMINISTRACIN DE PROCESOS

Realimentacin de colas mltiples.


Esta poltica, se fundamenta en la utilizacin de colas mltiples, pero con realimentacin, que
toma el nombre de Realimentacin de Colas Mltiples, FB, Feed Back Multiple Queues, se utiliza,
cuando se quiere dar un trato justo a los procesos, para lo cual sera necesario conocer previamente
todos sus parmetros caractersticos como son: la longitud, si esta limitado por E/S o por procesador,
la memoria que va a necesitar, etc.
Si no se dispone de ninguna informacin sobre la longitud relativa de los diversos procesos,
no se puede emplear ninguno de los algoritmos anteriores: SRJ, SRT y HRRN. Todos estos algoritmos,
utilizan como base el tiempo de ejecucin restante, por lo tanto, se puede utilizar una poltica que se
fundamente, en el tiempo de ejecucin consumido hasta el momento.
El mtodo de realimentacin de colas mltiples consiste en dividir la cola de procesos listos
para ejecutarse en varias colas: cola 0, cola 1, cola 2 y as sucesivamente, de manera que las de
numeracin ms alta, es decir, el nivel ms alto, tendrn asignada una mayor prioridad, por lo tanto,
como vemos se establecen colas de diferentes niveles de prioridad.
La planificacin es apropiativa y se utiliza un mecanismo dinmico de prioridades, de tal
forma, que cuando un proceso entra por primera vez en el sistema, se sita en la cola de nivel 0,
cuando vuelve al estado de Listo, despus de haber realizado su primera ejecucin, se incorpora a la
cola de nivel 1 y as sucesivamente, cada vez que se ejecute el proceso, se le degradar al nivel
inmediatamente inferior de prioridad.
NIVEL 1

RRQ1

EJECUCIN

CPU

LIBERAR

RR
NIVEL 2
RRQ2

EJECUCIN

CPU

LIBERAR

FCFS
.
.
NIVEL n
FCFS

CPU

La utilizacin de esta poltica permitir, que los procesos cortos terminen rpidamente sin
descender demasiado en la jerarqua de las colas de Listos, sin embargo, un proceso largo ser
gradualmente llevado hacia los ltimos niveles. As pues, con esta poltica se favorece a los procesos
ms nuevos y cortos, antes que a los ms viejos y largos.
En cada cola o nivel, se le concede al proceso un determinado tiempo de procesador, de
manera que, si se excede, el proceso se pasa a la cola de nivel inmediatamente inferior, es decir, su
prioridad se ver disminuida en una unidad.
En el caso de que un proceso llegue a la ultima cola y no logre terminar su ejecucin en el
tiempo asignado a esta cola, se producir un error indicando que se ha excedido del tiempo de
procesador asignado al proceso.
Otra posibilidad es hacer infinito el tiempo de procesador, que se pueda asignar en la cola de
menor prioridad del sistema, por lo que todos los procesos podran terminar y no se producira nunca
el error anterior.
El nico dato que resta por fijar es el tiempo que se debe asignar a cada proceso en la
primera cola o nivel de mayor prioridad. La eleccin de este tiempo varia mucho de un sistema a
otro, del numero de procesos existentes, de su tipo y del numero de colas que haya que gestionar.
APUNTES DE SISTEMAS OPERATIVOS

29

TEORA DE LOS SISTEMAS OPERATIVOS

Todo esto se puede describir prcticamente, suponiendo que los algoritmos elegidos para
gestionar cada cola, sean de tipo RR, Round- Robin. En este caso, una vez que un proceso haya
consumido el cuanto de su cola un determinado nmero de veces, habiendo agotado el tiempo que se
le permita residir en esa cola y no haya finalizado su ejecucin, ser colocado al final de la del nivel
inmediatamente inferior.
Resumiendo, este tipo de planificacin se puede definir por los siguientes parmetros:

El nmero de colas.
El algoritmo de planificacin de cada cola.
El mtodo de paso de un proceso de una a otra cola.
En que cola debe ser introducido el proceso al comienzo de su ejecucin.
El algoritmo de planificacin entre las distintas colas.

La Poltica FB intenta conseguir dar un trato justo por medio de la separacin de los procesos
por categoras, para as darles el servicio que necesitan, ya que si los procesos estn limitados por el
procesador, terminaran en las colas de menor prioridad, es decir en el nivel ms bajo, dejando en las
colas de mayor prioridad a aquellos procesos muy interactivos.
0

10

11

12

13

14

15

16

17

18

19

20

3
2

3
1

2
1

2
1

3
1

4
3

En la tabla que se expresa a continuacin se indica como acta esta poltica en los procesos
del ejemplo que se viene considerando en las polticas anteriormente descritas:
Nombre Instante
Proceso Llegada
A
0
B
1
C
4
D
5
E
8

Tiempo de
Servicio (Ts)
3
5
2
6
4

Instante de
Finalizacin
11
18
7
20
17

Tiempo de
Retorno (Tq)
11
17
3
15
9

Tiempo de Retorno
Normalizado (Tq/Ts)
3,67
3,40
1,50
2,50
2,25

CONTROL DE PROCESOS.

En este punto se trata de exponer como se realiza el control de los procesos por parte del
sistema operativo, para ello, ser preciso tener en cuenta en primer lugar, los modos de ejecucin de
ejecucin del procesador, ya que la mayora de los procesadores dan soporte para dos modos de
ejecucin por lo menos:

Modo Sistema, que ejecuta las instrucciones privilegiadas.


Modo Usuario, que ejecuta las restantes instrucciones de un programa.

La razn de la existencia de estos dos modos de ejecucin es fundamentalmente, proteger al


sistema operativo de las injerencias de los programas del usuario, sobre todas las estructuras de
datos que hemos citado anteriormente.
En el modo ms privilegiado, el sistema operativo tiene el control completo del procesador y
de todas sus instrucciones, registros y memoria. Este nivel de control no es necesario y por
seguridad tampoco conveniente para los programas del usuario.
APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

30

GESTIN Y ADMINISTRACIN DE PROCESOS

Este cambio en el control del procesador se fundamenta, en un bit que reside en la palabra
estado de programa (PSW), este bit indica en todo momento, el modo de ejecucin del procesador y
cambia como respuesta a ciertos sucesos, as por ejemplo, cuando el usuario hace una llamada a un
servicio del sistema operativo, el modo cambia del estado usuario al estado sistema.
Este cambio se realiza ejecutando una instruccin de cambio de modo ( CHM, Change Mode),
de tal forma que cuando el usuario, hace una llamada para ejecutar un servicio del sistema o cuando
se produce una interrupcin, se transfiere el control a una rutina del sistema.
Para ello, lo primero que hace es ejecutar la instruccin CHM, para entrar en el estado sistema
y a continuacin se producir el cambio de PSW,s cargando en la PSW actual la correspondiente a la
rutina que se va a ejecutar, posteriormente se ejecutar dicha rutina y finalmente se cargar
nuevamente en la PSW actual la correspondiente al proceso interrumpido y antes de devolver el
control al proceso del usuario, se volver a ejecutar la instruccin CHM, para cambiar del modo
sistema al modo usuario.
Anteriormente se han expresado los sucesos que conducen a la creacin de un nuevo proceso
y las estructuras de datos asociadas a los procesos, por lo tanto, estamos en condiciones de describir
brevemente los pasos a realizar para la creacin real de los procesos, teniendo en cuenta que la vida
de un proceso est definida por su creacin y su finalizacin.
Por lo tanto, una vez que el sistema operativo decide, por alguna razn, crear un nuevo
proceso, se producirn los siguientes pasos:
Asignar un nico identificador al nuevo proceso, en este momento se aade una nueva
entrada a la tabla principal de procesos, que contiene una entrada por cada proceso.
Asignar espacio para el proceso, que incluye todos los elementos de la imagen del
proceso, por lo tanto, el sistema operativo debe conocer el espacio necesario para situar
los programas, los datos y pila del proceso del usuario. Si un proceso es generado por
otro, el proceso padre puede pasarle al sistema operativo, los valores necesarios como
parte de la solicitud de creacin del proceso y si algn espacio de direcciones existente se
va a compartir, se deben establecer los enlaces adecuados.
Debe inicializarse el bloque de control de proceso, con los datos que se puedan conocer
en ese momento, por ejemplo:
En la parte de identificacin del proceso, se puede establecer l ID del proceso, junto
a otros ID apropiados, tales como el del proceso padre si existe.
En la parte de informacin del estado del procesador, lgicamente se inicializar con
la mayor parte de las entradas a cero, excepto para el contador del programa, que
sealar el punto de entrada del programa y los punteros a las pilas del sistema,
deben establecer los lmites de la pila del proceso.
La parte de informacin de control de proceso, se debe inicializar, con los valores
estndares por omisin y los atributos que se han solicitado para el proceso. Por
ejemplo, el estado del proceso puede inicializarse a listo para ejecutarse o a listo y
suspendido; la prioridad puede asignarse por omisin el valor ms bajo, a menos que
se haya hecho una solicitud explcita de un valor mayor.
Establecer los enlaces adecuados en las colas de planificacin donde se situar el nuevo
proceso, bien sea a la cola de listos para ejecutarse o en la cola de listos y suspendidos.
Puede haber otras estructuras de datos que crear o ampliar, por ejemplo, el sistema
operativo puede mantener un archivo de contabilidad para cada proceso, que puede
utilizarse ms tarde con propsitos de facturacin o tambin para evaluacin del
rendimiento.
Durante la ejecucin de un proceso, este pasar por los distintos estados que se han sealado
anteriormente, al analizar el comportamiento de los procesos, por lo tanto, en ciertos momentos se
encontrar en estado de ejecucin y en otros en cualquiera de los estados citados con anterioridad.
APUNTES DE SISTEMAS OPERATIVOS

31

TEORA DE LOS SISTEMAS OPERATIVOS

Los cambios de proceso, que necesariamente se producirn durante su ejecucin, obligan al


sistema operativo a tomar el control, poniendo a otro proceso en el estado de ejecucin y cedindole
el control del procesador.
Para la realizacin de esta sencilla funcin, ser preciso resolver algunas cuestiones:

Que sucesos provocan un cambio de proceso.


Debe hacerse una distincin entre cambio de proceso y cambio de contexto.
Que debe hacer el sistema operativo, con las diferentes estructuras de datos, que estn
bajo su control, para llevar a cabo un cambio de proceso.

Los cambios de proceso se pueden producir en cualquier momento, durante la ejecucin de


un proceso y el sistema operativo tiene que tomar el control para atender el suceso que se ha
producido, que puede ser uno de los que figuran a continuacin:

Una interrupcin externa, producida durante la ejecucin de un proceso.


Una interrupcin por un error fsico o lgico, producido por una condicin excepcional.
Una interrupcin de E/S, producida por el programa del usuario.
Una llamada al supervisor, producida por una peticin de un servicio del programa del
usuario que esta ejecutndose en ese momento.

Cuando se produce una interrupcin externa a la instruccin que se estaba ejecutando en ese
momento, el control se transfiere al gestor de interrupciones, que realiza una serie de tareas bsicas y
despus salta a una rutina del sistema operativo, que se ocupa del tipo de interrupcin que se ha
producido.
Algunos ejemplos son los siguientes:
Interrupcin de reloj, en la cual el sistema operativo determina si el proceso que se estaba
ejecutando en ese momento, ha consumido la fraccin mxima de tiempo permitida, por
lo tanto, el proceso debe pasar al estado listo y se debe expedir otro proceso.
Interrupcin de un controlador de E/S, en la cual el sistema operativo determina
exactamente que se ha finalizado una accin de E/S. Si la accin constituye un suceso que
estn esperando uno o ms procesos, entonces el sistema operativo traslada todos los
procesos bloqueados correspondientes a ese suceso al estado de listos para ejecutarse y
los procesos bloqueados y suspendidos pasan al estado de listos y suspendidos. El sistema
operativo debe decidir si se reanuda la ejecucin del proceso que se estaba ejecutando en
el momento de la interrupcin o se retira a dicho proceso en favor de un proceso listo
para ejecutarse que tiene una mayor prioridad.
Fallo de memoria, que se produce cuando el procesador se encuentra una referencia a una
direccin de memoria virtual de una palabra que no esta en la memoria principal. El
sistema operativo, tiene que traer el bloque, bien sea pagina o segmento que contiene la
referencia, desde la memoria secundaria a la memoria principal.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

32

GESTIN Y ADMINISTRACIN DE PROCESOS

Cuando se produce una interrupcin por un error fsico o lgico, producido por una
condicin excepcional, el sistema operativo determina si el error irrecuperable y si es as, el proceso
que se estaba ejecutando, pasa al estado de terminado y se produce un cambio de proceso. Si el error
no es fatal, la accin del sistema operativo depender de la naturaleza del error y del diseo del
sistema operativo, ya que se puede intentar algn procedimiento de recuperacin o simplemente,
notificarlo al usuario. En este caso se puede hacer un cambio de proceso o simplemente reanudar el
mismo proceso que estaba ejecutando.
Finalmente, el sistema operativo puede activarse mediante una llamada al supervisor desde el
programa que esta ejecutando. Por ejemplo, cuando esta ejecutando un proceso de usuario y se llega
a una instruccin que solicita una operacin de E/S, esta llamada provoca la transferencia a una rutina
del sistema operativo, pasando el proceso que se estaba ejecutando al estado de bloqueado.
A continuacin vamos a estudiar en que consiste el cambio de contexto y que diferencia
existe entre cambio de proceso y cambio de contexto. Generalmente cuando se produce un cambio
de contexto, no necesariamente se tiene que producir un cambio de proceso, aunque en muchos
casos se produzca.
Anteriormente, cuando estudiamos la gestin de las interrupciones, vimos que el procesador
comprueba si se ha producido alguna interrupcin, lo que se indicara por la presencia de una seal
de interrupcin. Si no hay pendiente ninguna el procesador contina con la instruccin siguiente del
programa en curso del proceso actual y si hay alguna interrupcin pendiente, el procesador realiza lo
siguiente:

Salva el contexto del programa que esta ejecutndose.


Analiza el tipo de interrupcin que se ha producido.
Asigna al contador de programa, el valor de la direccin de comienzo del programa de
tratamiento de la interrupcin.
Cambia de estado de usuario al estado sistema, para que el cdigo que procesa la
interrupcin, pueda incluir instrucciones privilegiadas.

El procesador contina entonces con la lectura de la primera instruccin del programa de


tratamiento de la interrupcin. El contexto que se salva, debe incluir cualquier informacin, que
pueda alterarse por la ejecucin de la rutina de tratamiento de la interrupcin y que pueda ser
necesaria para reanudar el programa que fue interrumpido, por lo tanto, debe salvarse la parte del
bloque de control del proceso, que se denomina informacin de estado del procesador, es decir, el
contador de programa los registros especiales del procesador y la informacin de la pila.
Normalmente la rutina de tratamiento de la interrupcin, es un programa corto que realiza un
cierto nmero de tareas bsicas, relacionadas con la interrupcin. As por ejemplo, se marca el
indicador que seala la presencia de una interrupcin, puede enviar un acuse de recibo a la entidad
que produjo la interrupcin, que puede ser una unidad de control de E/S y adems puede hacer
algunas labores bsicas relacionadas con los efectos del suceso que caus la interrupcin.
De esta manera, se pueden realizar las siguientes tareas:

Si la interrupcin esta relacionada con un suceso de E/S, el gestor de interrupciones


comprobar las condiciones de error. Si se ha producido un error, la rutina de tratamiento
puede enviar una seal al proceso que solicit la operacin de E/S.
Si la interrupcin es de reloj, el gestor deber ceder el control al planificador para que
introduzca un nuevo proceso, ya que la fraccin de tiempo asignada al proceso que se
estaba ejecutando ha finalizado.

Si la interrupcin va a venir seguida de un cambio a otro proceso, entonces hace falta realizar
un cierto trabajo, no obstante, en la mayora de los sistemas operativos, el acontecimiento de una
interrupcin, no provoca necesariamente un cambio de proceso, por lo tanto, es posible que, despus
APUNTES DE SISTEMAS OPERATIVOS

33

TEORA DE LOS SISTEMAS OPERATIVOS

de que el gestor de interrupciones haya realizado su funcin el proceso que estaba ejecutndose
reanude su ejecucin. En tal caso, todo lo que hay que hacer es salvar la informacin del estado del
procesador cuando se produzca la interrupcin y restaurar dicha informacin cuando el control
vuelva al programa que se estaba ejecutando. Las funciones de salvar y restaurar suelen llevarse a
cabo en el hardware.
Con estas puntualizaciones vemos claramente, que el cambio de contexto es un concepto
distinto del cambio de proceso, aunque en algunos textos no se establece esta diferencia, por lo
tanto, puede producirse un cambio de contexto sin cambiar el estado del proceso, que est
actualmente en estado de ejecucin.
En tal caso, salvar el contexto y restaurarlo posteriormente, tiene un pequeo coste extra, sin
embargo, si el proceso que estaba ejecutndose tiene que pasar a otro estado (Listo, bloqueado,
etc.), el sistema operativo tiene que llevar a cabo cambios substanciales en su entorno.
Los pasos que deben ser ejecutados en un cambio de proceso completo son los siguientes:

Salvar el contexto del procesador, incluyendo el contador de programa y otros registros.


Actualizar el bloque de control del proceso que estaba en estado de ejecucin, lo cual
implica cambiar el estado del proceso a alguno de los otros estados, es decir Listo,
Bloqueado, Listo y suspendido, Terminado. Tambin se tienen que actualizar otros
campos significativos, incluyendo la razn por la cual, se abandona el estado de ejecucin
y la informacin de contabilidad.
Mover el bloque de control del proceso a la cola apropiada, es decir, listos, bloqueados
por un determinado suceso, listos y suspendidos.
Seleccionar otro proceso, para ejecucin, esto se realizar por alguno de los criterios
definidos anteriormente.
Actualizar el bloque de control del proceso seleccionado, que incluye el cambiar el
proceso al estado de ejecucin.
Actualizar las estructuras de datos de gestin de memoria, dependiendo de como se
gestione la traduccin de direcciones, este punto se analizar posteriormente.
Restaurar el contexto del procesador a aquel que exista en el momento en que el proceso
seleccionado dej por ltima vez el estado de ejecucin, cargando los valores previos del
contador de programa y de otros registros.

Todos estos pasos nos indican que cuando el cambio de proceso supone un cambio de estado,
requiere un esfuerzo considerablemente mayor, que un simple cambio de contexto.
Respecto a la ejecucin del sistema operativo, ya hemos visto anteriormente que el sistema
operativo funciona de la misma forma que un software normal, es decir, es un programa ms
ejecutado por el procesador, por lo tanto, cuando abandona el control debe depender de que el
procesador le permita recuperarlo.
Si el sistema operativo es solamente un conjunto de programas y es ejecutado por el
procesador como cualquier otro programa, tendremos que analizar los distintos enfoques que se
pueden utilizar por los diseadores de sistemas operativos para efectuar el control.
Un enfoque bastante tradicional y habitual en muchos de los sistemas operativos es ejecutar el
ncleo del sistema operativo fuera de cualquier proceso. Con este enfoque, cuando el proceso en
ejecucin es interrumpido o hace una llamada al supervisor, se salva el contexto del procesador para
este proceso y se pasa el control al ncleo.
P1

P2

P3.

Pn

NUCLEO

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

34

GESTIN Y ADMINISTRACIN DE PROCESOS

En este caso, el sistema operativo tiene su propio espacio de memoria y su propia pila del
sistema, para controlar las distintas llamadas y retornos de procedimientos, por lo tanto, el sistema
operativo puede llevar a cabo cualquier funcin y luego restaurar el contexto del proceso
interrumpido para reanudarlo o bien completar la funcin de salvar el entorno del proceso y
continuar con la planificacin y expedicin de otro proceso, todo depender de la causa de la
interrupcin y de las circunstancias del momento.
En cualquier caso en este enfoque se considera que el concepto de proceso se aplica solo a
los programas del usuario y por lo tanto el cdigo del sistema operativo se ejecuta como una entidad
separada que opera en modo privilegiado.
Una alternativa que es comn en los sistemas operativos de maquinas pequeas, es decir, en
minicomputadores y microcomputadores, consiste en ejecutar casi todo el software del sistema
operativo en el contexto de un proceso de usuario.
P1

P2

FUNCIONES
DEL
SISTEMA
OPERATIVO

FUNCIONES
DEL
SISTEMA
OPERATIVO

Pn
FUNCIONES
DEL
SISTEMA
OPERATIVO

FUNCIONES DE CAMBIO DE PROCESO

En este enfoque el sistema operativo esta formado por un conjunto de rutinas, que el usuario
llama para realizar algunas funciones y que son ejecutadas dentro del entorno del proceso de usuario,
tal y como se expresa en la figura. En un momento dado, el sistema operativo estar gestionando n
imgenes de procesos y en cada imagen se incluye no solo las regiones correspondientes al programa
de usuario, sino tambin las zonas de programas, datos y pilas para los programas del ncleo.
IDENTIFICACIN
DEL PROCESO
INFORMACIN
DEL ESTADO DEL
PROCESADOR

BLOQUE DE CONTROL DEL PROCESO

INFORMACIN DE
CONTROL DEL
PROCESO
PILA DEL USUARIO
ESPACIO PRIVADO
DE DIRECCIONES
DEL USUARIO
PILA DEL NUCLEO
ESPACIO DE
DIRECCIONES
COMPARTIDO

La figura expresada anteriormente, propone una estructura tpica para la imagen de un


proceso de usuario segn esta estrategia. En ella vemos que se utiliza una pila del ncleo separada
para gestionar las llamadas y los retornos, mientras el proceso est en modo ncleo. El cdigo y los
datos del sistema operativo estn en el espacio de direcciones compartidas y son compartidos por
todos los procesos de usuario.
Cuando se produce una interrupcin, el procesador se pone en modo ncleo y el control pasa
al sistema operativo. Para ello, se salva el contexto del procesador y tiene lugar un cambio de
contexto hacia una rutina del sistema operativo. Sin embargo, la ejecucin continua dentro del
APUNTES DE SISTEMAS OPERATIVOS

35

TEORA DE LOS SISTEMAS OPERATIVOS

proceso de usuario en curso, de esta manera, no se realiza un cambio de proceso, sino un cambio de
contexto dentro del mismo proceso.
Si el sistema operativo, al completar su trabajo, determina que el proceso en curso se debe
continuar ejecutando, entonces se lleva a cabo un cambio de contexto para reanudar el programa
interrumpido del proceso en curso, siendo esta una de las ventajas clave de este enfoque.
El programa de usuario se interrumpe para emplear alguna rutina del sistema operativo y
luego se reanuda sin realizarse ningn cambio de proceso, no obstante, si se determina que va a
producirse un cambio de proceso, entonces se pasa el control a una rutina que realiza el cambio entre
procesos. Esta rutina debe poner el proceso en curso en estado de No ejecucin y por lo tanto,
otro proceso debe designarse como proceso en ejecucin, esta accin tiene que realizarse fuera de
todos los procesos.
Una ltima alternativa, ilustrada en la figura que estamos comentando, es la de implementar
el sistema operativo como un conjunto de procesos y al igual que en las otras opciones, el software
que forma parte del ncleo se ejecutar en modo ncleo. En este caso, las funciones ms importantes
del ncleo se organizan en procesos separados, pero puede haber una pequea cantidad de cdigo
para el cambio de procesos, que se debe ejecutar fuera de todo proceso.
U1

U2

. Un

SO1

SO2

SOn

FUNCIONES DE CAMBIO DE PROCESO

Este enfoque tiene varias ventajas:

Impone unas normas de diseo de programas, que promueven el uso de un sistema


operativo modular, con unas interfaces mnimas y claras entre los mdulos.
Algunas funciones no crticas del sistema operativo, se pueden implementar como
procesos separados.

Por ejemplo, se ha mencionado anteriormente un programa supervisor, que registra el nivel


de utilizacin de los recursos, es decir, el procesador, la memoria y los dispositivos de E/S, adems
de la velocidad de progreso de los procesos de usuario en el sistema.
Como este programa no provee un servicio particular a ningn proceso activo, puede ser
invocado solamente por el sistema operativo, con un nivel de prioridad asignado y ser intercalado
con otros procesos bajo el control del distribuidor.
Por ltimo, implementar el sistema operativo como un conjunto de procesos, es til en un
entorno de multiprocesador o de varias computadoras, en el cual algunos de los servicios del sistema
operativo pueden enviarse a procesadores dedicados, mejorando as el rendimiento.

APUNTES DE SISTEMAS OPERATIVOS

ANGEL GLEZ. DEL ALBA

Вам также может понравиться