Professional Documents
Culture Documents
Planificacin de procesos
Contenido
Modelo del sistema y criterios de rendimiento Algoritmo FCFS Algoritmo SJF Mtodos basados en prioridades Turno rotatorio (Round-Robin) Mtodos multicolas Multiprocesadores
Planificacin de procesos
El sistema operativo decide:
qu proceso entra en la CPU cuando sta queda libre; en qu momento el proceso que est en ejecucin debe abandonar la CPU.
En otras palabras:
El S.O. debe aplicar una poltica de planificacin de procesos
Qu buscamos?
Podemos definir mltiples polticas de planificacin de procesos: en orden de llegada, primero la tarea ms breve, por orden de prioridad Qu poltica nos interesa ms? Qu objetivos mnimos debe cumplir una poltica de planificacin? Cmo valoramos si una poltica es mejor o peor que otra?
Criterios de rendimiento
Se usan varias magnitudes para medir el rendimiento de los algoritmos de planificacin:
Utilizacin de CPU: % de tiempo que la CPU est ocupada Tiempo de retorno: tiempo transcurrido entre la llegada de un proceso y su finalizacin Tiempo de espera: tiempo que un proceso permanece en la cola de preparados Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en CPU, desde que ocurre el evento que lo bloquea
Se pueden considerar las medias, valores extremos o varianzas de estas magnitudes. No existe una poltica de planificacin ptima para todos los criterios.
Habr que llegar a un compromiso.
Despachador (dispatcher)
Mdulo que cede el control de la CPU al proceso seleccionado por el planificador a corto plazo
Cambia de contexto Cambia a modo usuario Saltar al punto apropiado del programa de usuario
10
Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera si aplicamos el algoritmo FCFS suponiendo que llegan en el mismo instante en el siguiente orden: P1, P2, P3 Realizar los mismos clculos suponiendo que llegan en el siguiente orden: P2, P3 y P1
11
Diagrama de Gantt
0 9 13 15
P1
P2
P3
Tiempos de espera: P1=0; P2=9; P3=13 Tiempos de retorno: P1=9; P2=13; P3=15 t. espera medio: (0+9+13)/3 = 7.3 Si P1 hubiera llegado el ltimo, los tiempos hubieran mejorado bastante (espera media=3.3):
0 4 6 15
P2
P3
P1
12
FCFS: caractersticas
La cola de preparados se gestiona como una FIFO Simple de implementar Muy sensible al orden de llegada de los procesos Perjudica a los procesos intensivos en E/S (efecto convoy)
13
14
SJF - ejemplo
Proceso P1 P2 P3 P4 Llegada 0 2 4 5 Duracin 7 4 1 4
Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF no expulsivo Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF expulsivo (SRTF)
15
SJF - ejemplo
Proceso P1 P2 P3 P4 Llegada 0 2 4 5 Duracin 7 4 1 4
0
espera SJF 0 6 3 7
espera SRTF 9 1 0 2
7 8 12 16
SJF no expulsivo espera media: (0+6+3+7)/4=4 SJF expulsivo espera media: (9+1+0+2)/4=3
P1
P3
P2
P4
11
16
P1
P2 P3 P2
P4
P1
16
SJF: inconvenientes
Riesgo de inanicin de los procesos de larga duracin. El SJF no es implementable se pueden estimar las duraciones de los procesos, segn su historia reciente.
17
Riesgo de inanicin de los procesos con menos prioridad. Solucin: envejecimiento. Aumentar progresivamente la prioridad a los procesos en espera.
18
La cola de preparados se gestiona como FIFO Si el cuanto de tiempo es Q y hay N procesos en cola, el tiempo de respuesta es como mucho Q(N-1)
19
Proceso P1 P2 P3
Duracin 15 4 3
20
21
Multicolas
Varias colas de preparados, cada una gestionada con una poltica diferente. Las colas se reparten la CPU segn alguna poltica:
por prioridad absoluta un % de tiempo para cada cola
22
Multicolas - ejemplo
procesos del sistema (FCFS) procesos interactivos de profesores (RR) procesos interactivos de estudiantes (RR) procesos por lotes (FCFS)
CPU
23
Planificacin en multiprocesadores
Mismo objetivo que con una CPU, pero ahora ampliamos el nmero de recursos disponibles para atender a los procesos. Sirven las mismas polticas? (FCFS, SJF, RR) Cmo gestionamos la cola de procesos preparados?
24
25