1 of 12

Planificación de Procesos

UTN - Sistemas Operativos

2 of 12

CONCEPTOS Y CLASIFICACIÓN

El planificador (o scheduler) tiene como objetivo asignar procesos para ser ejecutados en la CPU (administrando diferentes colas: READY - BLOCKED) de forma que cumplan los objetivos del sistema.

Tiempo de respuesta

Eficiencia CPU

Throughput

Según que tan frecuente debe tomar decisiones, podemos diferenciar 3 tipos de planificadores:

Largo plazo

Mediano plazo

Corto plazo

Extra Largo plazo

UTN - Sistemas Operativos

3 of 12

PLANIFICADOR LARGO PLAZO

  • Debe tomar la decisión de si se agregará un nuevo proceso al conjunto de procesos que están activos
  • Se ejecuta cuando un nuevo proceso es creado.
    • Decide en qué momento se puede cargar un nuevo proceso

    • Decide qué job será aceptado y convertido en proceso

Proceso finaliza -> disminuye grado multiprogramación

Monitoreo uso CPU -> cierto tiempo CPU IDLE

Job alta prioridad

Según prioridad Job

Buena mezcla de procesos

Optimizar performance

CPU BOUND

IO BOUND

UTN - Sistemas Operativos

4 of 12

PLANIFICADOR LARGO PLAZO

  • Controla el grado de multiprogramación del sistema

Alto grado de multiprogramación

  • CPU no ociosa
  • Menor % CPU para cada proceso

Baje grado de multiprogramación

  • CPU ociosa

Brindar un servicio satisfactorio a los procesos LISTOS

UTN - Sistemas Operativos

5 of 12

PLANIFICADOR MEDIANO PLAZO

  • Debe realizar operaciones de swapping (intercambio) -> IN/OUT
  • Debe tomar la decisión de si es necesario suspender un proceso -> almacenamiento secundario. También debe decidir cuándo volver a cargar en RAM un proceso suspendido
  • Modifica el grado de multiprogramación -> tratando de lograr una buena mezcla de procesos CPU/IO BOUND
    • SWAP IN -> aumento
    • SWAP OUT -> disminución

P1

P2

P1

Swap OUT

P2

Swap IN

RAM

SWAP

UTN - Sistemas Operativos

6 of 12

PLANIFICADOR MEDIANO PLAZO

Ejemplos:

Muchos procesos IO BOUND

Todos bloqueados -> CPU IDLE

Suspender procesos + cargar procesos CPU BOUND desde swap

Muchos procesos CPU BOUND

Mal uso dispositivos

Suspender procesos + cargar procesos IO BOUND desde swap

Proceso mayor prioridad + sin RAM

Suspender un proceso y cargar al de > prioridad

Proceso suspendido se está por desbloquear + RAM libre

Cargar proceso en RAM para acelerar su vuelta en ejecución

UTN - Sistemas Operativos

7 of 12

PLANIFICADOR CORTO PLAZO

  • Comprende la decisión de a cuál de los procesos que en un momento se encuentran cargados en RAM listos para ejecutarse se le asignará CPU

  • Se ejecuta con mayor frecuencia que el resto -> debe tomar buenas decisiones + el overhead debe ser mínimo

  • Es invocado cuando ocurre un evento que libera a la CPU o que provee la oportunidad de seleccionar otro proceso más “prioritario”. Eventos a tener en cuenta:
    • Interrupciones de I/O
    • Llamadas al sistema
    • Señales

UTN - Sistemas Operativos

8 of 12

PLANIFICADORES Y DIAGRAMA DE ESTADOS

Nuevo

Listo

En ejecución

En espera

Finalizado

Suspendido en espera

Suspendido listo

PLANIFICADOR MEDIANO PLAZO

PLANIFICADOR CORTO PLAZO

PLANIFICADOR LARGO PLAZO

9 of 12

PLANIFICADOR CORTO PLAZO

CRITERIOS

Orientados al usuario

Orientados al sistema

Tiempo de respuesta

Utilización CPU

Throughput

Predictibilidad

Tiempo de espera

Tiempo de ejecución

Cumplimiento de deadlines

Justicia

Utilización de recursos

Respetar prioridades

UTN - Sistemas Operativos

10 of 12

TIPO DE PLANIFICADOR (CORTO PLAZO)

Eventos a tener en cuenta

Siempre a tener en cuenta:

  • Proceso finaliza ( Running -> Finished)
  • Proceso se bloquea (Running -> Blocked)
  • Proceso cede voluntariamente CPU ( Running -> Ready)

Pueden ser considerados

  • Proceso recibe evento esperado (Blocked -> Ready)
  • Proceso nuevo (Syscall : New -> Ready)
  • Interrupción por timer

Dependiendo de qué eventos tenga en cuenta un algoritmo de planificación de corto plazo se clasificará en :

  • Con desalojo / Apropiativo / Preemptive
  • Sin desalojo / No apropiativo / Non preemptive / Cooperativo

CPU LIBERADA

Puede convenir elegir otro proceso

UTN - Sistemas Operativos

11 of 12

TIPO DE PLANIFICADOR (CORTO PLAZO)

Los planificadores que sólo tienen en cuenta los eventos que son obligatorios (los que liberan a la CPU) son llamados Sin desalojo / No apropiativos / Non preemptive / Cooperativos ya que esperan a que el proceso le devuelva el control al SO para elegir otro proceso a ejecutar.

Los planificadores que además de considerar los eventos obligatorios consideran al menos UNO del resto de los eventos son llamados Con desalojo / Apropiativo / Preemptive ya que pueden interrumpir la ejecución de un proceso (desalojarlo de CPU -> vuelta a READY) para ejecutar otro más prioritario

UTN - Sistemas Operativos

12 of 12

Preguntas??

UTN - Sistemas Operativos