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

03/07/2011

INSTITUTO TECNLGICO SUPERIOR DE PNUCO

AGENDA
Concepto de proceso. Estados y transiciones de los procesos Procesos ligeros (Hilos o hebras). Concurrencia y secuenciabilidad. Niveles, objetivos y criterios de planificacin. planificacin Tcnicas de administracin del planificador. FIFO SJF RR Queves multi-level. Multi-level feedback queves

SISTEMAS OPERATIVOS UNIDAD II Administracin de Procesos y del Procesador


Presenta: Ing. Jos Antonio Castillo Gutirrez

INTRODUCCIN
El diseo de un sistema operativo debe reflejar con seguridad los requisitos que se pretende que ste cumpla. Todos los sistemas operativos de multiprogramacin, desde los sistemas monousuario, como Windows NT, hasta los sistemas de grandes computadoras, como MVS, que puede dar soporte a miles de usuarios, estn construidos en torno al concepto de proceso. El sistema operativo debe intercalar la ejecucin de un conjunto de procesos para maximizar la utilizacin del procesador ofreciendo a la vez un tiempo de respuesta razonable. El sistema operativo debe asignar los recursos a los procesos en conformidad con una poltica especifica. El sistema operativo podra tener que dar soporte a la comunicacin entre procesos y la creacin de procesos por parte del usuario

CONCEPTO DE PROCESO
Un programa es una secuencia de instrucciones o acciones definidas a priori, que pueden ser ejecutadas por parte de un procesador. Un proceso es una secuencia de acciones derivadas de la ejecucin de una serie de instrucciones. Esto implica que: j p q Un proceso es un programa en ejecucin que incluye la actividad actual, representada por el valor del contador de programa y el contenido de los registros del procesador. Adems, un proceso incluye la pila del proceso, que contiene datos temporales (como parmetros de subrutinas, direcciones de retorno y variables temporales) y una seccin de datos que contiene variables globales.
JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCEPTO DE PROCESO
ABSTRACCIN DE UN PROCESO

CONCEPTO DE PROCESO
Tres programas cargados en memoria. Cada proceso representa a un programa. Existe un programa que asigna el procesador de un proceso a otro. Cada proceso tiene un tiempo de ejecucin luego de lo cual ingresa el siguiente proceso
JOS ANTONIO CASTILLO GUTIRREZ

PROCESO
CODIGO ESTADODEL PROCESO
RECURSOS ASIGNADOS

MEMORIA DATOS ARCHIVOSABIERTOS CONEXIONESABIERTAS STACK DISPOSITIVOS

JOS ANTONIO CASTILLO GUTIRREZ

CONCEPTO DE PROCESO
Traza de los tres procesos

CONCEPTO DE PROCESO
100 direccin de inicio para el programa distribuidor (dispatcher) Las reas sombreadas indican ejecucin del proceso dispatcher dispatcher. La primera y tercera columna cuenta el ciclo de instruccin La segunda y cuarta columna muestra la direccin de la que se est ejecutando.

JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCEPTO DE PROCESO

ESTADOS Y TRANSICIONES DE LOS PROCESOS


Nuevo: El proceso esta siendo creado. Ejecutndose: El proceso ejecuta instrucciones de maquina. Listo: El proceso esta contiene todos los elementos de p entorno necesarios para iniciar el uso de tiempo de uP o continuar su ejecucin. Espera: El proceso deja de competir por el procesador , esperando un evento externo (e.g. E/S, sincronizacin con otro proceso, una seal, etc.). Terminado: El proceso a terminado su ejecucin satisfactoriamente.

JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

ESTADOS Y TRANSICIONES DE LOS PROCESOS


NUEVO TERMINADO

ESTADOS Y TRANSICIONES DE LOS PROCESOS


Admitir: El proceso entra a competir por los recursos. Despachar: El planificador (Scheduler) elige de la COLA READY el prximo proceso, cargando el procesador con su contexto. Tiempo agotado: Interrupcin del temporizador (timeout) por efecto de que se le termino su tiempo asignado guardando el estado de un proceso. Despertar: Proceso que vuelve a competir por el procesador al ocurrir el evento esperado.

