La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Planificación de uso del procesador

Presentaciones similares


Presentación del tema: "Planificación de uso del procesador"— Transcripción de la presentación:

1 Planificación de uso del procesador
Rina Arauz

2 La ejecución de un trabajo se compone de secuencias de procesador y de espera
Programa 1 Sistema Operativo Programa 2 En ejecución Salvar registros Inactivo Interrupción o llamada al sistema Restaurar registros Inactivo En ejecución Salvar registros Interrupción o llamada al sistema Restaurar registros Inactivo En ejecución

3 Planificación Planificador: Elemento del SO que determina el orden en que se deben atender las solicitudes de uso de procesador por parte de los distintos procesos. Objetivos de la planificación: Equidad Eficiencia Bajo tiempo de respuesta Rendimiento alto Minimizar el tiempo de espera Todos estos objetivos no se pueden conseguir simultáneamente. Repartidor o Dispatcher: Elemento del SO que conmuta el procesador de un trabajo a otro (realiza el cambio de contexto de los procesos).

4 Planificadores (schedulers)
Planificador a largo plazo: determina que trabajos van a ser cargados en memoria para ejecutarse. Controla el grado de multiprogramación Utilizado en sistemas batch, en sistemas actuales no existe, es el usuario quien decide que trabajos se cargan en memoria. Planificador a corto plazo: Selecciona entre los trabajos cargados en memoria y que están preparados para ejecutarse cual hará uso del procesador. Debe ser muy rápido ya que entra en juego con una frecuencia muy alta. Planificador a medio plazo Carga y descarga trabajos desde el disco a la memoria y de la memoria al disco en función del grado de sobrecarga del sistema.

5

6 Relación entre los planificadores
CPU Cola de preparados E/S Cola de E/S E/S Cola de E/S E/S Cola de E/S

7 Criterios de planificación
Utilización del procesador Maximizar el rendimiento del procesador Rendimiento (“Throughput”) Trabajos completados por unidad de tiempo Tiempo de estancia (“Turnaround time”) (retorno) Tiempo transcurrido desde que se lanza hasta que finaliza Tiempo de espera Por operaciones de E/S o por otros aspectos Tiempo de respuesta Importante en aplicaciones interactivas o de tiempo real

8 Planificación FCFS Primero en entrar, primero en salir
Se lleva a cabo manejando la cola de procesos preparados como una cola FIFO Es el algoritmo más sencillo de codificar Características y prestaciones: Depende fuertemente de los tipos de trabajo y del instante en que llegan Limitados por CPU: Mucha CPU y poca E/S Limitados por E/S: Mucha E/S y poca CPU

9

10 Shortest Job First (SJF)
Asocia de forma dinámica a cada proceso la longitud de su siguiente ráfaga de CPU Asigna la CPU al trabajo con la ráfaga siguiente más pequeña Este algoritmo es óptimo para reducir los tiempos medios de retorno Su dificultad es conocer cuáles van a ser las duraciones de las próximas ráfagas de CPU de cada proceso ¿Cómo se estima la duración de la siguiente ráfaga de CPU?

11 Método de predicción La siguiente ráfaga de CPU se predice como una media exponencial de las longitudes medias en anteriores ráfagas Sea: tn: longitud de la n-ésima ráfaga de CPU tn: valor predicho para la n-ésima ráfaga de CPU a : parámetro de ajuste tn+1 = a tn + (1-a) tn tn: contiene la información más reciente tn: contiene la historia pasada

12

13 SJF con expulsion (requisa)(apropiativo)

14 Algoritmos de prioridad
Se asocia una prioridad a cada proceso y la CPU se asigna al trabajo con la prioridad más alta Las prioridades pueden definirse de dos formas: Internamente: Consumo de tiempo de CPU Cantidad de memoria usada Recursos empleados Externamente Tipo de usuario Tipo de aplicación Etcétera Problema: posible inanición (“starvation”) de determinadas solicitudes

15

16 Algoritmos “round robin”
Usados en sistemas de tiempo compartido La CPU se asigna a cada proceso preparado durante un cuanto de tiempo “q” La cola de procesos preparados es FIFO Si la ráfaga de CPU > q  Interrupción TIME-OUT Si la ráfaga de CPU < q  Liberación de CPU Prestaciones: dependen fuertemente de q q  ¥  round-robin degenera en FCFS q  0  CPU/n Si “q” es muy pequeño se pierde mucho tiempo en el cambio de contexto. Disminuye la eficacia del procesador Si “q” es grande, los tiempos de respuesta aumentan Regla empírica: el 80% de las ráfagas de CPU deben ser menores que el cuanto Problema: sólo existe una cola de trabajos preparados, no distingo entre tipos de trabajos

17

18 Colas multinivel Dividen la cola de preparados en colas separadas en función del tipo de trabajo Cada cola tiene su propio algoritmo de planificación Debe existir otro algoritmo para elegir la cola en cada momento Prioridad alta Tareas del sistema Tareas interactivas Tareas de edición Tareas batch Prioridad baja

19 Colas multinivel realimentadas
Los trabajos se mueven. Consideraciones: El algoritmo de planificación de cada cola Métodos para “ascender” y “descender” Dónde poner inicialmente a los trabajos Quantum = 10 Quantum = 20 FCFS

20 W2K Algoritmo apropiativo con prioridades (base + offset)
WNT soporta 32 niveles de prioridad Las colas son colas doblemente enlazadas de tareas Ready Escenarios de planificación: Apropiación Lista despues de una espera Conmutación voluntaria Finalización de quantum

21 Apropiación Apropiación Lista después de una espera Ready Running
Desde el estado de espera Lista después de una espera Ready Running Desde el estado de espera

22 Finalización de quantum
Ready Running Conmutación voluntaria Al estado de espera Finalización de quantum Ready Running

23 Ajuste de prioridad en W2K (boost y decay)
Después de una E/S: Valores de boost: 1 disco, CD-ROM, puerto paralelo y vídeo 2 puerto serie, red, tubería con nombre 6 teclado y ratón 8 sonido Comportamiento de boost Se aplica a la prioridad base Nunca se debe superar el máximo de 15 Si después del boost se obtiene un quantum Se cae un nivel y se asigna otro quantum Así hasta llegar a la prioridad base

24 Decay cuando finaliza el quantum
Se cae a la siguiente cola Nunca por debajo de la prioridad base Ready Running


Descargar ppt "Planificación de uso del procesador"

Presentaciones similares


Anuncios Google