16
UNIDAD II (continuación) Administración del Procesador 1. Niveles de planificación 2. Objetivos de la planificación 3. Criterios de planificación 4. Scheduler (scheduling) 5. Estrategias de planificación del procesador

Unidad ii b sistemas operativos 2011

Embed Size (px)

Citation preview

Page 1: Unidad ii b sistemas operativos 2011

UNIDAD II (continuación)Administración del Procesador

1. Niveles de planificación

2. Objetivos de la planificación

3. Criterios de planificación

4. Scheduler (scheduling)

5. Estrategias de planificación del procesador

Page 2: Unidad ii b sistemas operativos 2011

1. Niveles de PlanificaciónEl Administrador (Planificador) del Procesador define cuándo y a qué procesos asignar el CPU. Se consideran tres niveles importantes de planificación:

• “Planificación de trabajos o procesos”• “Admisión”• Determina a qué trabajos se les va a permitir competir por los recursos del sistema.• Una vez admitidos los trabajos se convierten en PROCESOS.

Planificación de Alto Nivel

Page 3: Unidad ii b sistemas operativos 2011

1. Niveles de Planificación

Trabajos esperando entrada

Trabajos esperando iniciación

Trabajos suspendidos en espera de activación

Procesos activos

Procesos en ejecución

Proceso terminado

ENTRADA DE TRABAJOS

INICIACIÓN DE TRABAJOS

SUSPENDERACTIVAR

DESPACHO BLOQUEO O TIEMPO EXCEDIDO

TERMINAR

Planificación de alto nivel

Planificación nivel intermedio

Planificación de bajo nivel

Page 4: Unidad ii b sistemas operativos 2011

2. Objetivos de PlanificaciónSe debe buscar que los procesos obtengan sus turnos de ejecución apropiadamente, conjuntamente con un buen rendimiento y minimización de la sobrecarga (overhead) del planificador mismo.

JusticiaMaximizar la capacidad de

ejecución

Maximizar el tiempo de respuesta

Evitar el aplazamiento

indefinido

El sistema debe ser predecible

Equilibrar el uso de recursos

Mantener bien definidas las prioridades de los

procesos

Page 5: Unidad ii b sistemas operativos 2011

3. Criterios de PlanificaciónPara poder realizar los objetivos de la planificación, los mecanismos de planificación deben considerar:

Limitación de un proceso a operaciones

de entrada/salida

Limitación de un proceso al CPU

Si un proceso es por lote o interactivo

Rapidez de respuesta

Prioridad Tiempo de ejecución real

Tiempo de ejecución adicional

Page 6: Unidad ii b sistemas operativos 2011

Planificación No Apropiativa &Planificación Apropiativa

Planificación No

Apropiativa

• Una vez que a un proceso le toca su turno de ejecución, ya no puede ser suspendido, ya no se le puede arrebatar el CPU.

• Si entra un proceso de alta prioridad, éste también debe esperar a que termine el proceso en ejecución.

• Trabaja en serie.

Planificación

Apropiativa

• Aquella en que existe un reloj que lanza interrupciones periódicas en las cuales el planificador toma el control y se decide si el mismo proceso seguirá ejecutándose o se le dá su turno a otro proceso.

• Al proceso se le puede arrebatar la CPU.

• Es útil en sistemas en los cuales los procesos de alta prioridad requieren una atención rápida.

• Trabaja de manera concurrente.

Page 7: Unidad ii b sistemas operativos 2011

4. Scheduler (Scheduling)

Programa dentro del sistema operativo que administra de manera eficiente el procesador.

Funciones principales:a) Dar de alta el PCBb) Hacer actualizaciones al PCBc) Dar de baja el PCBd) Asigna tiempos de ejecución a cada procesoe) Organiza la fila de listos y bloqueado

Page 8: Unidad ii b sistemas operativos 2011

5. Estrategias de Planificación del Procesador

(Estrategias de turno de asignación)

PROCESO 1

PROCESO 2

PROCESO 3

PROCESO 4

PROCESO 5

“Fila de procesos listos”

CPU

¿Qué proceso pasa a ejecutarse al procesador?