Admitir
Despertar

ESPERANDO
Esperar Tiempo agotado

Salir

LISTO
Despertar

EJECUTANDOSE

Salir: El proceso termina su ejecucin normalmente o con error).


JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

PROCESOS LIGEROS (HILOS O HEBRAS)


Un Hilo o Hebra es una abstraccin de un procesador (Program counter, registros de trabajo y stack de ejecucin). Una tarea (o proceso) permite que los hilos p g compartan: cdigo, datos y recursos del sistema operativo. Un proceso tradicional es una tarea con un solo hilo. A los hlos tambin se les denominan procesos liviano, en contraposicin a procesos pesados en el concepto tradicional. Los hilos son ms eficientes en la creacin y en el cambio de contexto.
JOS ANTONIO CASTILLO GUTIRREZ

PROCESOS LIGEROS (HILOS O HEBRAS)


Beneficios de los Multi-Hilos.
Mejor respuesta: permite ms interactividad, pues mientras algunas partes se bloquean otras pueden seguir ejecutndose. Comparticin de recursos. Comparten todos los recursos del proceso. Economa. Los hilos son ms livianos que los procesos. Explotacin de multiprocesamiento. Varias hilos pueden realmente correr en paralelo.
JOS ANTONIO CASTILLO GUTIRREZ

PROCESOS LIGEROS (HILOS O HEBRAS)


PROCESO PROCESO

CONCURRENCIA Y SECUENCIABILIDAD
Definiciones de concurrencia:
1. La concurrencia es el solapamiento en el tiempo de la ejecucin de varias actividades. 2. Dos procesos, P1 y P2, se ejecutan Concurrentemente si la primera instruccin de P1 se ejecuta entre la primera y la ltima instruccin de P2.
P1 P1 P2

NUCLEO

NUCLEO

P2

uP
JOS ANTONIO CASTILLO GUTIRREZ

uP

Tiempo Real o Paralelismo


No. de Procesadores >= No. de Procesos

Tiempo Aparente o Psudoparalelismo


No. de Procesadores < No. de Procesos

JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCURRENCIA Y SECUENCIABILIDAD
Procesamiento Concurrente es la situacin que se obtiene al hacer un intercalado del sistema, es decir; varios procesos se encuentran en un estado intermedio entre su estado inicial y final. Programacin C P i Concurrente es el conjunto d notaciones t l j t de t i que se usan para expresar paralelismo y tcnicas que se usan para resolver posibles conflictos entre los procesos. Los procesos de un sistema no actan de forma aislada. A veces tienen que: Cooperar para alcanzar el objetivo sincronizacin Competir por el uso de recursos exclusin mutua
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
Sincronizacin: es la comunicacin requerida entre dos o ms procesos con el fin de uniformizar sus actividades. Grficamente:
P1 P2

. . . T . . . .

. . . . . Q . .

Un proceso, P1, llegado a un punto T, no puede continuar su ejecucin hasta que otro proceso, P2 haya llegado a otro punto Q de su ejecucin.

JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
Exclusin Mutua. Tipos de recursos: Compartibles: pueden ser usados por varios procesos de forma concurrente; No compartibles: en cada momento solo pueden ser usados por un nico proceso. Razones: por la naturaleza fsica del recurso; porque la accin sobre el recurso por parte de un proceso puede interferir en la accin de otro proceso.
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
Exclusin Mutua. Es la comunicacin requerida entre dos o ms procesos que se estn ejecutando en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el recurso no compartible a slo uno de los procesos, mientras que los otros deben permanecer a la espera hasta que finalice la utilizacin de dicho recurso por el proceso al que se le asigno. Cuando este proceso termine, el recurso ser asignado a uno de los procesos en espera. Se asegura el correcto uso del recurso.
JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCURRENCIA Y SECUENCIABILIDAD
Seccin Critica o Regin Critica.

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE SEMAFOROS

