Fundamentos de los Sistemas Opera2vos. Tema 2. Procesos Planificación de CPU José Miguel Santos Alexis Quesada Francisco Santana

Documentos relacionados
Sistemas Operativos Tema 6. Planificación de procesos José Miguel Santos Alexis Quesada Francisco Santana

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Conceptos de Planificación

Unidad 2: Gestión de Procesos

Capítulo 5: Despacho de CPU

5.- Despacho de CPU. Utilización máxima de CPU con multiprogramación. Ciclo CPU I/O Ejecución de un proceso = ciclo de CPU (ejecución) y espera de I/O

Clase Práctica - Scheduling

Sistemas Operativos. Práctica 2: Scheduling

Planificación de Procesos

Tema 2: Gestión de la CPU

Sistemas operativos, 2ª edición

PLANIFICACION DE LA CPU

Preguntas de autoevaluación tema 3

Clase práctica - Scheduling

Unidad 2: Gestión de Procesos

Administración del Procesador

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos Comprender la tarea y la elección de un planificador.

ISO Tema 7-B,

Sistemas Operativos Scheduling de Procesos

PRÁCTICO 3. Comprender la administración de procesos e hilos de los sistemas operativos. Comprender la tarea y la elección de un planificador.

Convivencia Gestión de Procesos

Niveles de Planificación

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador (extracto de las transparencias del libro)

SISTEMAS OPERATIVOS: Lección 4: Planificación de Procesos

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador 1ª parte: planificación en monoprocesador

Sistemas Operativos. Trabajo Práctico N ō 3

Planificación de Monoprocesadores.

Test SITR Temas: Planificación, Sincronización, Comunicación entre Procesos, Relojes, Señales, Temporizadores (TestSITR_T4 T9)

Seminario Diseño y construcción de microrrobots Planificador de monoprocesadores Marzo 2006 SEMINARIO DISEÑO Y CONSTRUCCIÓN DE MICRORROBOTS

ARQUITECTURA DE COMPUTADORES

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Planificación multiprocesador. Niveles de granularidad. Niveles de granularidad. Niveles de granularidad. Planificación multiprocesador - SSOO I

Concepto de Planificación Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución.

Objetivos de la Planificación. Planificación Monoprocesador. Tipos de Planificación. Tiempo de respuesta Productividad Eficiencia del procesador

EJERCICIOS TEMAS 1 Y 2 - SO SOLUCIONES

Sistemas Operativos. Oscar Bedoya

Planificación en Servidores de Información

6. Planificación. Los procesos tienden a tener ráfagas de ejecución (CPU-burst) y ráfagas de espera de operaciones de E/S (I/O burst).

Planificación. Gustavo Romero. 18 de enero de Arquitectura y Tecnología de Computadores. Introducción Poĺıticas Conclusiones

- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Gestión de Procesos. Concepto. Concepto y criterios de planificación. Utilización del procesador:

SOLUCIONES. Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática

Sistemas Operativos. 5 Itineración de CPU. Prof. Oscar Encina C.

Sistemas Operativos. 5 Itineración de CPU. Prof. Javier Cañas R.

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos.

El modelo de Procesos

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR GESTIÓN DE PROCESOS

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

SOLUCIONES. DURACIÓN: Dispone de dos horas para realizar el examen. Lea las instrucciones para el test en la hoja correspondiente.

Procesos. Planificación del Procesador.

El scheduler O(1) de Linux

Capítulo 5 Planificación. Secciones Stallings: 9.1, 9.2 (hasta pág. 421), 9.3. Planificación. Propósito Tipos de planificación:

Examen de Arquitectura de Computadores

Sistemas Operativos Tema 5. Procesos José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos Preguntas de Revisión

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador 4ª parte: Planificación de aplicaciones paralelas y distribuidas

Porque desarrolló el concepto de lista de tareas (pool de Job) que podía ser gestionada de acuerdo a políticas distintas a la FIFO.

Sistemas informáticos industriales. Sistemas Operativos

Scheduling. Ricardo Corin

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Fundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos (Parte 2)

Sumario Prólogo Unidad didáctica 1. Introducción a los sistemas operativos Objetivos de la Unidad... 12

Mercedes Fernández Redondo

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador

Sistemas Operativos. Curso 2014 Planificación

UT_x2: Administración de procesos del sistema. IES Juan de la Cierva & Facultad de Informática Universidad de Murcia

Sistemas Operativos. Curso 2015 Planificación

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Arquitectura de Computadores (obligatoria)

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador

Planificación de Procesos (Scheduling)

*** S O L U C I O N E S ***

El kernel forma parte del sistema operativo, para ser más claros es el núcleo, la parte más importante.

SOLUCIONES. DURACIÓN: Dispones de dos horas para realizar el examen. Lee las instrucciones para el test en la hoja correspondiente.

Hilos Secciones Stallings:

Pontificia Universidad Católica del Ecuador

Scheduling. Ricardo Corin

Pontificia Universidad Católica del Ecuador

Sistemas Operativos Distribuidos

Sistemas Operativos II Febrero 2007 Nombre:

UNIVERSIDAD DE BELGRANO FAC. ING. Y TECNOLOGIA INFORMATICA SISTEMAS OPERATIVOS UNIDAD 3 PLANIFICACION DE PROCESOS

Fac. de Informática / Escuela Univ. Informática SISTEMAS OPERATIVOS Examen Primer Parcial 5 de mayo de 2007

Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del computador y el SO

dit Planificación de tareas de tiempo real Juan Antonio de la Puente DIT/UPM UPM Copyright 2007, Juan Antonio de la Puente

Administración de procesos

Pontificia Universidad Católica del Ecuador

Unidad II. Lic. I. Vedia Lic.C. Mollinedo

*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL TUCUMAN

Planificación y Gestión de procesos

Índice general. Mensaje del editor. Agradecimientos. Sobre el autor

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales

Planicación de procesos: Algoritmos de planicación

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Tema 2: Programas y procesos

Transcripción:

Fundamentos de los Sistemas Opera2vos Tema 2. Procesos Planificación de CPU 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana

Contenido Modelo del sistema y criterios de rendimiento Algoritmo FCFS Algoritmo SJF Turno rotatorio (Round- Robin) Métodos basados en prioridades Métodos mulccolas Planificación en mulcprocesadores 2

Planificación del procesador (processor scheduling) El sistema operacvo decide qué proceso ocupa el procesador cuando éste queda libre. También en qué momento el proceso que está en ejecución debe abandonar el procesador. 3

PolíCca de planificación Cuál es la «mejor» manera de decidir qué proceso entra en la CPU? En orden de llegada, primero la tarea más corta, por prioridades? Debemos definir posibles criterios de valoración de las políccas 4

Criterios de valoración Podemos usar algunas magnitudes para medir el rendimiento de los algoritmos: U2lización de CPU: % de Cempo que la CPU está ocupada. Tiempo de retorno: Cempo transcurrido entre la llegada de un proceso y su finalización. Tiempo de espera: Cempo que un proceso permanece en la cola de preparados. Tiempo de respuesta: Cempo que un proceso bloqueado tarda en entrar en CPU, desde que ocurre el evento por el que estaba esperando. 5

Criterios de valoración Posibles objecvos de la planificación: Minimizar el Cempo medio de espera o de retorno Maximizar la uclización de CPU Mantener el Cempo de respuesta por debajo de un valor máximo, etc. Se pueden considerar las medias, valores extremos o varianzas de estas magnitudes. No existe una polícca de planificación ópcma para todos los criterios. Habrá que llegar a un compromiso. 6

Modelo del sistema: ráfagas de CPU y E/S Podemos considerar que la vida accva de un proceso es una sucesión de: ráfagas de CPU à el proceso ejecuta instrucciones ráfagas de E/S à el proceso ucliza o espera por la E/S Según la uclización de los recursos, se observan: procesos intensivos en CPU (ej. cálculos numéricos) procesos intensivos en E/S (ej. interaccvos) 7

Distribución Zpica de duraciones de las ráfagas de CPU 160 frecuencia 140 120 100 80 60 40 20 0 8 16 24 32 40 duración de la ráfaga (milisegundos) 8

Algoritmos expulsivos (preemp6ve) No expulsivos: el proceso que está en CPU la abandona cuando lo solicita (ej. FCFS) riesgo de acaparamiento injusto de la CPU Windows 3.11, Apple Macintosh original Expulsivos: el planificador puede desalojar al proceso que está en CPU para implementar Cempo comparcdo y Cempo real, es necesaria una planificación expulsiva: Unix, Windows NT, Mac OS X 9

FCFS (en orden de llegada) Proceso Duración P1 9 P2 4 P3 2 Calcular el Cempo de espera, Cempo de retorno y Cempo medio de espera si aplicamos el algoritmo FCFS suponiendo que llegan en el mismo instante en el siguiente orden: P1, P2, P3 Realizar los mismos cálculos suponiendo que llegan en el siguiente orden: P2, P3 y P1 10

FCFS: ejemplo de diagrama de Ganf Proceso' Duración' P1' 9' P2' 4' P3' 2' Diagrama de Gan; 0 9 13 15 P1 P2 P3 Tiempos de espera: P1=0; P2=9; P3=13 Tiempos de retorno: P1=9; P2=13; P3=15 t. espera medio: (0+9+13)/3 = 7,3 Si P1 hubiera llegado el úlcmo, los Cempos hubieran mejorado bastante (espera media=3,3): 0 4 6 15 P2 P3 P1 11