a) Por prioridadb) El trabajo más corto primero.c) FIFOd) Round Robine) Por política

Page 9: Unidad ii b sistemas operativos 2011

a. Por prioridad

Cada proceso tiene asociada una prioridad y el proceso ejecutable con máxima prioridad es el que tiene permiso de ejecución.

Si existen varios procesos de mayor prioridad que otros, pero entre ellos con la misma prioridad, pueden ejecutarse éstos de acuerdo a su orden de llegada u otro algoritmo de planificación.

Ventaja: Es flexible al permitir que ciertos procesos se ejecuten primero, e incluso, por más tiempo.

Desventajas: Puede provocar aplazamiento indefinido en los procesos de baja prioridad. Provoca que el sistema sea impredecible para los procesos de baja prioridad.

Page 10: Unidad ii b sistemas operativos 2011

a. Por prioridad

Por ejemplo, entran procesos al sistema con las siguientes prioridades:

Prioridad 20:

Prioridad 10:

Prioridad 5:

Prioridad 1:

2

3

61

745

NO PUEDEN ENTRAR AL MISMO TIEMPO A EJECUTARSE, EL SISTEMA OPERATIVO APLICA OTRA ESTRATEGIA

Page 11: Unidad ii b sistemas operativos 2011

b. El trabajo más corto primero

Se ejecutan primero aquellos trabajos que necesitan menos tiempo de ejecución, y de esta manera se obtiene el mejor tiempo de respuesta promedio para los procesos.

Ventaja: Se ejecuta un mayor número de procesos.

Desventaja: Es difícil llevar a cabo porque se requiere saber o tener una estimación de cuánto tiempo necesita el proceso para terminar.

Page 12: Unidad ii b sistemas operativos 2011

b. El trabajo más corto primero

Por ejemplo, entran procesos al sistema con los siguientes tiempos de ejecución, en la tercer columna se muestra el orden de ejecución de los procesos.

Proceso

A

B

C

D

E

Tiempo de ejecución

26 u.

18 u.

24 u.

12u.

4 u.

ORDEN DE EJECUCIÓN

E – 4 u.

D – 12 u.

B – 18 u.

C – 24 u.

A – 26 u.

Page 13: Unidad ii b sistemas operativos 2011

c. FIFO (primero en llegar, primero en ejecutarse)

c) FIFO (primero en llegar, primero en ejecutarse)

Los procesos reciben su turno de ejecución conforme llegan.

Ventaja: Es justo y no provoca aplazamiento.

Desventajas: No aprovecha ninguna característica de los procesos. Puede no servir para un proceso de tiempo real.

3 12 CPU4n ... termina

Page 14: Unidad ii b sistemas operativos 2011

d. Round Robin (RR)

Los procesos se despachan en FIFO, pero se les otorga una cantidad limitada de tiempo de cpu conocida como quantum o time slice.

Los procesos están ordenados en una cola circular.

Si un proceso no termina antes que expire su tiempo en CPU, se le quita la CPUy se asigna al siguiente proceso en espera. El proceso que sale del CPU se coloca al final de la fila de procesos Listos.

Ventaja: es simple y justo. No provoca aplazamiento indefinido.

3 12 CPU41termina

Tiempo de

ejecución

Page 15: Unidad ii b sistemas operativos 2011

e. Por política

Una forma de asignar el turno de ejecución es por política, en la cual se establece algún reglamento específico que el planificador debe obedecer.

Ejemplo:

“Que todos los procesos reciban el mismo tiempo de uso de CPU en cualquier momento”.

Page 16: Unidad ii b sistemas operativos 2011

Por ejemplo, tenemos dos procesos que han pasado a cpu a ejecutarse, recibiendo un total de 20 u de tiempo cada uno, en intervalos de 5 u.

Cuando el Proceso 2 se estaba terminando de ejecutar y completa sus 20 unidades de tiempo, llega el proceso 3 y pasa al procesador.

1 2

5 5

5 5

5 5

5 5

3

Inmediatamente el cpu le da 20 unidades para ejecutarse, para que se cumpla la política y después sigue asignando unidades de tiempo de 5.

20

5 5 5