Es la porcin de cdigo donde un proceso hace uso de un recurso no compartible, por lo tanto debe ejecutarse en exclusin mutua. Las secciones crticas deben ser ejecutadas lo ms rpido posible y adems deben ser cuidadosamente codificadas.

Es una variable (o tipo ) q abstracto de datos) que permite controlar el acceso de mltiples procesos a un recurso comn en un ambiente de programacin paralela.

JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE SEMAFOROS En 1965, E.W. Dijkstra sugiri el uso de una variable entera para contar el nmero de despertares almacenados para su uso posterior. En su propuesta se present un nuevo tipo de variable, llamada Semforo. Un semforo puede tener el valor 0, lo que indica que no existen despertares almacenados; o bien algn valor positivo si estn pendientes uno o ms despertares.

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE SEMAFOROS
Dijkstra, propuso dos operaciones, DOWN y UP (generalizaciones de SLEEP y WAKEUP, respectivamente). La operacin Down verifica si el valor de un semforo es mayor que 0 En este caso decrementa el valor (es decir 0. caso, decir, utiliza un despertar almacenado) y contina. Si el valor es cero, el proceso se va a dormir. La verificacin y modificacin del valor, as como la posibilidad de irse a dormir se realiza en conjunto, como una sola e indivisible accin atmica. Se garantiza que al iniciar una operacin con un semforo, ningn otro proceso puede tener acceso al semforo hasta que la operacin termine o se bloquee. Esta atomicidad es absolutamente esencial para resolver los problemas de sincronizacin y evitar condiciones de competencia.
JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE SEMAFOROS
La operacin UP incrementa el valor del semforo correspondiente. Si uno o ms procesos dorman en ese semforo y no podan completar una operacin Down anterior, el sistema elige alguno de ellos (por ejemplo, en forma aleatoria) y se le permite terminar Down. As, despus de un UP en un semforo con procesos durmiendo, el semforo seguir con valor cero, pero habr un menor nmero de procesos durmiendo. La operacin de incremento del semforo y despertar de un proceso tambin es indivisible. Ningn proceso llega a bloquear mediante un UP. Un semforo es una variable protegida, cuyo valor slo puede ser ledo y alterado mediante las operaciones P y V, y una operacin de asignacin de valores iniciales y (Inicia semforo)..
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE SEMAFOROS
Tipos de Semforos. Semforos Binarios (Valores de 1,0) Semforos Contadores (Valores enteros no negativos) Operacin P (Sobre el semforo S) si S>0 entonces S:=S-1; sino (esperar S) Operacin V (Sobre el semforo S) si (Uno o ms procesos esperan S) entonces (dejar que prosiga uno de esos procesos) sino S:=S+1
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
MECANISMO DE MONITORES
Son mdulos que encierran los recursos o variables compartidas como componentes internos privados y ofrece una interfaz de acceso a ellos que garantiza el rgimen de exclusin mutua. La declaracin de un monitor incluye: D l Declaracin d l constantes, variables, procedimientos y f i de las t t i bl di i t funciones i que son privados del monitor (solo el monitor tiene visibilidad sobre ellos). Declaracin de los procedimientos y funciones que el monitor exporta y que constituyen la interfaz a travs de las que los procesos acceden al monitor. Cuerpo del monitor, constituido por un bloque de cdigo que se ejecuta al ser instanciado o inicializado el monitor. Su finalidad es inicializar las variables y estructuras internas del monitor.
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
CARACTERISTICAS DE LOS MONITORES
Las estructuras de datos internas del monitor cuya finalidad es ser compartidas por mltiples procesos concurrentes, solo pueden ser inicializadas, ledas y actualizadas por cdigo propio del monitor. Los nicos componentes del monitor pblicos (visibles desde mdulos externos) son los procedimientos y funciones exportadas exportadas. El monitor garantiza el acceso mutuamente exclusivo a los procedimientos y funciones de la interfaz. Si son invocados concurrentemente por varios procesos, solo la ejecucin de un procedimientos del monitor es permitido. Los procesos no atendidos son suspendidos hasta que la ejecucin del procedimiento atendido acabe. Dado que todo el cdigo relativo a un recurso o a una variable compartida est incluido en el mdulo del monitor, su mantenimiento es mas fcil y su implementacin es mas eficiente.
JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

