Planificacin de uso del procesador Rina Arauz La

  • Slides: 24
Download presentation
Planificación de uso del procesador Rina Arauz

Planificación de uso del procesador Rina Arauz

La ejecución de un trabajo se compone de secuencias de procesador y de espera

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 En ejecución UNAN-Leon Restaurar registros Inactivo Planificación de CPU 2

Planificación n n Planificador: Elemento del SO que determina el orden en que se

Planificación n n Planificador: Elemento del SO que determina el orden en que se deben atender las solicitudes de uso de procesador parte de los distintos procesos. Objetivos de la planificación: n Equidad n Eficiencia n Bajo tiempo de respuesta n Rendimiento alto n 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). UNAN-Leon Planificación de CPU 3

Planificadores (schedulers) n Planificador a largo plazo: determina que trabajos van a ser cargados

Planificadores (schedulers) n Planificador a largo plazo: determina que trabajos van a ser cargados en memoria para ejecutarse. n n n Planificador a corto plazo: Selecciona entre los trabajos cargados en memoria y que están preparados para ejecutarse cual hará uso del procesador. n n 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. Debe ser muy rápido ya que entra en juego con una frecuencia muy alta. Planificador a medio plazo n 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. UNAN-Leon Planificación de CPU 4

UNAN-Leon Planificación de CPU 5

UNAN-Leon Planificación de CPU 5

Relación entre los planificadores Cola de preparados UNAN-Leon CPU E/S Cola de E/S Planificación

Relación entre los planificadores Cola de preparados UNAN-Leon CPU E/S Cola de E/S Planificación de CPU 6

Criterios de planificación n Utilización del procesador n n Rendimiento (“Throughput”) n n Tiempo

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

Planificación FCFS n n Primero en entrar, primero en salir Se lleva a cabo

Planificación FCFS n n 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: n n Depende fuertemente de los tipos de trabajo y del instante en que llegan Limitados por CPU: n n Mucha CPU y poca E/S Limitados por E/S: n Mucha E/S y poca CPU UNAN-Leon Planificación de CPU 8

UNAN-Leon Planificación de CPU 9

UNAN-Leon Planificación de CPU 9

Shortest Job First (SJF) n n n Asocia de forma dinámica a cada proceso

Shortest Job First (SJF) n n n 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? UNAN-Leon Planificación de CPU 10

Método de predicción n n La siguiente ráfaga de CPU se predice como una

Método de predicción n n La siguiente ráfaga de CPU se predice como una media exponencial de las longitudes medias en anteriores ráfagas Sea: n n n 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 n n tn: contiene la información más reciente tn: contiene la historia pasada UNAN-Leon Planificación de CPU 11

UNAN-Leon Planificación de CPU 12

UNAN-Leon Planificación de CPU 12

SJF con expulsion (requisa)(apropiativo) UNAN-Leon Planificación de CPU 13

SJF con expulsion (requisa)(apropiativo) UNAN-Leon Planificación de CPU 13

Algoritmos de prioridad n n Se asocia una prioridad a cada proceso y la

Algoritmos de prioridad n n 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: n Internamente: n n Externamente n n Consumo de tiempo de CPU Cantidad de memoria usada Recursos empleados Tipo de usuario Tipo de aplicación Etcétera Problema: posible inanición (“starvation”) de determinadas solicitudes UNAN-Leon Planificación de CPU 14

UNAN-Leon Planificación de CPU 15

UNAN-Leon Planificación de CPU 15

Algoritmos “round robin” n n n Usados en sistemas de tiempo compartido La CPU

Algoritmos “round robin” n n n 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 n n n Prestaciones: dependen fuertemente de q n n n Si la ráfaga de CPU > q Interrupción TIME-OUT Si la ráfaga de CPU < q Liberación de CPU 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 UNAN-Leon Planificación de CPU 16

UNAN-Leon Planificación de CPU 17

UNAN-Leon Planificación de CPU 17

Colas multinivel n n n Dividen la cola de preparados en colas separadas en

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

Colas multinivel realimentadas n Los trabajos se mueven. Consideraciones: n n n El algoritmo

Colas multinivel realimentadas n Los trabajos se mueven. Consideraciones: n n n 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 UNAN-Leon Planificación de CPU 19

W 2 K n Algoritmo apropiativo con prioridades (base + offset) n WNT soporta

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

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

Apropiación n Apropiación Ready Running Desde el estado de espera n Lista después de una espera Desde el estado de espera UNAN-Leon Ready Running Planificación de CPU 21

Ready n Running Conmutación voluntaria Al estado de espera Finalización de quantum Ready UNAN-Leon

Ready n Running Conmutación voluntaria Al estado de espera Finalización de quantum Ready UNAN-Leon Running Planificación de CPU 22

Ajuste de prioridad en W 2 K (boost y decay) n Boost n Después

Ajuste de prioridad en W 2 K (boost y decay) n Boost n Después de una E/S: n Valores de boost: n n n 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 n n n Se aplica a la prioridad base Nunca se debe superar el máximo de 15 Si después del boost se obtiene un quantum n n Se cae un nivel y se asigna otro quantum Así hasta llegar a la prioridad base UNAN-Leon Planificación de CPU 23

Decay cuando finaliza el quantum n n Se cae a la siguiente cola Nunca

Decay cuando finaliza el quantum n n Se cae a la siguiente cola Nunca por debajo de la prioridad base Ready UNAN-Leon Running Planificación de CPU 24