jorge
Planificación de la CPU
7 Algoritmos de planificación
Planificación de la CPU:
• Es decidir a qué proceso de la cola de
procesos preparados debe
asignársele la CPU.
7.1 Planificación FCFS
FCFS
• First-come first-served.
• primero en llegar, primero en ser
servido.
7.1 Planificación FCFS
• Es el algoritmo más simple de
planificación de la CPU.
• Coneste esquema, se asigna primero
CPU al proceso que primero la
solicite.
7.1 Planificación FCFS
• Es No Apropiativo o Cooperativo.
• Una vez que la CPU ha sido asignada
a un proceso, dicho proceso
conserva la CPU hasta que termina
su ejecución o éste realiza una E/S.
7.1 Planificación FCFS
• El tiempo medio de espera con el
algoritmo FCFS es a menudo
bastante largo.
7.1Planificación FCFS
• Al alternarse con este algoritmo
procesos intensivos en CPU (ráfagas
largas de CPU y pocas E/S) con procesos
intensivos en E/S (ráfagas cortas de
CPU y muchas E/S), puede producirse el
llamado “efecto convoy”.
7.2 Planificación SJF
SJF
• Shortest-job-first.
• El trabajo mas corto primero
7.2 Planificación SJF
• Asocia a cada proceso la duración de su
siguienteráfaga de CPU.
• Cuando la CPU está disponible, se asigna al
proceso que tiene la siguiente ráfaga de
CPU más corta.
• Si las siguientes ráfagas de CPU de dos
procesos son iguales, se usa FCFS para
romper el empate.
7.2 Planificación SJF
• SJF es óptimo, en el sentido que proporciona el
tiempo medio de espera mínimo para un
conjunto de procesos dado.
• Anteponer un proceso corto a unolargo
disminuye el tiempo de espera del proceso
corto en mayor medida de lo que incrementa
el tiempo de espera del proceso largo.
• Así, el tiempo medio de espera disminuye.
7.2 Planificación SJF
• La dificultad real del algoritmo SJF es
conocer la duración de la siguiente
solicitud de CPU.
• podemos no conocer la duración de la
siguiente ráfaga de CPU, pero podemos
predecir suvalor, confiando en que la
siguiente ráfaga será similar en duración a
las anteriores.
7.2 Planificación SJF
• Generalmente, para poder
predecir la siguiente ráfaga de
CPU se define:
τn+1 = α tn + (1 - α) τn
7.2 Planificación SJF
τn+1 = α tn + (1 - α) τn
• τn+1 es el valor predicho para la
siguiente ráfaga de CPU
7.2 Planificación SJF
τn+1 = α tn + (1 - α) τn
• tn es laduración de la n-ésima
ráfaga de CPU (última ráfaga
conocida)
7.2 Planificación SJF
τn+1 = α tn + (1 - α) τn
• τn
es la duración promedio
histórica de las ráfagas de CPU.
7.2 Planificación SJF
τn+1 = α tn + (1 - α) τn
• α es un parámetro que controla el
peso relativo del historial reciente y
pasado de nuestra predicción.
• Siempre 0 ≤ α ≤ 1
7.2 Planificación SJF
τn+1 =α tn + (1 - α) τn
• Si α = 0, entonces τn+1 = τn y se toma en cuenta el
historial y las ráfagas recientes no tienen efecto.
• si α = 1, entonces τn+1 = tn y sólo la ráfaga de CPU
más reciente importa.
7.2 Planificación SJF
τn+1 = α tn + (1 - α) τn
• Frecuentemente, α = ½, en cuyo
caso, el historial reciente y
pasado tienen el mismo peso.
7.2 Planificación SJF
τn+1 = α tn + (1- α) τn
• El valor inicial τ0 puede definirse como
una constante o como un promedio
global para todo el sistema.
7.2 Planificación SJF
• El algoritmo SJF puede ser cooperativo o
apropiativo.
• La planificación SJF apropiativa a veces se
denomina planificación con selección
del proceso con tiempo restante más
corto (SRTJF - Shortest Remaining Time
Job First).
7.3 Planificaciónpor prioridades
• A cada proceso se le asocia una prioridad
y la CPU se asigna al proceso que tenga
la prioridad más alta.
7.3 Planificación por prioridades
• La planificación por prioridades puede
ser apropiativa o cooperativa.
• Los procesos con la misma prioridad se
planifican en orden FCFS.
7.3 Planificación por prioridades
• Generalmente, las prioridades se indican
mediante...
Regístrate para leer el documento completo.