CONCURRENCIA Y SECUENCIABILIDAD
Concepto de interbloqueo (Deadlocks). Un proceso esta interbloqueado si est esperando por un evento determinado que nunca va a ocurrir.
Recurso 1 I t bl Interbloqueo entre d t dos procesos por el uso de recursos no compartibles (abrazo mortal)

CONCURRENCIA Y SECUENCIABILIDAD
Condiciones necesarias interbloqueo para que se produzca

Proceso A

Proceso B

Recurso 2
JOS ANTONIO CASTILLO GUTIRREZ

1. Condicin de exclusin mutua: los procesos reclaman control exclusivo de los recursos que piden. 2. Condicin de esperar por: los procesos mantienen los p p p recursos que ya les han sido asignados mientras esperan por recursos adicionales. 3. Condicin de no apropiatividad: los recursos no pueden ser extrados de los procesos que los tienen hasta su completa utilizacin. 4. Condicin de espera circular: existe una cadena circular de procesos en la cual cada uno de ellos mantiene a uno o ms recursos que son requeridos por el siguiente proceso de la cadena
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
A. Prevencin del interbloqueo: condiciona al sistema para que elimine toda posibilidad de que se produzca interbloqueo. Estrategias: Negar la condicin de esperar por: cada proceso debe pedir todos los recursos que va a necesitar de golpe Si el golpe. conjunto de todos ellos est disponible, se le asigna todos. Si no esta disponible todo el conjunto completo, no se le asigna ninguno al proceso y tendr que esperar hasta que estn todos disponibles. Negar la condicin de no apropiatividad: cuando un proceso que tiene recursos le es negada una peticin de recursos adicionales, deber liberar sus recursos y, si es necesario, pedirlos de nuevo junto con los recursos adicionales.
JOS ANTONIO CASTILLO GUTIRREZ

CONCURRENCIA Y SECUENCIABILIDAD
Negar la condicin de espera circular: cuando se instala un recurso se le asigna un nmero exclusivo, de forma que los procesos deben de solicitar los recursos en orden ascendente de acuerdo a los nmeros asignados a dichos recursos. B. Evitar el interbloqueo: condiciona al sistema para que esquive determinadas situaciones con posibilidad de interbloqueo. C. Deteccin del interbloqueo: determinan si existe o no un interbloqueo, e identifica cules son los procesos y recursos implicados en l. D. Recuperacin del interbloqueo: pretenden romper el interbloqueo retirando una o ms de las condiciones necesarias.
JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN


NIVELES DE PLANIFICACIN Se consideran tres niveles importantes de planificacin, los que se detallan a continuacin: Planificacin de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa. S Seleccionando los trabajos que deben admitirse en el sistema. Tambin se denomina Planificacin de trabajos, determina a qu trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina planificacin de admisin, administra todos los recursos del sistema excepto el CPU, mantiene las colas de procesos bloqueados y suspendidos, Controla la creacin de procesos y Maneja el nivel de multiprogramacin.

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN CRITERIOS DEPLANIFICACIN


NIVELES DE PLANIFICACIN Planificacin de nivel intermedio: En algunos casos, en especial cuando el sistema est sobrecargado, el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramacin, y por lo tanto, permitir que los trabajos se completen mas aprisa Determina a qu procesos se les puede permitir competir por la cpu. Efecta suspensiones y activaciones (reanudaciones) de procesos. Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. Equilibrar la administracin de trabajos en el sistema con la asignacin del CPU a dichos procesos. Nivelar la carga del sistema (procesos activos y pasivos).
JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN


NIVELES DE PLANIFICACIN Planificacin de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cul proceso listo se le asignar el CPU cuando ste se encuentra disponible. OBJETIVOS DE LA PLANIFICACIN Ser justa: Todos los procesos son tratados de igual manera. Ningn proceso es postergado indefinidamente. Maximizar la capacidad de ejecucin: Maximizar el nmero de procesos servidos por unidad de tiempo. Maximizar el nmero de usuarios interactivos que reciban unos tiempos de respuesta aceptables: Proporcionar a los usuarios tiempos de ejecucin justa y de manera transparente
JOS ANTONIO CASTILLO GUTIRREZ

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN


OBJETIVOS DE LA PLANIFICACIN

Ser predecible: Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. Minimizar la sobrecarga: No suele considerarse un objetivo muy importante. Equilibrar el uso de recursos: Favorecer a los procesos que utilizarn recursos infrautilizados. Equilibrar respuesta y utilizacin: La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilizacin total de recursos podr ser pobre.
JOS ANTONIO CASTILLO GUTIRREZ

03/07/2011

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIN


OBJETIVOS DE LA PLANIFICACIN Evitar la postergacin indefinida: Se utiliza la estrategia del envejecimiento. Mientras un proceso espera por un recurso su prioridad debe aumentar, as la prioridad llegar a ser tan alta que el proceso recibir el recurso esperado. Asegurar la prioridad: Los mecanismos de planificacin deben favorecer a los procesos con prioridades ms altas. Dar preferencia a los procesos que mantienen recursos claves: Un proceso de baja prioridad podra mantener un recurso clave, que puede ser requerido por un proceso de ms alta prioridad. Si el recurso es no apropiativo, el mecanismo de planificacin debe otorgar al proceso un tratamiento mejor del que le correspondera normalmente, puesto que es necesario liberar rpidamente el recurso clave.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


DEFINICIONES BASICAS Recurso: Objeto que puede ser utilizado por un proceso. Asignacin: Un recurso est asignado a un proceso si g g p ste dispone de un conjunto de operadores para su uso. Administrador: Asigna, recupera y, eventual-mente, expropia un recurso a un proceso. Expropiacin: Cuando el administrador puede reasignar un recurso antes que un proceso lo libere voluntariamente.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


EJEMPLO DE RECURSOS Procesador. Se asigna a los procesos. El administrador dispone de dos procedimientos o componentes: el despachador y el planificador. Memoria Principal. Puede ser con asignacin explcita o implcita. Memoria Secundaria. Se asigna en grupos de bloques de tamao fijo. Asignacin puede ser explcita o implcita. Canales de Comunicacin. Si existen mltiples procesos compartiendo un servicio de un dispositivo de E/S comn, las solicitudes podran ser enviadas a un proceso servidor.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


TIPOS DE ALGORITMOS DE PLANIFICACIN. Expropiacin (preemption). Existen algoritmos con y sin expropiacin del recurso. Intervalos de tiempo El proceso puede recibir el recurso tiempo. por un cierto lapso de tiempo. Prioridades. A los procesos se les pueden asociar prioridades, las cuales pueden ser estticas o dinmicas. Tiempos lmites (deadlines). Existen tiempo lmites para que termine un proceso. Contra ms cerca se est de ese lmite, ms urgente se hace su planificacin.
JOS ANTONIO CASTILLO GUTIRREZ

10

03/07/2011

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


Los algoritmos (tcnicas) tienen distintas propiedades segn los criterios en los que se basen para su construccin, lo cual se refleja en qu tipo de procesos se puede ver favorecido frente a otro en la p p disputa del procesador. Tcnicas o algoritmos de planificacin de procesos FCFS (First Come First Serve) SJF (Shortest Job First) Round-Robin Queves multi-level. Multi-level feedback queves
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


NOMENCLATURA. Tt : Tiempo de trnsito Tw : Tiempo de espera Tr : Tiempo de respuesta Ts : Tiempo de servicio Ps : Productividad del servidor Us : Utilizacin del servidor
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


Ejemplo: Un servidor.
COLA DE ESPERA SERVIDOR

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


