Planificacion Cpu

8
UNIDAD 3: ADMINISTRADOR DEL PROCESADOR BLOQUE DE CONTROL DE PROCESOS El bloque de control de procesos (PCB) de un trabajo se crea cuando el planificador de trabajos lo acepta y se actualiza conforme este avanza desde el principio hasta el final de su ejecución. El PCB es una estructura de datos que contiene los datos del trabajo necesarios para que el sistema operativo administre el procesamiento de este. El PCB contiene entre otros los siguientes campos: Identificador del proceso. Estado del proceso. Ciclos necesarios de CPU para su ejecución. Tiempo de llegada. Capacidad de memoria. Numero de archivos referenciados. Proceso con operaciones entrada, salida y/o CPU. Recursos de E/S necesarios para su ejecución. Tipo de proceso: sistema o de usuario. NIVELES DE PLANIFICACION El administrador del procesador trabaja con tres niveles de planificación: Planificador de nivel alto (Tareas): Acepta o rechaza tareas de acuerdo a políticas establecidas que generan una jerarquía de tareas para la asignación de la CPU. Planificador de nivel bajo (Procesos): Decide la forma más adecuada para asignar la CPU, cuánto tiempo y bajo qué condiciones la van a utilizar. Planificador de nivel medio: En un entorno muy interactivo, cuando el sistema está sobrecargado el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación con el objetivo de que los trabajos en memoria se completen más rápido.

description

g

Transcript of Planificacion Cpu

Page 1: Planificacion Cpu

UNIDAD 3: ADMINISTRADOR DEL PROCESADOR

BLOQUE DE CONTROL DE PROCESOS

El bloque de control de procesos (PCB) de un trabajo se crea cuando el planificador de trabajos lo acepta y se actualiza conforme este avanza desde el principio hasta el final de su ejecución. El PCB es una estructura de datos que contiene los datos del trabajo necesarios para que el sistema operativo administre el procesamiento de este. El PCB contiene entre otros los siguientes campos:

Identificador del proceso. Estado del proceso. Ciclos necesarios de CPU para su ejecución. Tiempo de llegada. Capacidad de memoria. Numero de archivos referenciados. Proceso con operaciones entrada, salida y/o CPU. Recursos de E/S necesarios para su ejecución. Tipo de proceso: sistema o de usuario.

NIVELES DE PLANIFICACION

El administrador del procesador trabaja con tres niveles de planificación: Planificador de nivel alto (Tareas): Acepta o rechaza tareas de acuerdo a políticas establecidas que

generan una jerarquía de tareas para la asignación de la CPU. Planificador de nivel bajo (Procesos): Decide la forma más adecuada para asignar la CPU, cuánto tiempo

y bajo qué condiciones la van a utilizar. Planificador de nivel medio: En un entorno muy interactivo, cuando el sistema está sobrecargado el

planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación con el objetivo de que los trabajos en memoria se completen más rápido.

POLITICAS DE PLANIFICACION

Define específicamente una prioridad de los algoritmos de planificación que resuelven los problemas de ejecución de acuerdo a una o más políticas:

1. Maximización de la producción: Significa el poder ejecutar tantos trabajos de la cola de listos como le sea posible al sistema.

2. Minimizar los tiempos de respuesta: Se trata de que el sistema sea capaz de atender solicitudes de la manera más rápida posible.

3. Minimizar los tiempos de de retorno del sistema: El sistema debe ser capaz de aceptar procesos y sacarlos con la mayor rapidez.

4. Minimizar los tiempos de espera: Que los trabajos que se encuentran en la cola de listos sean atendidos con mayor rapidez.

Page 2: Planificacion Cpu

5. Minimizar la eficiencia del procesador: Que el sistema sea capaz de mantener ocupada la CPU el 100% de las veces, el 100% del tiempo.

6. Asegurar justicia para todos los procesos: El sistema garantiza que todos los procesos deben tener lo que quieren en el tiempo que lo requieren.

DESPACHO DE PROCESOS

El planificador de procesos se apoya en un algoritmo de planificación de procesos, basado en una política específica para asignar al CPU y mover los trabajos por el sistema. Los primeros sistemas operativos utilizaban políticas no apropiativas, diseñadas para mover los trabajos por lotes a través del sistema con tanta eficiencia como era posible. La mayor parte de los sistemas actuales, con su énfasis en el uso interactivo del tiempo de respuesta, utiliza un algoritmo que se ocupa de las solicitudes inmediatas de usuarios interactivos.

