Planificador Procesos Sistemas Operativos

3
14/12/2009 1 Planificación de Procesos Ing. Rony Villafuerte Serna Planificación de procesos Cuando hay mas de un proceso es el PLANIFICADOR el que decide cual se ejecuta, lo realiza en base a un algoritmo de planificación. Criterios para conseguir un buen planificador Equitatividad. Justo en tiempo – Eficiencia. Mantener ocupado el CPU – Tiempo de respuesta. Minimizar el tiempo para usuarios interactivos. – Retorno. Minimizar el tiempo para usuarios por lotes. – Volumen de producción. Maximizar el volumen de trabajos. Ing. Rony Villafuerte Serna Planificación de procesos Solo observando algunos de los objetivos son contradictorios. (minimizar tiempo de respuesta de usuarios interactivos y los trabajos por lotes). • Para dar mas a uno tenemos que dar menos a otro otro. • La complicación de los planificadores es que no saben cuanto tiempo se tomaran los procesos si son de E/S o uso de memória etc. • Los planificadores se sincronizan con sus relojes automáticamente para determinar el tiempo para cada proceso. Ing. Rony Villafuerte Serna Planificación de procesos La estrategia de permitir que procesos lógicamente ejecutables se suspendan temporalmente se llama planificación EXPROPIATIVA. Como se ha visto un proceso puede ser suspendido en cualquier momento entrando en condiciones de competencia lo que requiere semáforos, monitores o alguna técnica que los evite. Ing. Rony Villafuerte Serna Planificación Round Robin (torneo) El mas sencillo, antiguo, equitativo, y utilizado. Cada proceso con un intervalo de tiempo llamado CUANTO durante el cual se ejecuta. Si el proceso aun se esta ejecutando cuando Si el proceso aun se esta ejecutando cuando termina su tiempo el SO se apropia del procesador asignándoselo a otro. Si el proceso termina antes que el cuanto termine la conmutación se efectúa cuando el proceso se bloquea. Ing. Rony Villafuerte Serna Planificación Round Robin (torneo) Su implementación es sencilla, cuando un proceso termina se le pone al final del arreglo de procesos. Cuando pasa de un proceso a otro demora un tiempo. Si el cuanto es muy pequeño se tendría ineficacia en las aplicaciones, es muy largo un tiempo largo en respuesta a procesos interactivos. Ing. Rony Villafuerte Serna

description

Planificación de procesos aplicados en los sistemas operativos.

Transcript of Planificador Procesos Sistemas Operativos

Page 1: Planificador Procesos Sistemas Operativos

14/12/2009

1

Planificación de Procesos

Ing. Rony Villafuerte Serna

Planificación de procesos

• Cuando hay mas de un proceso es el PLANIFICADOR el que decide cual se ejecuta, lo realiza en base a un algoritmo de planificación.

• Criterios para conseguir un buen planificador– Equitatividad. Justo en tiempoq p– Eficiencia. Mantener ocupado el CPU– Tiempo de respuesta. Minimizar el tiempo para usuarios interactivos.– Retorno. Minimizar el tiempo para usuarios por lotes.– Volumen de producción. Maximizar el volumen de trabajos.

Ing. Rony Villafuerte Serna

Planificación de procesos

• Solo observando algunos de los objetivos son contradictorios. (minimizar tiempo de respuesta de usuarios interactivos y los trabajos por lotes).

• Para dar mas a uno tenemos que dar menos a otrootro.

• La complicación de los planificadores es que no saben cuanto tiempo se tomaran los procesos si son de E/S o uso de memória etc.

• Los planificadores se sincronizan con sus relojes automáticamente para determinar el tiempo para cada proceso.

Ing. Rony Villafuerte Serna

Planificación de procesos

• La estrategia de permitir que procesos lógicamente ejecutables se suspendan temporalmente se llama planificación EXPROPIATIVA.

• Como se ha visto un proceso puede ser suspendido en cualquier momento entrando en condiciones de competencia lo que requiere semáforos, monitores o alguna técnica que los evite.

Ing. Rony Villafuerte Serna

Planificación Round Robin (torneo)

• El mas sencillo, antiguo, equitativo, y utilizado.• Cada proceso con un intervalo de tiempo llamado CUANTO durante el cual se ejecuta.

• Si el proceso aun se esta ejecutando cuandoSi el proceso aun se esta ejecutando cuando termina su tiempo el SO se apropia del procesador asignándoselo a otro.

• Si el proceso termina antes que el cuanto termine la conmutación se efectúa cuando el proceso se bloquea.

Ing. Rony Villafuerte Serna

Planificación Round Robin (torneo)

• Su implementación es sencilla, cuando un proceso termina se le pone al final del arreglo de procesos.

• Cuando pasa de un proceso a otro demora un p ptiempo.

• Si el cuanto es muy pequeño se tendría ineficacia en las aplicaciones, es muy largo un tiempo largo en respuesta a procesos interactivos.