FCFS (First Come First Serve)
FIFO es el acrnimo ingls de First In, First Out (primero en entrar, primero en salir). Un sinnimo de FIFO es FCFS, acrnimo ingls de First Come First Served ( primero en llegar, primero en ser servido). Es un mtodo utilizado en estructuras de datos, contabilidad de costos y teora de colas. Guarda analoga con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.

Tw Tt
Tiempo de llegada

Ts

Tt = Ts + Tw Ps = 1 / Tt

Tiempo de despacho

Tiempo de salida

La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo de espera de los dems procesos.
JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

11

03/07/2011

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


Proceso a) b) P1 P2 P3 P1 P2 P3 P2 P3 c) P2 P3 P5 Ciclode CPU 24 3 3

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


EFECTO CONBOY EN FCFS Se produce cuando se tiene una mezcla de un proceso ligado a CPU y varios procesos ligados a E/S. Estos ltimos procesos tendern a ubicarse en la cola LISTO, LISTO donde sern frenados por el proceso que usa mucha CPU, quedando los recursos de E/S libres. Por el otro lado, cuando el proceso ligado a CPU libera el procesador, los dems procesos pasan rpido a E/S, quedando la CPU ociosa. Por lo tanto, se produce baja utilizacin de CPU y de los dispositivos de E/S. Una solucin requerira una planificacin no FCFS.
JOS ANTONIO CASTILLO GUTIRREZ

Ttr = (24+27+30) /3 = 27 [u.t.] Pr = 3/30 = 0.1 [Proceso/u.t]

Algunas de las caractersticas de este algoritmo es que es no apropiativo y justo en el sentido formal, aunque injusto en el sentido de que: los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes. Por otro lado es predecible, pero no garantiza buenos tiempos de respuesta, por ello se emplea como esquema secundario.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


SJF (Shortest First Serve)
Al igual que en el algoritmo FIFO o FCFS las rfagas se ejecutan sin interrupcin, por tanto, slo es til para entornos batch. Su caracterstica es que cuando se activa el planificador, ste elige la rfaga de menor duracin. Es decir, introduce una nocin de prioridad entre rfagas. Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de ejecucin de los procesos. La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de finalizacin promedio. Se planifica el trabajo ms corto que se encuentra esperando como siguiente. Se requiere poder estimar a priori el tiempo de servicio de cada trabajo.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


Proceso P1 P2 P3 P4 Ciclode CPU 6 8 7 3
P4 0 3 P1 9 P3 16 P2 24

Tw (SJF) = (0+3+9+16)/4=7.0 Tw(FCFS)=(0+6+14+21)/4=10.25 T (FCFS) (0+6+14+21)/4 10 25

Desempeo: SJF es ptimo en cunto a reducir el tiempo de espera. Demostracin: Cualquier permutacin aumenta el tiempo de espera. Problemas: Es necesario conocer a priori o predecir el tiempo de servicio del trabajo. Existe posibilidad de inanicin para trabajos largos.
JOS ANTONIO CASTILLO GUTIRREZ

12

03/07/2011

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


ROUND-ROBIN (RR) Este es uno de los algoritmos ms antiguos, sencillos y equitativos en el reparto de la CPU entre los procesos, muy vlido para entornos de tiempo compartido. Cada proceso tiene asignado un intervalo de tiempo de ejecucin, llamado cuantum o cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU y el proceso que agoto su tiempo se formara en la cola de READY. Si el proceso se bloquea o termina antes de agotar su cuantum tambin se alterna el uso de la CPU.
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


Este algoritmo presupone la existencia de un reloj en el sistema para generar peridicamente interrupciones al expirar el cuantum y proceder a llamar al dispatcher. Proceso P1 P2 P3
P1 0 4 P2 7

Ciclode CPU 24 3 3
P3 10 P1 14

Para Q=4 Ttr = (30+7+10)/3 15 7 [u t] (30+7+10)/3=15.7 [u.t] Pr=(3/30)=0.1 [Procesos/u.t]

P1 16

P1 22

P1 26

P1 30

JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


CONSIDERACIONES. Si el cuanto de tiempo es muy pequeo, se tiene un overhead muy grande. Si , se tiene FCFS (se pierde interactividad) En general, si n es el nmero de procesos, entonces un proceso debe esperar a lo ms: (n-1)* para el prximo cuanto de tiempo Una regla de uso es que el 80% de los ciclos de CPU sean ms pequeos que el cuantum
JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


QUEVES MULTILEVEL Un algoritmo de planificacin multinivel particiona la cola de listas en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basndose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo. Por ejemplo, la cola interactiva podra planificarse usando RR y la batch FIFO. Ningn trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no estn vacas. Si algn trabajo entra en una cola de mayor prioridad, el trabajo de otras colas es interrumpido.
JOS ANTONIO CASTILLO GUTIRREZ

13

03/07/2011

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


ESQUEMA DE MULTIPLES RETROALIMENTACIN
ALTA PRIORIDAD Procesos de alta prioridad Procesos interactivos Procesos por lotes Procesos de baja prioridad BAJA PRIORIDAD 3 1

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


SIN
La lista de procesos en estado listo esta formada por una serie de colas circulares, donde cada una de ellas contiene a todos aquellos procesos que tienen una misma prioridad. La CPU se asigna siempre al proceso de la cola de mayor prioridad que no este vaca.
Problema: procesos de baja prioridad quedan postergados indefinidamente.

COLAS

P4

P6

P7

P2

P1

P16

Solucin: prioridad por envejecimiento. La prioridad aumenta gradualmente a medida que el proceso pasa cierto tiempo en el sistema, garantizando su terminacin en un tiempo finito.

JOS ANTONIO CASTILLO GUTIRREZ

JOS ANTONIO CASTILLO GUTIRREZ

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


MULTI-LEVEL FEEDBACK QUEVES

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


P4 P6 P7

Su objetivo es tratar a los procesos de acuerdo a su comportamiento:


NIVELES

P2

si el proceso se suspende frecuentemente se le debe p p asignar bastantes veces el procesador con un quantum pequeo; el proceso se suspende poco se le debe asignar el procesador menos veces pero con un quantum grande. La lista de procesos en estado listo esta formada por varios niveles y cada uno de ellos con una cola circular.
JOS ANTONIO CASTILLO GUTIRREZ

P1

P16

Cuando se inserta un nuevo proceso este se aade al final de la cola de mayor nivel gestionada de forma FIFO.

JOS ANTONIO CASTILLO GUTIRREZ

14

03/07/2011

TCNICAS DE ADMINISTRACIN DEL PLANIFICADOR


La CPU se asigna al proceso que se encuentra en la cabecera de la cola de mayor nivel que no este vaca. Cuando un proceso recibe la CPU puede ocurrir: que agote su quantum: entonces al pasar a estado listo se coloca al final de la cola del siguiente nivel inferior al que perteneca. Mientras que el proceso consuma totalmente su quantum en cada nivel, ir movindose haca el final de las colas de los niveles inferiores. La cola del nivel ms profundo se gestiona mediante asignacin de rueda. que no agote su quantum: entonces cuando pase de estado bloqueado a listo volver al final de la cola del nivel al que perteneca. Se supone que el comportamiento inmediato anterior de un proceso puede ser un buen indicador del comportamiento futuro cercano.
JOS ANTONIO CASTILLO GUTIRREZ

INSTITUTO TECNLGICO SUPERIOR DE PNUCO


ACTIVIDADES A DESARROLLAR Realizar los ejercicios de practica de cada algoritmo de planificacin. Investigar y documentar que tipo de algoritmo de planificacin utiliza Wnidows Unix GNU/Linux Wnidows, Unix, GNU/Linux, Amoeva, Android, MacOS para la atencion de procesos. Desarrollar un simulador de planificador de procesos que muestre el funcionamiento de manera grafica de la atencin de procesos de acuerdo a los algoritmos analizados en clase
JOS ANTONIO CASTILLO GUTIRREZ

15

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