FCFS: caracterísccas La cola de preparados se gescona como una FIFO Simple de implementar Muy sensible al orden de llegada de los procesos Perjudica a los procesos intensivos en E/S (efecto convoy) 12

SJF (primero el más corto) SJF = Shortest Job First Entra en CPU el proceso con la ráfaga de CPU más breve. Versión expulsiva: Shortest Remaining Time First (SRTF) à El proceso en CPU es desalojado si llega a la cola un proceso con duración más corta. 13

SJF - ejemplo Proceso Llegada Duración P1 0 7 P2 2 4 P3 4 1 P4 5 4 Calcular el Cempo medio de espera que resulta de aplicar un algoritmo SJF no expulsivo Calcular el Cempo medio de espera que resulta de aplicar un algoritmo SJF expulsivo (SRTF) 14

SJF - ejemplo Proceso' Llegada' Duración' espera' SJF' espera' SRTF' P1' 0' 7' 0' 9' P2' 2' 4' 6' 1' P3' 4' 1' 3' 0' P4' 5' 4' 7' 2' ' 0 SJF no expulsivo ' espera media: (0+6+3+7)/4=4 P1 7 8 12 16 P3 P2 P4 SJF expulsivo (SRTF) espera media: (9+1+0+2)/4=3 0 2 4 5 7 11 16 P1 P2 P3 P2 P4 P1 15

SJF: caracterísccas Minimiza el Cempo de espera medio (ópcmo). Riesgo de inanición de los procesos con ráfagas de larga duración. No se puede predecir la siguiente ráfaga à una implementación real debe calcular una escmación. Posible escmación: media exponencial de las ráfagas anteriores τ n+1 = α t n + 1 α ( )τ n. 16

Planificación basada en prioridades Cada proceso Cene una prioridad asignada. Entra en CPU aquel con mayor prioridad. la polícca puede ser expulsiva o no Prioridades definidas de forma interna (por el S.O.) o externa (por los usuarios) El SJF es un ejemplo (prioridad=duración escmada) Riesgo de inanición de los procesos con menos prioridad. Solución: envejecimiento (aging). Aumentar progresivamente la prioridad a los procesos en espera. 17

Turno rotatorio (Round- Robin) Adecuado para implementar sistemas de Cempo comparcdo. Como el FCFS, pero cada proceso dispone de un «cuanto de Cempo» de duración Q para estar en la CPU: si transcurre Q y el proceso concnúa en CPU, el planificador lo desaloja y lo ingresa al final de la cola de preparados La cola de preparados se gescona con FIFO. Típicamente Q está entre 10 y 200 milisegundos. Si hay N procesos en cola, el Cempo de respuesta es como mucho: Q (N- 1) 18

Round Robin: ejercicio Proceso Duración P1 15 P2 4 P3 3 Probar con Q=4, Q=2, Q=1 19

RR: influencia de Q Si Q es muy grande, los procesos terminan sus ráfagas de CPU antes de que termine el cuanto: se comporta como un FCFS. Si Q es muy pequeño, se Cende a un sistema en el que cada proceso dispone de un procesador a 1/N de la velocidad del procesador real (procesador compar6do). Ojo, si Q es muy pequeño, ocurren más cambios de contexto y baja el rendimiento (Q debería ser mucho mayor que el Cempo que dura un cambio de contexto). 20

MulCcolas Varias colas de preparados, cada una gesconada con una polícca diferente. Ejemplo: Cola de procesos interaccvos con RR Cola de procesos por lotes con FCFS Las colas se reparten la CPU según alguna polícca: por prioridad absoluta un % de Cempo para cada cola, etc. Mul2colas con realimentación posibilidad de que un proceso se mueva de una cola a otra, p.ej. si cambia su comportamiento Ej. UNIX clásico: un proceso que lleva mucho Cempo en espera se mueve a una cola de más prioridad 21

MulCcolas - ejemplo procesos del sistema (FCFS) procesos interactivos de profesores (RR) procesos interactivos de estudiantes (RR) CPU procesos por lotes (FCFS) 22

Planificación de mulcprocesadores Procesamiento asimétrico. Un procesador se encarga de planificar el trabajo de los restantes (técnica en desuso). Procesamiento simétrico. Cada procesador realiza su planificación. cola de preparados única en mem. comparcda una cola por procesador 23

PolíCcas para mulcprocesadores Afinidad al procesador. Mantener al proceso siempre en un mismo procesador, para que aproveche los datos que puedan estar en la caché de la CPU. Equilibrado de carga. Tratar de que no haya procesadores muy ocupados u ociosos. Migración comandada (push) à una tarea supervisora comprueba la carga y traslada procesos Migración solicitada (pull) à un procesador ocioso puede «robar» procesos a otro más cargado 24

Ejemplos de políccas Ver capítulo 5.6 del Silberschatz Solaris Windows Linux 25

Fundamentos de los Sistemas Opera2vos Tema 2. Procesos FIN 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana