Você está na página 1de 5

Sistemas Operativos I

Planificacin de la CPU
largo plazo (1 vez/u.) Planificacinmedio plazo (3 veces/u.) corto plazo (10 veces/u.) " dispacher" : tomar decisiones rpidas (es crtico).

Nuevo
Largo plazo Largo plazo

Listo / Suspendido
(Mem. Virtual Swap)

Medio plazo

Listo
(Mem. Principal)

Corto plazo

Ejecutando
(CPU)

fin

Medio plazo

Corto Plazo

Bloqueado/ Suspendido
(Mem. Virtual Swap)

Medio plazo

Bloqueado
(E/S)

Objetivo de la planificacin: Minimizar el tiempo de espera y minimizar el tiempo de respuesta. Definiciones: Tiempo de servicio = Tiempo de CPU Tiempo de retorno = Tiempo de CPU + Tiempo de E/S + Tiempo de espera Tiempo de respuesta = Tiempo del primer uso de CPU - Tiempo en entrar en la planificacin Tiempo de espera = Tiempo de inactividad de un proceso Tiempo normalizado = Tiempo de X / Tiempo de CPU (donde X puede ser retorno, respuesta o espera). El Tiempo medio de retorno normalizado ideal es 1. El Tiempo medio de respuesta ideal es 0.
SRT(Shorte st Remaining Time) SRT - rfagas HRRN (Hightest Response Ratio Next) apropiativ os RR (Round Robin) Tipos de algoritmos planificad ores RRV (Round Robin Virtual) Algoritmo de Realimenta cin FCFS (First Come, First Served) no apropiativ os SPN ( Shortest Process Next)

www.eresvago.net

No apropiativos: FCFS (First Come, First Served): Definicin: Algoritmo de planificacin no apropiativo (una vez que se le otorga la CPU a un proceso, ste no la liberar hasta su finalizacin o una instruccin de E/S) en el que los procesos nuevos entran en la cola de Listo y se le cede la CPU en orden de llegada a la cola. Caractersticas: Es muy sencillo de implementar pero obtenemos prestaciones bajas. El tiempo de respuesta medio puede llegar a ser alto si hay variabilidad en el tiempo de CPU de los procesos. Sobrecarga mnima (pocos cambios de contexto entre procesos). Penaliza los procesos cortos y los procesos con E/S. No se puede producir inanicin (todos los procesos son atendidos). SPN (Shortest Process Next): Definicin: Algoritmo no apropiativo consistente en otorgar la CPU al proceso Listo que tiene un tiempo de CPU menor. Este proceso no liberar la CPU hasta que haya finalizado o hasta que necesite realizar una E/S. Caractersticas: Obtenemos gran productividad a cambio de un gasto en el tiempo de decisin (tiempo que necesita el operativo para determinar a que proceso se le cede la CPU). Tiempo de respuesta para procesos cortos bueno. Penaliza los procesos largos. Se puede producir inanicin. Apropiativos: SRT (Shortest Remaining Time): Definicin: Algoritmo apropiativo (que en cualquier momento se le puede quitar la CPU para asignarsela otro proceso) consistente en elegir de la cola de listos el proceso con menos necesidad de tiempo restante de CPU para cada instante de tiempo. Caractersticas: Ofrece un buen tiempo de respuesta. La productividad es alta a cambio de la sobrecarga del sistema (a cada paso debe decidir a que proceso asignarle la CPU). Penaliza los procesos largos. Se puede producir inanicin. SRT-rfagas: Definicin: Igual que el algoritmo SRT, pero con la diferencia en la eleccin del proceso a obtener la CPU. Eligiremos el proceso cuyo tiempo de rfaga sea menor en cada instante de tiempo. Tiempo de rfaga: es el tiempo restante de CPU hasta la siguiente E/S. Caractersticas: Beneficia a los procesos con E/S.

www.eresvago.net

HRRN (Hightest Response Ratio Next): Definicin: Algoritmo apropiativo parecido al SRT consitente en calcular el Reponse Ratio (Ratio de respuesta) para asignar la CPU a procesos ms viejos. (para evitar la inanicin).
Response Ratio = Tiempo de CPU + Tiempo de espera ReRa = 1 (valor mnimo). = Tiempo de CPU ReRa > 1 (proceso ms viejo).