ALGORITMOS DE PLANIFICACION DE PROCESOS

ALGORITMO FCFSPrimero en entrar, primero en servirse, es un algoritmo de planificación no apropiativo desde el punto de

vista del sistema; debido a que el proceso se vuelve propietario de la CPU mientras se ejecuta. Este algoritmo maneja los trabajos de acuerdo con tu tiempo de llegada: conforme entran son servidos. Con estricta prioridad FIFO. Algoritmo diseñado para sistemas por lotes. Los tiempos que maneja son: tiempos de retorno de proceso (TRP), tiempo de retorno promedio de sistema (TPS).

El tiempo de retorno de proceso: Es el tiempo en que el proceso termina su ejecución y devuelve el control al sistema operativo para que alterne con otro proceso.

El tiempo de retorno promedio de sistema: Este se calcula sumando todos los tiempos de retorno de los procesos ejecutados y dividendo entre el número de procesos terminados.

Tiempo total de ejecución: Tiempo transcurrido desde la ejecución del primer proceso hasta el término del último proceso.

Tiempo de espera: El tiempo que un proceso tarda en ser atendido por el procesador.

Ejemplo: PCBProcesos

AB C D E F G

Tiempo de llegada: 0 1 2 3 4 5 6Ciclo de CPU: 6 3 9 4 2 5 1

Dispositivos E/S 2 1 4 3 1 2 2Memoria 10K 5K 9K 3K 2K 6K 9KArchivos 2 4 1 0 6 0 2

a) Representación de la ejecución de los procesos a través de un diagrama de Gantt.

Tiempo (ms)

Page 3: Planificacion Cpu

Tiempo de Retorno de Proceso:Proceso A B C D E F GT. Retorno 6ms 9ms 18ms 22ms 24ms 29ms 30ms

Tiempo de retorno promedio del sistema:TPS=TRP/No.ProcesosTPS=138/7TPS=19.71ms

Tiempo de espera de proceso:Proceso A B C D E F GT. Espera 0ms 6ms 9ms 18ms 22ms 24ms 29ms

Tiempo total de ejecución:30ms

ALGORITMO SJFEste algoritmo ordena la lista de trabajos que se encuentran en estado de listos de acuerdo a su tiempo de

CPU, dándole mayor prioridad a aquellos procesos con el tiempo de CPU más corto. SJF es probablemente óptimo, ya que reduce el tiempo de espera promedio de cada trabajo. Sin embargo, la dificultad principal para la implementación de este algoritmo es que no se conoce ni es posible conocer el tiempo de CPU real de cada proceso. Algoritmo que funciona en sistemas por lotes y es de tipo no apropiativo. Los tiempos que maneja son: tiempos de retorno de proceso (TRP), tiempo de retorno promedio de sistema (TPS).

El tiempo de retorno de proceso: Es el tiempo en que el proceso termina su ejecución y devuelve el control al sistema operativo para que alterne con otro proceso.

El tiempo de retorno promedio de sistema: Este se calcula sumando todos los tiempos de retorno de los procesos ejecutados y dividendo entre el número de procesos terminados.

Tiempo total de ejecución: Tiempo transcurrido desde la ejecución del primer proceso hasta el término del último proceso.

Tiempo de espera: El tiempo que un proceso tarda en ser atendido por el procesador.

Ejemplo: PCBProcesos

AB C D E F G

Tiempo de llegada: 0 1 2 3 4 5 6Ciclo de CPU: 6 3 9 4 2 5 1

Dispositivos E/S 2 1 4 3 1 2 2Memoria 10K 5K 9K 3K 2K 6K 9KArchivos 2 4 1 0 6 0 2

a) Representación de la ejecución de los procesos a través de un diagrama de Gantt.

Tiempo (ms)

Page 4: Planificacion Cpu

Tiempo de Retorno de Proceso:Proceso A B C D E F GT. Retorno 21ms 6ms 30ms 10ms 3ms 15ms 1ms

Tiempo de retorno promedio del sistema:TPS=TRP/No.ProcesosTPS=86/7TPS=12.28ms

Tiempo de espera de proceso:Proceso A B C D E F GT. Espera 15ms 3ms 21ms 6ms 1ms 24ms 0ms

Tiempo total de ejecución:30ms

ALGORITMO POR PRIORIDADES

Es un algoritmo que se basa en un conjunto de prioridades para la ejecución de los procesos, donde cada prioridad no es más que un criterio que permita menor complejidad de ejecución. La jerarquía de prioridades se establece de la siguiente manera: “Menor prioridad aquellos procesos que por su complejidad reclaman mayor esfuerzo del procesador y mayor prioridad aquellos que requieren menos del procesador”.

Una vez seleccionada la prioridad, se ordena la cola, e inicia la ejecución de cada proceso de acuerdo a los ciclos de CPU de cada proceso.

Dentro de las prioridades que se manejan están: Tiempo de llegada. Ciclo de CPU. Tamaño de memoria. Tipo proceso (sistema, usuario). No. Archivos. Recursos. Condición (E/S, CPU).

Ejemplo: Prioridad por tamaño de memoria.PCB

ProcesosA

B C D E F G

Tiempo de llegada: 0 1 2 3 4 5 6Ciclo de CPU: 6 3 9 4 2 5 1

Dispositivos E/S 2 1 4 3 1 2 2Memoria 10K 5K 9K 3K 2K 6K 9KArchivos 2 4 1 0 6 0 2

Page 5: Planificacion Cpu

a) Representación de la ejecución de los procesos a través de un diagrama de Gantt.

Tiempo (ms)

Tiempo de Retorno de Proceso:Proceso A B C D E F GT. Retorno 30ms 9ms 23ms 6ms 2ms 14ms 24ms

Tiempo de retorno promedio del sistema:TPS=TRP/No.ProcesosTPS=108/7TPS=15.42ms

Tiempo de espera de proceso:Proceso A B C D E F GT. Espera 24ms 6ms 14ms 2ms 0ms 9ms 23ms

Tiempo total de ejecución:30ms

Los tiempos que maneja son: tiempos de retorno de proceso (TRP), tiempo de retorno promedio de sistema (TPS). El tiempo de retorno de proceso: Es el tiempo en que el proceso termina su ejecución y devuelve el control

al sistema operativo para que alterne con otro proceso. El tiempo de retorno promedio de sistema: Este se calcula sumando todos los tiempos de retorno de los

procesos ejecutados y dividendo entre el número de procesos terminados. Tiempo total de ejecución: Tiempo transcurrido desde la ejecución del primer proceso hasta el término del

último proceso. Tiempo de espera: El tiempo que un proceso tarda en ser atendido por el procesador.

ALGORITMO SRNTEl algoritmo SRNT, que significa “siguiente, tiempo restante más corto”, es un algoritmo de tipo

apropiativo, debido a que el sistema es capaz de tomar la CPU para asignarla a un proceso que cumpla con la prioridad definida (tiempos restantes más cortos que el actual). Se basa en la situación de que un proceso se puede ejecutar un ciclo de CPU y posteriormente analizar la cola de procesos listos hasta encontrar de forma inmediata un proceso que pueda ejecutarse en tiempos más cortos, de esta manera se pueden sustituir procesos en la cola sin posponer demasiado tiempo su ejecución.Los tiempos que maneja son:

Tiempo de retorno de proceso: Se realiza a través de la operación: Tiempo de terminación de proceso – tiempo de llegada. Donde el tiempo de terminación de proceso, es el último ciclo de tiempo en que el proceso aparece y el tiempo de llegada se encuentra en la tabla PCB.

Page 6: Planificacion Cpu

Tiempo de retorno promedio del sistema: Este se calcula sumando todos los tiempos de retorno de los procesos ejecutados y dividendo entre el número de procesos terminados.

ALGORITMO ROUND ROBINEs un algoritmo de planificación aplicado en sistemas multiprogramado. Se basa en la justicia de

asignación del procesador para todos los procesos de llegada. Utiliza la prioridad FIFO y se basa en un QUANTUM de tiempo que varía de 100ms hasta 1 o 2 segundos, para asegurar justicia entre los trabajos.

Los tiempos que calcula son: El tiempo de retorno de proceso: Este tiempo se calcula restando el tiempo en que realmente termina el

proceso menos el tiempo de llegada. El tiempo de retorno promedio de sistema: Este se calcula sumando todos los tiempos de retorno de los

procesos ejecutados y dividendo entre el número de procesos.

Existen dos condiciones principales para la terminación del QUANTUM:1. Interrupción de E/S por parte del proceso.2. Cuando el proceso utiliza ciclos de CPU menores al QUANTUM del tiempo.