You are on page 1of 22

UNIVERSIDAD DE

GUADALAJARA
Nombre del alumno:
Rodrguez Reynoso Genaro
Cdigo: 005029961
Carrera: COM
Departamento:
Ciencias computacionales
Profesor:
Becerra Velzquez Violeta
Seccin: D03
Fecha: Septiembre 05, 2014
TAREA MODULO II:
Administrador de procesos
CENTRO UNIVERSITARIO DE
CIENCIAS EXACTAS E
INGENIERIAS
CONTENIDO TEMTICO
CONTENIDO TEMTICO............................................................................................1
ADMINISTRACION DE PROCESOS...........................................................................2
PROCESO: Definicin..............................................................................................3
Creacin y Terminacin de procesos. ......................................................................3
Creacin................................................................................................................3
Terminacin ..........................................................................................................4
Estados de un proceso. ............................................................................................5
Procesos suspendidos .............................................................................................6
Estructuras de control del sistema operativo............................................................8
Estructuras de control de procesos ..........................................................................8
Control de procesos .................................................................................................9
Creacin de procesos ...........................................................................................9
Cambio de proceso...............................................................................................9
Interrupciones.........................................................................................................10
Cambio de contexto................................................................................................ 11
Cambio de estado de los procesos ........................................................................11
Bloque de Control ...................................................................................................11
Identificacin de Proceso....................................................................................12
Registros del Procesador (CPU) .........................................................................12
Informacin de Planificacin y de Estado ...........................................................13
Tipos de planificacin. ............................................................................................ 14
Algoritmos de Planificacin.....................................................................................15
Diferentes algoritmos de planificacin. ............................................................... 16
Consideraciones Finales ........................................................................................21
Sistemas Operativos
2
ADMINISTRACION DE PROCESOS
Administracin de Procesos
Genaro Rodrguez Reynoso
PROCESO: Definicin
Un proceso, tambin llamadas tareas y es una instancia de un programa en
ejecucin, tambin se dice que es la unidad ms pequea de trabajo individualmente
planificable por un sistema operativo. Es una divisin implcita de tareas definidas por
el sistema, tambin se dice que pueden estar definidas por el programador, es decir
pueden ser tecleadas mediante cdigo por el usuario es decir mandar a leer de una
unidad de disco, imprimir en una terminal o impresora.
Los procesos son divididos por el sistema y la divisin aparece en sistemas de
multiprogramacin como por ejemplo un sistema de tiempo compartido donde cada
programa se lo trata como independiente. Est definida por los programadores a
cada uno de los procesos donde se define atributos como por ejemplo una aplicacin
se puede dividir en varias tareas con el propsito de que haya ganancia de
velocidad, el uso eficiente de los dispositivos de entrada y salida.
A continuacin se presentan algunas otras definiciones que se asemejan:
Un programa en ejecucin
Una actividad asncrona
El "espritu animado" de un procedimiento
El "centro de control" de un procedimiento en ejecucin
Lo que se manifiesta por la existencia de un "bloque de control del proceso"
(BCP) en el sistema operativo.
La entidad a la que se asignan los procesadores
La unidad "despachable".
Aunque se han dado muchas otras definiciones, no hay una definicin
universalmente aceptada, pero el concepto de "Programa en ejecucin" parece ser el
que se utiliza con ms frecuencia. Un programa es una entidad inanimada; slo
cuando un procesador le "infunde vida" se convierte en la entidad "activa" que se
denomina proceso.
Un proceso pasa por una serie de datos discretos. Se dice que un proceso se est
ejecutando (estado de ejecucin), si tiene asignada la UCP. Se dice que un proceso
est listo (estado listo) si pudiera utilizar una UCP en caso de haber una disponible.
Un proceso est bloqueado (estado bloqueado) si est esperando que suceda algn
evento antes de poder seguir la ejecucin.
Creacin y Terminacin de procesos.
Creacin
Cuando se aade un proceso, hay que construir las estructuras de datos que se
utilizan para administrar el proceso y asignar el espacio de direcciones que va a
utilizar dicho proceso. Hay diferentes razones por las que se puede crear un proceso.
Sistemas Operativos
4
1- Nueva tarea en proceso por lotes.- Un proceso se crea como respuesta a la
emisin de un trabajo.
2- Nueva conexin iterativa.- Se crea un proceso cuando un nuevo usuario
intenta conectarse.
3- Proceso del SO para dar un servicio.- El SO crea un proceso como parte de
una aplicacin (para una solicitud de impresin el SO crea un proceso para
gestiones solicitud).
4- Generado por otro proceso ya existente.- Tradicionalmente todos los procesos
eran creados por el SO de una forma transparente para el usuario o para el
programa de aplicacin. Sin embargo, puede ser til permitir que un proceso
pueda originar la creacin de un proceso. El nuevo proceso se ejecutar de
forma paralela con la aplicacin.
Cuando un proceso es creado por el sistema operativo tras la solicitud explcita de
otro proceso, la accin se conoce como generacin de procesos (process spawning).
Cuando un proceso genera otro, el proceso generador se conoce como proceso
padre y el proceso generado es el proceso hijo.
Existen dos tipos de creacin:
Jerrquica: cada proceso que se crea es hijo del proceso creador y hereda el
entorno de su ejecucin de su padre. Un proceso durante su ejecucin puede
crear varios procesos hijos a travs de llamadas al sistema para creacin de
procesos. Al restringirse un proceso hijo a un subconjunto de recursos del
padre, se evita que ste sature al sistema creando demasiados procesos
hijos. Al crear procesos hijos, el padre contina ejecutando concurrentemente
con sus hijos o espera a que todos sus hijos hayan terminado y luego contina
l.
No jerrquica: cada proceso creado se ejecuta en forma independiente de su
creador en un entorno diferente.
Terminacin
En cualquier sistema informtico, debe existir alguna forma de que un proceso pueda
indicar que ha terminado. En un proceso por lotes debe indicar al final la instruccin
HALT (Terminacin) y en un entorno iterativo debe ser el usuario quien d la orden
de terminacin, etc.
Existen diversas razones para la terminacin de un proceso, por ejemplo:
1- Normal.- El proceso ejecuta llamada al servicio del SO que notifica su
terminacin normal.
Administracin de Procesos
Genaro Rodrguez Reynoso
2- Por tiempo excedido.- Una tarea tiene asignada la CPU ejecuta el tiempo
mximo y le es requisada la CPU y pasa a la cola para competir por la nueva
asignacin.
3- Violacin de limites.- Proceso trata de acceder a una posicin de memoria que
no le est permitida acceder.
4- No memoria disponible.- El proceso necesita ms memoria de la que el
sistema puede proporcionar.
5- Error de proteccin.- El proceso intenta utilizar un recurso o archivo que no le
est permitido utilizar, o trata de utilizarlo de forma incorrecta.
6- Error aritmtico.- Si el proceso intenta hacer un clculo prohibido, como la
divisin por cero, o trata de acceder a un nmero mayor del que el hardware
acepta.
7- Tiempo mximo de espera de recurso.- El proceso ha esperado ms alla del
tiempo mximo especificado para que se produzca cierto suceso.
8- Fallo de dispositivo de E/S.- Se produce un error en una operacin de E/S
9- Instruccin no valida.- El proceso intenta ejecutar una instruccin inexistente (
a menudo como resultado de un salto para ejecutar datos en la zona de datos)
10-Intento de acceso a una instruccin privilegiada.- El proceso intenta utilizar
una instruccin reservada para el SO.
11-Finalizacin del padre.- Cuando un proceso padre finaliza, el SO puede
disearse para terminar automticamente con todos sus descendientes.
12-Mal uso de los datos.- Un elemento de dato, no est inicializado o es de un
tipo equivocado.
13-Intervencin del operador o del SO.- Por alguna razn el operador o el SO
termina con un proceso (ej.: Interbloqueo).
14-Solicitud del padre.- Un proceso padre tiene normalmente autoridad para
terminar con cualquiera de sus hijos.
Estados de un proceso.
Algunos procesos en el estado ejecucin estn listos para ejecutar, mientras que
otros estn bloqueados, esperando a que termine una operacin de E/S. (Por lo que
el modelo de dos estados no sirve).
As pues utilizando una cola sencilla el distribuidor busca el proceso ms antiguo de
la cola y que no est bloqueado, una forma ms natural de afrontar esta situacin es
dividir el estado de No ejecucin en dos: Lista y Bloqueado. Por tanto los 5 estados
de este nuevo modelo son:
Ejecucin: El que est actualmente en ejecucin.
Listo: Preparado para ejecutar en cuanto se le d la oportunidad.
Bloqueados: No puede ejecutar hasta que se produzca un cierto suceso.
(Terminacin de una operacin de E/S).
Nuevo: Proceso que se acaba de crear pero que todava no ha
Sistemas Operativos
6
sido admitido por el SO en el grupo de procesos
ejecutables.
Terminado: Un proceso que ha sido excluido por el SO del grupo de
procesos ejecutables.
Si un nuevo usuario intenta conectarse a un sistema de tiempo compartido o si un
nuevo trabajo por lotes es remitido para su ejecucin. El sistema operativo puede
definir un nuevo proceso en dos pasos. Primero, el S.O: lleva a cabo algunas tareas
necesarias de gestin interna Se le asocia un identificador al proceso y se
construyen y asignan algunas tablas necesarias para gestionar el proceso. En este
punto, el proceso estar en el estado Nuevo. Esto significa que se han llevado a
cabo las acciones necesarias para crear el proceso pero no se ha comprometido an
a su ejecucin.
Asimismo, un proceso sale de un sistema en dos pasos. Primero, el proceso termina
cuando 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 terminacin pasa el proceso al estado Terminado. En este punto, el
proceso ya no se elige ms para la ejecucin. Sin embargo, las tablas y otra
informacin asociada con el trabajo son conservadas temporalmente. Esto le da
tiempo a otros programas auxiliares o de soporte para extraer la informacin
necesaria.
A medida que se admiten procesos en el sistema, se sitan en la cola de Listo.
Cuando llega el momento de que el S.O. escoja otro proceso para ejecutar, se
selecciona uno de la cola de Listos. En ausencia de un esquema de prioridades, sta
puede ser una simple cola FIFO. Cuando un proceso que est ejecutndose es
apartado de la ejecucin, se lo da por terminado o se lo pone en la cola de Listos o
Bloqueados, dependiendo de las circunstancias.
Por ltimo, cuando se produce un suceso, todos los procesos de la cola de
Bloqueados que estn esperando a dicho suceso se pasan a la cola de Listos. Esta
ltima medida significa que, cuando se produce un suceso, el sistema operativo debe
recorrer toda la cola de Bloqueados, buscando aquellos que esperaban al suceso. En
un S.O. grande, puede haber demasiada cantidad de procesos en dichas cola y, por
lo tanto, sera ms eficiente tener una varias colas de Bloqueados, una por cada
suceso.
Procesos suspendidos
Consideremos un sistema que no utiliza memoria virtual. Cada proceso que va a
ejecutarse debe ser cargado por completo en la memoria principal. La memoria
contiene varios procesos y el procesador puede dedicarse a otro proceso cuando
uno est esperando. Pero si el procesador es tan rpido en comparacin con E/S,
todos los procesos de memoria estarn esperando este recurso. As pues, incluso
Administracin de Procesos
Genaro Rodrguez Reynoso
con multiprogramacin, el procesador podra estar desocupado la mayor parte del
tiempo.
Una solucin es el intercambio, que significa mover una parte o todo el proceso de la
memoria principal a disco. Cuando ninguno de los procesos en memoria est en
estado Listo, el sistema operativo expulsa a disco a uno de los procesos que est
Bloqueado y lo pasa a una cola de Suspendidos. Al realizar la transferencia del
proceso a disco, entonces el espacio que se libera de la memoria principal puede ser
utilizado para traer otro proceso. En este modelo vemos que se ha agregado un
estado Suspendido.
Hemos visto dos conceptos independientes: si un proceso est esperando un suceso
(bloqueado o no) y si un proceso ha sido expulsado de la memoria principal
(suspendido o no). Para realizar las combinaciones de estos conceptos, hacen falta
los cuatro estados siguientes:
Listo: El proceso est en memoria principal y listo para la
ejecucin.
Bloqueado: El proceso est en memoria principal esperando un suceso.
Bloqueado y
suspendido:
El proceso est en memoria secundaria esperando un
suceso.
Listo y
suspendido:
El proceso est en memoria secundaria pero est disponible
para su ejecucin tan pronto como se cargue en memoria
principal.
Lo anterior nos conduce a modificar la nuestro modelo de 5 estados a 7 estados, sin
embargo muchos autores contemplan que los estados suspendidos estn contenidos
en el estado bloqueado y no son propios como dos estados ms, para fines de
ilustracin se contemplaran los estados suspendidos y sus transiciones dejndolo de
la siguiente manera:
Sistemas Operativos
8
Estructuras de control del sistema operativo
Si el sistema operativo va a administrar los procesos y los recursos, entonces tiene
que disponer de informacin sobre el estado actual de cada proceso y de cada
recurso. El S.O. construye y mantiene tablas de informacin sobre cada entidad que
est administrando. Hay cuatro tipos de tablas diferentes mantenidas por el sistema
operativo: de memoria, de E/S, de archivos y de procesos.
Las tablas de memoria deben incluir la siguiente informacin:
La asignacin de memoria principal a los procesos.
La asignacin de memoria secundaria a los procesos.
Atributos de proteccin de segmentos de memoria, tales como qu procesos
pueden acceder a ciertas regiones compartidas de memoria.
Cualquier informacin necesaria para gestionar la memoria virtual.
Las tablas de E/S son utilizadas por el sistema operativo para administrar los
dispositivos y canales de E/S del sistema informtico.
Las tablas de archivos ofrecen informacin sobre la existencia de los archivos, su
posicin en la memoria secundaria, su estado actual y otros atributos. Gran parte de
esta informacin (o toda) puede ser mantenida y utilizada por un sistema de gestin
de archivos, en cuyo caso el sistema operativo tendr poco o ningn conocimiento de
los archivos, finalmente, el sistema operativo debe mantener tablas de procesos para
administrarlos.
Todas estas tablas deben estar enlazadas o disponer de referencias cruzadas de
alguna manera. La memoria, E/S y los archivos son administrados en nombre de los
procesos, por lo que debe haber alguna referencia directa o indirecta a estos
recursos en las tablas de procesos.
Estructuras de control de procesos
Los elementos tpicos de una imagen de proceso son:
Espacio de direcciones privadas del usuario: incluye los datos del usuario (la
parte modificable del espacio de usuario que puede guardar datos del
programa, una zona para una pila del usuario y programas que pueden
modificarse) y el programa del usuario (programa a ejecutar).
Pila del sistema: cada proceso tiene una o ms pilas LIFO asociadas a l. Una
pila se utiliza para almacenar los parmetros y las direcciones de retorno.
Bloque de control del proceso: informacin necesaria para que el sistema
operativo controle al proceso.
Espacio de direcciones compartidas con otros procesos.
Administracin de Procesos
Genaro Rodrguez Reynoso
Para que el sistema operativo pueda administrar el proceso, al menos una pequea
parte de su imagen debe mantenerse en memoria principal, la cual contiene la
informacin a usar por el sistema operativo,. Para ejecutar el proceso, la imagen
completa debe cargarse en la memoria principal. Por tanto, el sistema operativo
necesita conocer la ubicacin de cada proceso en el disco y tambin la ubicacin de
los procesos que estn en memoria principal.
Hay una tabla principal de procesos con una entrada para cada proceso. Cada
entrada contiene, al menos, un puntero a la imagen de un proceso. Si la imagen del
proceso contiene varios bloques, entonces esta informacin estar guardada
directamente en la tabla principal o con referencias cruzadas a entradas de las tablas
de memoria.
Control de procesos
Creacin de procesos
El procedimiento del sistema operativo para la creacin de un nuevo proceso incluye
los pasos siguientes:
1- Asignar un nico identificador al nuevo proceso. En ese momento se aade
una nueva entrada a la tabla principal de procesos, que contiene una entrada
por proceso.
2- Asignar espacio para el proceso. Esto incluye todos los elementos de la
imagen del proceso.
3- Debe inicializarse el PCB. La parte de informacin del estado del procesador
normalmente se inicializa con la mayor parte de las entradas a cero, excepto
para el IP (que se prepara con el punto de entrada del programa) y los
punteros a las pilas del sistema (que establecen los lmites de la pila del
proceso). La parte de informacin de control del procesador se inicializa a
partir de los valores estndares por omisin y los atributos que se han
solicitado para el proceso. La prioridad puede asignarse por omisin al valor
ms bajo, a menos que se haya hecho una solicitud explcita de un valor
mayor.
4- Se deben establecer los enlaces apropiados
5- Puede haber otras estructuras de datos que crear o ampliar.
Cambio de proceso
A primera vista, la funcin de cambio de proceso parece sencilla. En cierto momento,
un proceso que est ejecutndose se interrumpe, el sistema operativo pone a otro
proceso en el estado de Ejecucin y pasa el control a dicho proceso. Sin embargo,
surgen algunas cuestiones. Una de esas cuestiones es cundo cambiar de proceso.
Sistemas Operativos
10
Existen tres mecanismos para realizar un cambio de proceso:
Cepo: tiene que ver con una condicin de error o de excepcin generada
dentro del proceso que est ejecutndose, como un intento ilegal de acceso a un
archivo. El sistema operativo determina si el error ocurrido es fatal. Si lo es, el
proceso que estaba ejecutndose pasa al estado de Terminado y se produce un
cambio de proceso. Si no es fatal, se puede intentar algn procedimiento de
recuperacin o, simplemente, notificarlo al usuario. Se puede hacer un cambio de
proceso o, simplemente, reanudar el mismo proceso que se estaba ejecutando.
Llamada del supervisor: se producen desde el programa que estaba
ejecutndose. Por ejemplo, se est ejecutando un proceso de usuario y se llega a
una instruccin que solicita una operacin de E/S, tal como abrir un archivo. Esta
llamada provoca la transferencia a una rutina que forma parte del cdigo del sistema
operativo. Por lo general, el uso de una llamada al sistema hace que el proceso de
usuario pase al estado Bloqueado.
Interrupcin: originada por algn suceso externo e independiente del proceso
que est ejecutndose.
Interrupciones
Cuando se origina una interrupcin, el control se transfiere primero a un gestor de
interrupciones, quien lleva a cabo algunas tareas bsicas y luego se salta a una
rutina del sistema operativo que se ocupa del tipo de interrupcin que se produjo.
Algunos ejemplos son:
Interrupcin de reloj: el S.O. determina si el proceso que est ejecutndose
ha estado ejecutndose durante un mximo de tiempo permitido. Si esto
ocurre, el proceso pasa al estado Listo y se debe expedir otro proceso.
Interrupcin de E/S: cuando el S.O. reconoce que se produjo una accin de
E/S, y la accin constituye un suceso que estn esperando uno o ms
procesos, entonces el S.O. traslada todos los procesos bloqueados al estado
Listo y decide si reanuda la ejecucin del proceso que est actualmente en
estado de Ejecucin o se expulsa a dicho proceso en favor de un proceso
Listo de mayor prioridad.
Fallo de memoria: cuando el procesador encuentra una referencia a una
direccin de memoria virtual de una palabra que no est en memoria principal,
el S.O. debe traer a dicha memoria el bloque que contiene la referencia.
Despus de hacer la solicitud de E/S para traer el bloque de memoria, el S.O.
puede llevar a cabo un cambio de contexto para reanudar la ejecucin de otro
proceso; el proceso que cometi el fallo de memoria se pasa a estado
Bloqueado. Despus de que el bloque en cuestin se carga en memoria, dicho
proceso se pone en estado Listo.
Administracin de Procesos
Genaro Rodrguez Reynoso
Cambio de contexto
Durante un ciclo de instruccin, el procesador comprueba si se ha producido alguna
interrupcin. Si no hay interrupcin pendiente, contina con el ciclo de lectura de la
instruccin siguiente del programa en curso del proceso actual.
Si hay alguna interrupcin pendiente, el procesador salva el contexto del programa
que est ejecutndose y asigna al IP el valor de la direccin de comienzo de un
programa de tratamiento de la interrupcin. El procesador contina entonces con el
ciclo de lectura de instruccin y trae la primera instruccin del programa de
tratamiento de interrupciones, que atender a la interrupcin. Al salvar el contexto, se
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. As pues, deber salvarse la parte de informacin de estado
del procesador del PCB. El resto de la informacin del PCB depende de la influencia
del tratamiento de la interrupcin en el proceso.
Cambio de estado de los procesos
Est claro que el cambio de contexto es un concepto distinto del cambio de proceso.
En los cambios de estado del proceso, por ejemplo, si el proceso que estaba
ejecutndose pasa a otro estado (Listo, Bloqueado, etc.) los pasos que se llevan a
cabo son:
Salvar el contexto del procesador
Actualizar el PCB que estaba en estado de Ejecucin. Esto implica cambiar el
estado del proceso a alguno de los otros estados.
Mover el PCB a la cola apropiada (Listos, Bloqueados, etc.)
Seleccionar otro proceso para ejecucin
Actualizar el PCB del proceso seleccionado. Esto incluye cambiar el estado
del proceso a Ejecucin.
Actualizar las estructuras de datos de gestin de memoria.
Restaurar el contexto del proceso a aqul que exista en el momento en el que
el proceso seleccionado dej por ltima vez el estado de Ejecucin.
Ejecucin del sistema operativo.
Bloque de Control
BCP: Es una estructura asociada a cada proceso en la cual se almacena informacin
referente a dicho proceso. Cuando un proceso es creado, junto a l ha de crearse un
bloque de control de proceso (BCP) asignado al mismo.
Sistemas Operativos
12
Informacin que almacena:
Identificador de proceso. Es un nmero i entre 0-N (no se admiten n
negativos). Se le denomina PID y es el mismo durante toda la vida del
proceso.
Registros de la CPU. Almacenan informacin necesaria del proceso cuando
se producen interrupciones como consecuencia de un cambio de estado, y as
poder recuperarla para volver al estado original.
Lmites de memoria. Indican los lmites de memoria utilizados por un
determinado proceso para evitar que otros los invada. Adems existe una
zona de memoria donde se colocan los BCP, esa zona solo es accesible por
el sistema operativo cuando se encuentra en modo supervisor.
Informacin del status de las operaciones de E/S. Se refiere a las
operaciones de E/S que el proceso est realizando, sobre que dispositivos si
son de Entrada o de Salida. Estas operaciones, segn van siendo atendidas,
van siendo eliminadas del BCP.
Informacin del planificador de procesos. Sobre el tipo de algoritmo de
planificacin que se est utilizando.
Identificacin de Proceso
Los identificadores numricos que se pueden guardar en el bloque de control de
proceso incluyen:
Identificador de este proceso
Identificador del proceso que cre a este proceso (el proceso padre)
Identificador del usuario
Registros del Procesador (CPU)
Registros Visibles para el Usuario: Un registro visible para el usuario es
aqul al que puede hacerse referencia por medio del lenguaje mquina que ejecuta
el procesador. Normalmente, existen de 8 a 32 de estos registros, aunque algunas
implementaciones RISC tienen ms de 100.
Registros de Control y de Estado: Hay varios registros del procesador que
se emplean para controlar su funcionamiento. Entre estos se incluyen:
Contador de programa: Contiene la direccin de la prxima instruccin
a ser tratada.
Cdigos de condicin: Muestran el resultado de la operacin aritmtica
o lgica ms reciente (signo, cero, acarreo, igualdad, desbordamiento).
Informacin de estado: Incluye los indicadores de habilitacin o
inhabilitacin de interrupciones y el modo de ejecucin.
Administracin de Procesos
Genaro Rodrguez Reynoso
Informacin de Planificacin y de Estado
Es la informacin que se necesita por el sistema operativo para llevar a cabo sus
funciones de planificacin. Los elementos tpicos de esta informacin son los
siguientes:
Estado del proceso: Define la disposicin del proceso para ser planificado
para ejecutar (en ejecucin, listo, esperando, detenido).
Prioridad: Se puede usar uno o ms campos para describir la prioridad de
planificacin de los procesos. En algunos sistemas se necesitan varios valores
(por omisin, actual, la ms alta permitida).
Informacin de planificacin: sta depender del algoritmo de planificacin
utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha
estado esperando y la cantidad de tiempo que el proceso ejecut la ltima
vez.
Suceso: La identidad del suceso que el proceso est esperando antes de
poder reanudarse.
Hay algunos otros elementos dentro del BCP que se pueden generalizar, a
continuacin mencionare algunos:
Estructuracin de datos.- Un proceso puede estar enlazado con otros procesos en
una cola, un anillo o alguna otra estructura. Por ejemplo, todos los procesos que
estn en estado de espera de un nivel determinado de prioridad pueden estar
enlazados en una cola. Un proceso puede mostrar una relacin padre-hijo (creador-
creado) con otro proceso. El bloque de control de proceso puede contener punteros a
otros procesos para dar soporte a estas estructuras.
Comunicacin entre Procesos.- Puede haber varios indicadores, seales y
mensajes asociados con la comunicacin entre dos procesos independientes. Una
parte de esta informacin o toda ella se puede guardar en el bloque de control de
proceso.
Privilegios de los procesos.- A los procesos se les otorgan privilegios en trminos
de la memoria a la que pueden acceder y el tipo de instrucciones que pueden
ejecutar. Adems, tambin se pueden aplicar privilegios al uso de los servicios y
utilidades del sistema.
Gestin de Memoria.- Esta seccin puede incluir punteros a las tablas de pginas
y/o segmentos que describen la memoria virtual asignada al proceso.
Propiedad de los Recursos y Utilizacin.- Se pueden indicar los recursos
controlados por el proceso, tales como los archivos abiertos. Tambin se puede
incluir un histrico de la utilizacin del procesador o de otros recursos; esta
informacin puede ser necesaria para el planificador.
El sistema operativo debe tener una tabla central que nos permita acceder a todas
las estructuras de datos BCP as como al resto de las estructuras existentes. Esta
tabla tiene la siguiente forma:
Sistemas Operativos
14
Tipos de planificacin.
La planificacin del microprocesador consiste en asignar los procesos de forma que
se cumplan determinados objetivos El tiempo de respuesta sea mnimo,
productividad mxima (Rendimiento ptimo del sistema).
En el transcurso de su vida, un proceso transita por las diferente colas del SO y es
este quien debe seleccionar los procesos que entran en esas colas. (Tarea realizada
por el planificador.) Se manejan dos tipos de planificacin general:
1- Planificador a Largo Plazo.- Selecciona procesos de un depsito y las carga
en memoria para su ejecucin. (Planificador de procesos.)
2- Planificador a Corto Plazo.- Selecciona uno de los procesos Listos para
ejecucin y le asigna la CPU. (Planificador de la Cola de Nuevos).
La principal diferencia entre los planificadores es su frecuencia de ejecucin:
El planificador a corto plazo debe seleccionar con mucha frecuencia un nuevo
proceso (Como mnimo una vez cada 10 milisegundos).
El planificador a largo plazo se ejecuta con una frecuencia menor (Pueden
transcurrir minutos entre la creacin de procesos).
Si el grado de multiprogramacin es estable la tasa de creacin debe ser igual a la
tasa de salida de procesos del sistema. En algunos sistemas es posible que no
exista planificador a largo plazo o que su funcin sea mnima.
Administracin de Procesos
Genaro Rodrguez Reynoso
Algunos sistemas como los de tiempo compartido deberan presentar un nivel
intermedio de planificacin o:
3- Planificador a Medio Plazo.- Puede ser a veces ventajoso eliminar un
proceso de la memoria y de ese modo reducir el grado de multiprogramacin.
(Colas de suspensin)
A este esquema se le conoce como Swaping, y el planificador a medio plazo se
encarga del intercambio de procesos, sacndolo de la memoria y volvindolo a
introducir ms tarde (Pueden ser necesarios para mejorar la mezcla de procesos o
para liberar memoria
Existen tambin otros planificadores:
Planificador de E/S.- Gestiona las diferentes colas de bloqueo. (Colas de
Dispositivo).
Planificacin de la CPU.- Ciclo de rfagas de CPU y E/S La ejecucin de un
proceso consiste en un ciclo de ejecucin de CPU y espera de E/S. La ejecucin de
un procesos comienza con una rfaga de CPU, a esta el siguen rfagas de CPU y
E/S. La ltima rfaga de CPU, terminar con solicitud al sistema de terminacin
ejecucin.
Un programa limitado por E/S tendr muchas rfagas de CPU breves.
Un programa limitado por la CPU tendr pocas rfagas de CPU muy largas.
Planificador de CPU El proceso de seleccin de procesos se realiza por el
planificador a corto plazo. La cola de listos, tendr diferentes implementaciones,
conceptualmente se encuentran en fila esperando una oportunidad para ejecutarse.
Colas de planificacin.- Conforme los procesos entran en el sistema se colocan en
la colas de procesos (Residen en almacenamiento secundario). Los procesos que
residen en memoria principal se colocan en la cola de procesos listos. (Cada PCB
tiene un apuntador que indica cual es el siguiente proceso en la cola de listos).
Algoritmos de Planificacin
La planificacin se hace teniendo en cuenta determinados criterios:
Tiempo de respuesta.- En un sistema interactivo puede que el mejor criterio
no sea el tiempo de retorno, por eso se utiliza esta otra medida: Tiempo que
transcurre desde que se emite solicitud hasta que se recibe la primera
respuesta.
Sistemas Operativos
16
Tiempo de retorno.- Desde el punto de vista de un nico proceso el criterio
ms importante es el tiempo que tarda en ejecutarse. El intervalo de tiempo
entrada de un proceso en el sistema hasta su finalizacin.
Plazos.- Si se especifica un plazo de terminacin de un proceso la
planificacin debe planificar otras metas a la maximizacin de plazos
cumplidos.
Previsibilidad.- Una tarea que se ejecute reiteradamente se deber ejecutar
en el mismo tiempo y con el mismo coste.
Productividad.- N de procesos finalizados por unidad de tiempo.
Utilizacin de procesador.- Porcentaje de tiempo que procesador est
ocupado.
Equidad.- Todos los procesos deben ser tratados de igual forma impidiendo
inanicin de un proceso.
Prioridades.- Se debe favorecer a los procesos con mayor prioridad.
Recursos equilibrados.- Se deben mantener todos los recursos del sistema
ocupados.
Tiempo de espera.- Total de tiempo que un proceso espera por su ejecucin
completa. Se obtiene sumando los tiempos de espera de todas las rfagas
con el tiempo de espera de la primera rfaga.
Hay otros sistemas cuya poltica de planificacin se basa en prioridades:
Estticas.- Se mantiene en ejecucin.
Dinmicas.- Varan en ejecucin.
Y otras que sus polticas son:
No apropiativas.- Una vez que el proceso obtiene CPU no le puede ser
requisada hasta que acaba la rfaga.
Apropiativas.- Permiten que un proceso con mayor prioridad requise de CPU
al proceso que la tiene asignada sin finalizar la ejecucin.
Diferentes algoritmos de planificacin.
FCFS.
First Come, First Served o lo que es lo mismo el primero que llega es el primero en
ser atendido. Podemos decir que no es expropiativo y no emplea prioridades. Es un
algoritmo muy sencillo de implementar, basta con emplear una cola FIFO, pero corre
el peligro de que un proceso muy largo monopolice la CPU durante mucho tiempo
generando tiempos de espera mayores de los que seran deseables.
Administracin de Procesos
Genaro Rodrguez Reynoso
Round-Robin.
Tambin conocido como RR, Carrousel o planificacin por rondas. Se reparte el
tiempo de CPU en quantums o rodajas. El funcionamiento es dar una rodaja a cada
proceso de forma secuencial. La seleccin de entre los procesos activos se gestiona
segn una cola FIFO o lo que es lo mismo se elige el que ms tiempo lleve
esperando. Si llega un proceso nuevo y hay otro en ejecucin, los ciclos de CPU se
distribuyen entre ambos pero se ejecuta un ciclo de CPU para el proceso en
ejecucin e inmediatamente se le asigna un ciclo al recin llegado. Como se puede
deducir, este algoritmo es expropiativo y no emplea prioridades.
Quantum=2
Quantum=3
SJF.
Son las siglas de Short Job First, es decir el trabajo ms corto primero. En este caso
se seleccionar el proceso que requiera menor tiempo de ejecucin (si dos tienen el
mismo tiempo se decide por FIFO). El problema puede aparecer con procesos muy
largos que estn siempre bloqueados por procesos ms cortos. Este algoritmo puede
ser expropiativo o no. En la variante expropiativa denominada SRTN (Shortest
Remainig Time Next) medimos el tiempo restante que le queda a cada proceso.
Sistemas Operativos
18
SRTN.
Es la variedad expropiativa de SJF. Eso significa que el proceso con menor tiempo
para acabar es el siguiente proceso en ejecutarse expropiando la CPU
inmediatamente al proceso que este en ejecucin en el instante correspondiente. El
problema vendra en el caso que tengamos un proceso que requiera un tiempo de
ejecucin para finalizar igual que un proceso nuevo que entra. Existen dos
soluciones, dar prioridad a los procesos nuevos sobre los procesos en ejecucin o
dar prioridad a los procesos en ejecucin sobre los procesos nuevos.
SRTN con prioridad a procesos en ejecucin
SRTN con prioridad a procesos nuevos
SRTF, Short Remaining Time First.
Es similar al SJF, con la diferencia de que si un nuevo proceso pasa a listo se activa
el dispatcher para ver si es ms corto que lo que queda por ejecutar del proceso en
ejecucin. Si es as, el proceso en ejecucin pasa a listo y su tiempo de estimacin
se decremento con el tiempo que ha estado ejecutndose.
En SRTF se penaliza a las rfagas largas (como en SJF). Un punto dbil de este
algoritmo se evidencia cuando una rfaga muy corta suspende a otra un poco ms
larga, siendo ms larga la ejecucin en este orden al ser preciso un cambio adicional
de proceso y la ejecucin del cdigo del planificador. Trabajos cortos.
Administracin de Procesos
Genaro Rodrguez Reynoso
Caractersticas:
- De los procesos que estn esperando para usar la CPU,SRTF lleva a ejecucin el
proceso al que le reste menos tiempo para terminar.
- Los empates se dirimen mediante FIFO / FCFS
Funcionamiento:
- Los procesos llegan a la cola y solicitan un intervalo de CPU
- Si dicho intervalo es inferior al que le falta al proceso en ejecucin para abandonar
la CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de
preparados.
Inconvenientes:
- El intervalo de CPU es difcil de predecir
- Posibilidad de inanicin: los trabajos largos no se ejecutarn mientras hayan
trabajos cortos.
Por prioridad.
En este tipo de algoritmos el proceso de mayor prioridad es el que se ejecuta. Para
evitar que los procesos con baja prioridad no lleguen a ejecutarse, a lo largo de la
vida de un proceso se puede incrementar dicha prioridad de acuerdo a diferentes
criterios:
Segn la categora del usuario.
Segn el tipo de proceso.
Segn la ocupacin de CPU de los procesos.
Mltiples colas.
Se usan diferentes colas, donde cada cola puede tener diferentes algoritmos de
planificacin y tambin se pueden clasificar los procesos. Se trata de repartir el
tiempo de la CPU entra las diferentes colas segn la carga que tenga cada una. Otra
idea til es migrar los procesos de una cola a otra cuando la situacin lo requiera.
Este algoritmo es uno de los ms completos, pero tambin es de los ms difciles de
implementar.
2 niveles.
Hasta ahora se ha supuesto que todos los procesos estn en memoria, pero qu
pasa cuando hay muchos procesos, o poca memoria y no podemos almacenarlos
todos all. Una de las soluciones ms elegantes consiste en establecer dos niveles,
uno para planificar a largo plazo, donde se situan los procesos que no estn en
memoria y otro nivel a corto plazo donde se ponen los procesos que estn en
memoria.
Sistemas Operativos
20
planificacin
Poltica Ventajas Desventajas
FCFS Apropiativo Ningn proceso espera
indefinidamente
tiempo medio de espera suele ser elevado, un bajo
nivel de uso de la CPU, pobre tiempo de respuesta en
procesos cortos en esquemas con mucha carga, tiende
a favorecer los procesos con carga de CPU respecto a
los que tienen carga de E/S, as como tambin un uso
ineficiente de los dispositivos de E/S.
RR No apropiativo Los procesos cortos mejoran su
tiempo de retorno frente al tiempo
de servicio. El tiempo de respuesta
tambin mejora sustancialmente
Los procesos que se quedan bloqueados por E/S
desaprovechan parte de su cuanto y salen
perjudicados frente a los de gran consumo de CPU.
SJF No Apropiativa Los procesos cortos obtienen un
buen tiempo de respuesta
Los procesos largos tienen tiempo de respuesta altos e
incluso, inanicin. La previsibilidad del sistema se
degrada. Hay que conocer de antemano lo que va a
tardar un proceso en ejecutarse completamente, lo
que es muy difcil.
SRTN Apropiativa el proceso con menor tiempo para
acabar es el siguiente proceso en
ejecutarse
El problema principal se presenta en el caso que se
tenga un proceso que requiera un tiempo de
ejecucin para finalizar igual que un proceso nuevo
que entra.
SRTF Apropiativa No se produce overhead muy
frecuentemente, produce tiempos
de retorno mejores que los del SJF,
trabajos cortos reciben una
atencin inmediata y preferente a
los trabajos largos.
Un punto dbil de este algoritmo se evidencia cuando
una rfaga muy corta suspende a otra un poco ms
larga, El intervalo de CPU es difcil de predecir.
Posibilidad de inanicin: los trabajos largos no se
ejecutarn mientras hayan trabajos cortos.
HRRN no apropiativa Los procesos cortos tendrn
preferencia, los procesos largos que
han esperado tambin tendrn un
trato favorable
Aunque favorece a los trabajos cortos (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 de
los ms cortos. Nuevamente, el tiempo de servicio
debe estimarse antes de emplear esta tcnica.
MLQ apropiativa El proceso que se ejecutar ser el
de mayor prioridad. Y si hubiera
varios, se elegir el mayor segn las
normas de las polticas de gestin
correspondientes
Mientras haya procesos en la cola de foreground, los
de la cola de background no se podrn ejecutar. La
cola de procesos foreground ser ms prioritaria que
la de procesos background
MLFQ Est implantada
en base a 4
colas. Las 3
primeras son RR
y la cuarta es
FCFS.
Ejecucin en modo grfico.
Entorno muy atractivo.
Facilidad de uso.
La limitacin principal de este entorno es que no
implementa ningn control. Especfico de la memoria,
aunque se producen escrituras y lecturas en disco.
Adems, despus de la ejecucin casi no se obtienen
datos estadsticos.
Administracin de Procesos
Genaro Rodrguez Reynoso
Consideraciones Finales
RR
Es adecuado para implementar tiempo compartido.
Se comporta como FCFS pero cada proceso dispone de un cuanto de tiempo
mximo.
Si el cuanto es muy grande (ms grande que el mayor tiempo de CPU de los
procesos), RR se convierte en FCFS ya que los procesos terminan sus rfagas de
CPU antes de que termine el cuanto.
Si el cuanto es muy pequeo se provocaran constantemente cambios de contexto,
disminuyendo el rendimiento.
FCFS
Tiene tiempos de espera bastantes largos.
SJF
Se minimiza el tiempo de espera medio.
Los procesos de larga duracin sufren riesgo de inanicin.
SJF es un caso especial de planificacin por prioridad.
SJF dispone de su versin expulsiva.
Prioridades
Los procesos de prioridad ms baja tienen riesgo de inanicin que podra ser
solventado aumentando de forma progresiva la prioridad de los procesos en espera
(prioridades dinmicas).
La poltica de prioridades puede ser o no expulsiva.

You might also like