Se elige en cada momento el proceso con un Response Ratio de valor ms grande. Caractersticas: Es muy productivo pero se sobrecarga el sistema. Ofrece un buen tiempo de respuesta. Equilibra los procesos, aunque da prioridad a los procesos ms cortos. Evita la inanicin (los procesos que envejecen seran ejecutados). RR (Round Robin): Definicin: Algoritmo apropiativo consistente en determinar un quantum (tiempo de reloj) que marcar el intervalo de CPU que se le ceder al proceso ejecutando. Cuando finalice el quantum al proceso se le quitar la CPU y pasar a la cola de listo. La cola de listos sigue la estructura FIFO. Si un proceso no consume su quantum libera la CPU y sta es asignada al siguiente proceso de la cola de listo. Caractersticas: Fcil de implemetar. Perjudica a los procesos de E/S. Si el quantum es muy grande se comporta como un FCFS. El tiempo de respuesta para procesos cortos es bueno. Trato equitativo entre procesos, bueno para interactividad. No se produce inanicin. El valor mnimo del quantum debe ser (10 * Tiempo Cambio Contexto ) El quantum ms adecuado es el Tiempo de CPU del proceso ms corto. RRV (Round Robin Virtual): Definicin: Idem al RR pero con la modificacin siguiente: Se aade una cola auxiliar con un preferencia respecto a la cola de listo. En la cola auxiliar se colocan los procesos que han estado bloqueados (haciendo E/S). Caractersticas: Las mimas que RR. Es ms equitativo que el RR ya que no perjudica a los procesos con E/S. Algoritmo de Realimentacin: Definicin: Algoritmo apropiativo consistente en varias colas con diferentes niveles de prioridad donde cada cola tiene su propio sistema de planificacin. Las colas estan conectadas de mayor prioridad a menor prioridad. Y una cola en el nivel (i) recibe procesos provinientes de la cola (i-1). La ltima cola se retro-alimenta. Caractersticas: Respuesta rpida. Puede producirse inanicin. Sobrecarga alta.

www.eresvago.net

Concurrencia- Interbloqueo Concurrencia: es la ejecucin de 2 o ms procesos de forma paralela. Seccin crtica: es el segmento de cdigo que accede al recurso compartido. Exclusin mutua: es el hecho de que no ms de un proceso a la vez pueda acceder a una seccin crtica. Interbloqueo (dead-lock): sean A y B dos procesos utilizando los recursos X e Y respectivamente. Si B requiere del recurso X para continuar y A requiere del recurso Y para continuar y ambos procesos no ceden en su peticin se produce un interbloqueo. Este ejemplo es generalizable para n procesos. Grafo de prececencia: grafo que representa la precedencia de los procesos. Los dos son procesos y las aristas precedencias (quien se ejecuta antes). Concurrencia: Instrucciones hardware concurrentes: Motorolla: Test & Set Intel: Swap Dos tcnicas software para implementar la concurrencia entre procesos.

1 a 2 b 3
SEMAFOROS: Semaforo parbegin begin begin begin begin begin begin parend a,b,c,d,e,f,g=0 1,V(a),V(b) end P(a),2,4,V(c),V(d) end P(b),3,V(e) end P(c),5,V(f) end P(e),P(d),6,V(g) end P(f),P(g),7 end

4 c 5 f 7 g d 6

P(X) -> wait V(X) -> signal

1
FORK-JOIN:

L1:

L2: L3:

int cont1=cont2=2 do(1) fork L1 do(3) goto: L2 do(2) do(4) fork L2 do(5) goto: L3 join(cont1) do(6) join(cont2) do(7)

7
www.eresvago.net

Semforos: Estructura de datos que se usa para gestionar la exclusin mutua. Hay dos tipos de semforos: binarios y enteros. Se modifican con las seales signal(S) V(S) y wait(S) P(S) (instrucciones indivisibles). Los semforos pueden ocasionar interbloqueo si el programador hace un mal uso de stos y solo sirven para procesos en una misma mquina (para una red harian falta mensajes). Semforos binarios: pueden tomar los valores {0 rojo,1 verde}. En Solaris se le llama mutex. Semforos enteros: pueden tomar valores { 0 rojo, >0 verde}.

entero : + verde * verde binario : verde signal(S). Incrementa el semforo en + 1 verde rojo entero rojo binario : verde
verde entero verde rojo binario : rojo wait(S). Decrementa el semforo en - 1 entero : + rojo * rojo binario : rojo

*: Si el semforo es entero positivo su valor nos indica el nmero de procesos que podran pasar el semforo. Si es entero no positivo el proceso se bloquea y se aade a la cola de bloqueados. El valor negativo nos indica el nmero de procesos bloqueados en este semforo.

Dead-lock: Prevencin: disear un sistema de manera que est excluida la posibilidad de interbloqueo. Prediccin (algoritmo del banquero). Deteccin.

www.eresvago.net

Você também pode gostar