Ing. Rony Villafuerte Serna

Page 2: Planificador Procesos Sistemas Operativos

14/12/2009

2

Planificación por Prioridad

• En round Robin se supone que todos los procesos son igual de importantes.

• A cada procesos se le asigna una prioridad y se ejecuta el que tiene la mayor.j q y

• Para evitar que los procesos de prioridad alta se queden indefinidamente el planificador les reduce la prioridad por cada tic de reloj (INT).

• Las prioridades se pueden asignar dinámica o estáticamente.

Ing. Rony Villafuerte Serna

Planificación por Prioridad

• UNIX tiene un comando que reduce la prioridad de un proceso si el usuario así lo decide (nadie lo usa) FICE.

• Un algoritmo que asigna prioridades esUn algoritmo que asigna prioridades es asignando 1/f siendo f la fracción del ultimo cuanto que uso.– Si un proceso uso 2ns de 100 tendrá una prioridad de 50.

– Mientras que otro que uso 50 tendrá 2 de prioridad

Ing. Rony Villafuerte Serna

Colas Múltiples

• Cada proceso que entraba se le asignaba una clase y por clase se le asigna 1 2 3 cuantos según sea, cuando las clases terminaban con sus cuantos se le degrada una clasesus cuantos se le degrada una clase.

Ing. Rony Villafuerte Serna

Primer trabajo mas corto

• Los otros para trabajos interactivos, este para trabajos por lotes.

• Los tiempos de ejecución se conocen por adelantadoadelantado.

• El ejecutar los procesos mas cortos primero conseguirá que el procesador tenga toda la atención para el proceso mas largo, teniendo un tiempo de respuesta aceptable.

Ing. Rony Villafuerte Serna

Planificación Garantizada

• Hacer promesas reales a usuarios en cuanto al rendimiento y después cumplirlas.

• Verifica todos los procesos desde su creación, entonces asigna un tiempo estimado enentonces asigna un tiempo estimado en función de esos tiempos.

Ing. Rony Villafuerte Serna

Planificación por lotería.

• Hacer promesas y cumplirlas es difícil de implementar.

• Se dan boletos de lotería a los procesos para los recursos del sistema.

• Cuando se necesita el CPU se elige al azar el• Cuando se necesita el CPU se elige al azar el boleto dándole como premio 20ns y cada 50ns se hace un nuevo sorteo.

• Se pueden dar mas boletos a procesos mas importantes.

• Existen procesos cooperativos que entregan sus boletos a otros.

Ing. Rony Villafuerte Serna

Page 3: Planificador Procesos Sistemas Operativos

14/12/2009

3

Planificación en tiempo Real

• Los sistemas de tiempo real son todos donde el tiempo es esencial para su desarrollo, y no tener la atención a tiempo es igual que no tenerla.

• Reproductores de audio y video, unidades deReproductores de audio y video, unidades de cuidado intensivo, reactores.

• Se clasifican en – Tiempo real estricto.‐ plazos absolutos

– Tiempo real flexible.‐ es tolerable no cumplir los tiempos.

Ing. Rony Villafuerte Serna

Planificación en tiempo Real

• Divide el programa en procesos mas pequeños predecibles de corta duración y se ejecutan hasta termina en menos de 1seg.

• Cuando se produce un suceso externo el pplanificador deberá programar los sucesos para que se cumplan todos los plazos.

• Estos sucesos se clasifican en periódicos (cada cierto tiempo) y aperiódicos (inesperadamente).

Ing. Rony Villafuerte Serna

Planificación en tiempo Real

• Estos algoritmos pueden ser dinámicos o estáticos.

• Alg TASA MONOTONICA asigna por adelantado a cada proceso una prioridad proporcional a la ocurrencia de su eventoocurrencia de su evento.

• Alg PRIMER PLAZO MAS PROXIMO. Cuando se genera un evento este proceso se agrega  a la lista de procesos listos la cual esta ordenada por plazos.

• Alg HOLGURA. Calcula en función del tiempo que le sobra.

Ing. Rony Villafuerte Serna

Planificación de dos niveles

• Hasta ahora hemos visto los procesos ejecutándose en memoria pero que pasa cuando la memoria queda corta y tenemos procesos ejecutándose parcial o totalmente en le disco, esa latencia esta muy por alto en relación a los y pprocesos ejecutándose en memoria.

• Una forma practica de manejar el problema es tener dos planificadores a diferentes niveles uno vera los procesos en memoria mientras el otro elije conmutación entre procesos de disco y memoria.

Ing. Rony Villafuerte Serna

Planificación de dos niveles

• Lo criterios para el planificador a nivel superior:– Hace cuanto se intercambio el proceso del o hacia el discoel disco.

– Cuanto tiempo de CPU recibió el proceso.

– Que tan grande es el proceso.

– Que tan alta es la prioridad del proceso.

Ing. Rony Villafuerte Serna