Professional Documents
Culture Documents
Contenidos
(T5)
Planificacin en VAX/VMS Planificacin en UNIX 4.4 BSD Estructuras de datos Clculo de prioridades Planificacin en W2K
Concepto de planificacin Estados de un proceso Planificador / Dispatcher Planificadores Algoritmos de planificacin Criterios de evaluacin Planificacin FIFO Planificacin SJF
Mtodo de prediccin
Quantum
Escenarios de planificacin Ajuste de prioridad en W2K
Ejemplos de planificacin:
Multitarea cooperativa: Windows 3.x Multitarea expulsiva o apropiativa: Windows 2k
Cola de listos
CPU
E/S
Cola de E/S
E/S
Cola de E/S
E/S
Cola de E/S
Flags de estado
Registros de propsito general Registros de operaciones en coma flotante Informacin relativa a la memoria: punteros a las tablas de pginas, punteros a las tablas de segmentos, TLB, etc.
Sistema operativo
Dispatcher Dispatcher
Proceso 2
Planificador
Listo
Listo
Dispatcher Dispatcher
En ejecucin
Interrupcin o llamada al sistema
Planificador
En ejecucin
Listo
Planificador
Dispatcher
polticas mecanismos
Tiempo de espera
Tiempo que est un proceso en una cola (no ejecucin)
Tiempo de respuesta
Importante en aplicaciones interactivas o de tiempo real (hasta la 1 respuesta del sistema)
Grado de sobrecarga
Recursos que emplea el planificador: tiempo de procesador y memoria
Planificacin del procesador
8
round robin
con colas multinivel con colas multinivel realimentadas
Inconveniente:
Un proceso puede monopolizar la CPU efecto convoy Depende fuertemente de los tipos de trabajo y del instante en que llegan
Ejemplo:
T1: 12 u.t., T2: 3 u.t., T3: 6 u.t. T1: 100 u.t., T2: 1 u.t., T3: 1 u.t., T4: 1 u.t.
Planificacin del procesador
10
Caso 2:
Trabajo 2 0 3 Trabajo 3 9 Trabajo 1 21
Los tiempos medios de respuesta varan dependiendo de cmo se encolen los trabajos
Caso 1: t Caso 2: t = 16 respuesta = 11
respuesta
11
Caso 2:
T2 T3 T4 0 1 2 3 Trabajo 1 103
Los tiempos medios de respuesta varan dependiendo de cmo se encolen los trabajos
Caso 1: t Caso 2: t = 101,5 u.t. respuesta = 27,25 u.t.
respuesta
12
Inconveniente:
Conocer cules van a ser las duraciones de las prximas rfagas de CPU de cada proceso Produce inanicin en procesos con rfagas largas
13
Ejemplo:
T1: 3 u.t., T2: 12 u.t., T3: 7 u.t., T4: 5 u.t. t respuesta = 13,25 u.t.
Planificacin del procesador
14
Estticas: No vara durante la vida del proceso Dinmicas: Vara a lo largo de la vida del proceso, dependiendo de las decisiones del planificador
Inconveniente:
Produce inanicin en procesos de baja prioridad Solucin: Utilizar envejecimiento
Planificacin del procesador
15
Trabajo 3 23
16
La cola de procesos preparados es FIFO Si la rfaga de CPU > q Interrupcin TIME-OUT Si la rfaga de CPU < q Liberacin de CPU Prestaciones: dependen fuertemente de q q round-robin degenera en FCFS q 0 CPU/n n es el nmero de procesos listos
Planificacin del procesador
17
Problema:
Slo existe una cola de trabajos preparados, no distingue entre tipos de trabajos
18
Consideraciones:
El algoritmo de planificacin de cada cola Mtodos para ascender y descender entre colas Dnde poner inicialmente a los trabajos
+ Prioridad
Tareas de TR Quantum = 10 Quantum = 20 FCFS
Planificacin del procesador
20
10
Planificacin con prioridades [0 31] y desalojo Procesos de usuario [0 15] : Prioridad base fija + offset
Offset: hasta 6 niveles sobre la prioridad base
Se beneficia a las tareas limitadas por E/S
...
16 15
...
Tareas ordinarias
Cont. W2K
Planificacin del procesador
22
11
Existen 32 colas
Cola Prioridad / 4 q = 0,1 s
Planificacin del procesador
23
24
12
25
setpriority()
Recalcula la prioridad de cada proceso cada 4 ticks: p_usrpri = PUSER + (p_estcpu/4) + 2p_nice
schedcpu()
Recalcula las prioridades cada 1 s: p_estcpu = decay p_estcpu + p_nice (decrementa p_estcpu) donde: decay = 2 carga / (2 carga) + 1 p_estcpu = decayp_slptime p_estcpu
13
Quantum
1 tick:
W2K Professional:
6 unidades lgicas 2 ticks 20 ms Interactividad, tiempo de respuesta ms bajo
W2K Server:
36 unidades lgicas Mejor rendimiento 12 ticks 120 ms
Listo Ejecucin
Ensanchamiento de q:
W2K professional Valores: 6, 4 2 ticks Mejora tiempo de respuesta Aplicable a la tarea que se ejecuta en 1er. plano
28
14
Standby
Espera
30
15
31
Decay:
Si un hilo agota su quantum -1
32
16
Fin de espera por eventos o semforos: +1 La tarea de primer plano finaliza una espera: +2 Se despierta una tareas GUI: +2
Sobre la prioridad actual
Decay
Boost
Apropiacin
Tiempo
Planificacin del procesador
34
17