Professional Documents
Culture Documents
Sistemas Operativos
P05: Scheduler
Slide: 1
Temario ://
Procesos
Introduccin a los Scheduler
Calendarizacin en Sistemas por Lotes (batch)
Calendarizacin en Sistemas Interactivos
Calendarizacin en Sistemas de Tiempo Real
Calendarizacin de subprocesos
[2]
[3]
Address Space
Cdigo
Datos
Stack
Registros
Sistemas Operativos ICC243
[4]
Parent Process ID
Program Counter
Registros
etc.
Lmites de memoria
Listado de archivos abiertos
[5]
Process Table
Process ID
Process ID
Process ID
Process ID
Process ID
Parent Process ID
Parent Process ID
Parent Process ID
Parent Process ID
Parent Process ID
Parent Process ID
Program Counter
Program Counter
Program Counter
Program Counter
Program Counter
Program Counter
Registros
Registros
Registros
Registros
Registros
Registros
Lmites de memoria
Lmites de memoria
Lmites de memoria
Lmites de memoria
Lmites de memoria
Lmites de memoria
[6]
[7]
[8]
Espacio de usuario
if(variable > 0)
exit(0);
Espacio de usuario
if(variable > 0)
exit(1);
Espacio de usuario
a = 1234 / 0;
Espacio de KERNEL
kernel->currentThread->yield(true);
Nuevo / New:
Corriendo / Running:
proceso en ejecucin
Bloqueado / Waiting:
Listo / Ready :
Terminado / Terminated:
[9]
Listo y suspendido:
Bloqueado y suspendido:
[ 10 ]
ProcesoA
ProcesoB
Proceso A
Ejecutndose
Tiempo Perdido
en labores admin.
Proceso B
Ejecutndose
Tiempo Perdido
en labores admin.
Proceso A
Ejecutndose
Sistemas Operativos ICC243
proceso entrante.
[ 11 ]
[ 12 ]
Scheduler
Cambio de
Contexto
Cambio de
Contexto
Proc1
Proc2
Restauracin
quanto
[ 13 ]
Respaldo
Scheduler (Calendarizador)
Componente del sistema operativo que decide cual de los procesos que esta en
estado ready es el que entrara a la CPU. Su decisin es basada segn el sistema
que este administrando y es resuelta por los Algoritmos de Calendarizacin.
P3
P2
P4
P1
P5
Scheduler
P6
CPU
[ 14 ]
Dedicados al I/O
[ 15 ]
Cundo Calendarizar
Creacin de proceso: ejecutar el padre o el hijo?
Trmino de proceso: que proceso ejecutar ahora?
Proceso bloquea por semforo: que hacer?
En este caso el motivo afecta la decisin. Si un proceso bloquea por
semforo, entonces conviene ejecutar el proceso que sostiene el lock en
este momento.
Proceso bloquea por I/O listo: entrar el proceso que paso de bloqueado a
listo? Entrar al proceso interrumpido? Un tercer proceso?
[ 16 ]
Tipos de calendarizacin
No Expropiativo: una vez que inicia un proceso, lo deja correr hasta que termina,
realiza I/O o queda a la espera de otro proceso.
Expropiativo: existe quantum de tiempo determinado que se le permite a un
proceso estar en la CPU. Cuando este expira, el proceso debe salir y se debe
ingresar uno nuevo. Este mtodo requiere de una interrupcin de reloj al final del
quantum para poder ser implementado.
Sistemas por lotes
- Sin usuarios en terminales
- Algoritmos no expropiativos
- Reducido nmero de
cambios de contexto
Sistemas Interactivos
- Algoritmos expropiativos
- No se puede permitir la
monopolizacin des la CPU
por parte un proceso
- Se asume hostilidad entre
procesos.
[ 17 ]
Objetivos de la calendarizacin
Todos los sistemas
Equidad dar a cada proceso una porcin equitativa de tiempo de CPU
Cumplimiento de polticas cuidar que se ponga en prctica la poltica establecida
Equilibrio mantener ocupadas todas las partes del sistema
Sistemas por Lotes
Rendimiento procesar el mximo de trabajos por hora
Tiempo de retorno reducir al mnimo el lapso entre inicio y trmino de un trabajo
Utilizacin de CPU mantener ocupada todo el tiempo la CPU
Sistemas Interactivos
Tiempo de respuesta responder rpido a las solicitudes
Proporcionalidad satisfacer las expectativas de todos los usuarios
Sistemas en Tiempo Real
Cumplir los plazos evitar la prdida de datos
Predicibilidad evitar la degradacin de la calidad en sistemas multimedia
Sistemas Operativos ICC243
[ 18 ]
Definiciones
Rendimiento: nmero de trabajos que el sistema termina por hora (ceteris paribus)
Tiempo de retorno: promedio estadstico del tiempo que transcurre entre que se
presenta un trabajo por lotes y el momento q termina.
Starvation: situacin en la cual un proceso se le niega el acceso a un recurso de
forma sistemtica, sin que este pueda acceder a l nunca.
[ 19 ]
Calendarizacin en 3 niveles
Proceso
Corriendo
Nuevo
Trabajo
CPU
Proceso
Listo para correr
RAM
Proceso
swapeado
Disco
[ 20 ]
Aprovechamiento CPU = 1 - pn
Siendo:
Ej:
4 procesos en el sistema que cada uno realiza 80% del tiempo I/O.
Aprovechamiento = 1 0.84 = 0.5904
4 procesos en el sistema que cada uno realiza 50% del tiempo I/O.
Aprovechamiento = 1 0.54 = 0.9375
[ 21 ]
20% I/O
50% I/O
80% I/O
[ 22 ]
Scheduling en
sistemas por lotes
-- Mayor uso de CPU
[ 23 ]
[ 24 ]
12
12
12
12
CPU
2 1
CPU
[ 25 ]
a ( a b) ( a b c ) i
a
FIFO
12
n a (n 1) b n
n
12
CPU
6 12 5 2 4 8 3 12 2 1 4
148
24.67
6
6
12
SJF
12
2 1
CPU
6 1 5 2 4 4 3 8 2 12 12
92
15.3
6
6
Sistemas Operativos ICC243
[ 26 ]
12
12
12
[ 27 ]
CPU
CPU
Scheduling en sistemas
Interactivos
-- Percepcin del usuario
[ 28 ]
Tiempo labores
administrativas
[ 29 ]
[ 30 ]
P7
P1
[ 31 ]
P4
P10
CPU
[ 32 ]
[ 33 ]
[ 34 ]
Usuario 1: Procesos A B C D
Usuario 2: Proceso Z
Ejecucion: A Z B Z C Z D Z A Z .
Por otra parte, si existe diferencia de prioridad entre estos, tambin se puede
modelar. Supngase que el usuario 1 ahora tiene 3 veces mas prioridad que el
usuario 2:
Ejecucion: A B C Z D A B Z
[ 35 ]
IET110
Sistemas Operativos
P05: Scheduler
Slide: 36