Sistemas operativos, 2ª edición

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

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

Conceptos de Planificación

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

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

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

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

Sistemas operativos avanzados

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

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

Unidad 2: Gestión de Procesos

Tema 2: Gestión de la CPU

Planificación de Procesos

Planificación de Monoprocesadores.

Convivencia Gestión de Procesos

ISO Tema 7-B,

Preguntas de autoevaluación tema 3

El scheduler O(1) de Linux

Sistemas Operativos. Trabajo Práctico N ō 3

Sistemas Operativos Preguntas de Revisión

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.

Clase Práctica - Scheduling

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.

PLANIFICACION DE LA CPU

Niveles de Planificación

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

Sistemas Operativos Scheduling de Procesos

Sistemas operativos 2ª edición. Capítulo 4 Planificación del procesador 3ª parte: planificación de máquinas virtuales

Capítulo 5: Despacho de CPU

Hilos Secciones Stallings:

Sistemas Operativos. Práctica 2: Scheduling

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

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

Administración del Procesador

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

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

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

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U PLANIFICACION DE PROCESOS

Pontificia Universidad Católica del Ecuador

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).

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

Aviso 2: Escriba con buena letra y evite los tachones. Aviso 3: Solución del examen y fecha de revisión en

Procesos. Planificación del Procesador.

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

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 Operativos II Febrero 2007 Nombre:

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

EJERCICIOS TEMAS 1 Y 2 - SO SOLUCIONES

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

Administración de procesos

Sistemas operativos avanzados. Planificación del procesador

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

Pontificia Universidad Católica del Ecuador

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

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Planificación y Gestión de procesos

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

Pontificia Universidad Católica del Ecuador

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

1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:

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

6. Enumere tres ventajas de los ULT frente a los KLT.

Planificadores: de PQ a WRR

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:

Arquitectura de Computadores (obligatoria)

ARQUITECTURA DE COMPUTADORES

Mercedes Fernández Redondo

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

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

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

Planificación dinámica de tareas

Sistemas Operativos II Febrero 2008 Nombre:

TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño

TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS

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

Planificación con prioridades

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL TUCUMAN

Sistemas Operativos. Procesos

Unidad 2: Gestión de Procesos

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

Sistemas informáticos industriales. Sistemas Operativos

Dr. Hernán Merlino Dr. Pablo Pytel

Sistemas Operativos Distribuidos

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

El modelo de Procesos

Acceso coordinado a recursos compartidos

Bloque I: Principios de sistemas operativos

Capítulo 2 Introducción a los sistemas operativos

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

DATOS DE IDENTIFICACIÓN DEL CURSO

Sistemas Operativos (Parte 2)

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

Examen de Arquitectura de Computadores

PROCESOS E HILOS - Hilo

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

Transcripción:

Sistemas operativos 2ª edición Capítulo 4 Planificación del procesador (extracto de las transparencias del libro) Contenido Introducción Caracterización de los procesos Objetivos de la planificación Algoritmos de planificación expulsivos y no expulsivos Planificación en multiprocesadores Estudio de un ejemplo: la planificación en Linux 2 Introducción El problema general de la planificación SO planifica recursos UCP recurso más importante Planificación del procesador Aparece con multiprogramación Sistemas por lotes: aprovechamiento de UCP Tiempo compartido: reparto equitativo entre usuarios PC: interactividad; buen tiempo de respuesta Multiprocesadores: aprovechar paralelismo Tiempo real (no crítico): cumplir plazos Recurso con múltiples ejemplares utilizado por varios usuarios Planificación: qué ejemplar se asigna a qué usuario cola de espera U6 U1 U9 Recurso U4 U3 U5 U7 3 4

Aspectos generales de la planificación Caracterización de los procesos Objetivos generales: Optimizar uso Minimizar tiempo de espera Ofrecer reparto equitativo Proporcionar grados de urgencia Tipos de planificación: expulsiva versus no expulsiva Afinidad a subconjunto de ejemplares de recurso Estricta: pedida por el usuario Natural: favorece rendimiento Perfil de uso del procesador Mejor primero proceso con ráfaga de UCP más corta Grado de interactividad Asegurar buen tiempo de respuesta de interactivos Nivel de urgencia Especialmente importante en sistemas de tiempo real 5 6 Uso intensivo de la E/S versus la UCP Objetivos de la planificación del procesador Programa inicio(); Repetir leer(fichero_entr, dato); /* procesado sencillo */ res=pr(dato); escribir(fichero_sal, res); hasta EOF(fichero_entr); fin(); Programa inicio(); leer(fichero, matriz); /* procesado complejo */ procesar(matriz); escribir(fichero, matriz); fin(); inicio leer pr escribir leer pr escribir escribir fin inicio leer procesar escribir fin Optimizar el comportamiento del sistema. Diferentes parámetros (a veces contrapuestos) Parámetros por entidad (proceso o hilo): Tiempo de ejecución (Te) Tiempo de espera Tiempo de respuesta (Ta) Parámetros globales: Uso del procesador (C) Tasa de trabajos completados (P) 7 8

Puntos de activación Puntos del SO donde puede invocarse el planificador : 1. Proceso en ejecución finaliza 2. Proceso realiza llamada que lo bloquea 3. Proceso realiza llamada que desbloquea proceso más urgente 4. Interrupción desbloquea proceso más urgente 5. Proceso realiza llamada declarándose menos urgente 6. Interrupción de reloj marca fin de rodaja de ejecución Dos tipos de algoritmos: no expulsivos: sólo C.C. voluntarios (1 y 2) expulsivos: además C.C. involuntarios (3, 4, 5 y/o 6) No confundir con núcleo expulsivo o no expulsivo Algoritmos de planificación Primero en llegar primero en ejecutar (FCFS) Primero el trabajo más corto (SJF/SRTF) Planificación basada en prioridades Round robin (turno rotatorio) Colas multinivel Algoritmo real es mezcla de teóricos + ajustes empíricos 9 10 Primero en llegar primero en ejecutar (FCFS) Primero el trabajo más corto (SJF) Selección: Proceso que lleva más tiempo en cola de listos Algoritmo no expulsivo Fácil de implementar: Cola de listos gestionada en modo FIFO Satisfacción de objetivos generales: Optimizar uso Minimizar tiempo de espera Ofrecer reparto equitativo Proporcionar grados de urgencia Selección: Proceso listo con próxima ráfaga UCP más corta Versión no expulsiva: Sólo si proceso se bloquea o termina Versión expulsiva: 1º el de menor tiempo restante (SRTF) También se activa si proceso pasa a listo (puntos 3 y 4) Cómo se conoce a priori la duración de la próxima ráfaga? Estimaciones a partir de las anteriores Puede producir inanición Punto fuerte: Minimizar tiempo de espera 11 12

Planificación por prioridad Turno rotatorio (Round Robin, RR) Cada proceso tiene asignada una prioridad Selección: Proceso en cola de listos que tenga mayor prioridad Existe versión no expulsiva y expulsiva Si proceso pasa a listo o actual baja su prioridad (3, 4 y 5) Las prioridades pueden ser estáticas o dinámicas Prioridad puede venir dada por factores externos o internos Puede producir inanición: Envejecimiento : Prioridad aumenta con el tiempo Punto fuerte: Proporcionar grados de urgencia FCFS + plazo (rodaja o cuanto) Algoritmo expulsivo pero sólo con fin del cuanto (punto 6) Tiempo de respuesta acotado Tamaño rodaja Grande: tiende a FIFO Pequeño: demasiada sobrecarga Igual para todos los procesos o no Para un proceso: fija o dinámica Punto fuerte: Ofrecer reparto equitativo 13 14 Colas multinivel Colas multinivel sin realimentación Generalización: Distinguir entre clases de procesos Parámetros del modelo: Número de niveles (clases) Algoritmo de planificación de cada nivel Algoritmo de reparto del procesador entre niveles Colas con o sin realimentación: Sin: proceso en la misma cola durante toda su vida Con: proceso puede cambiar de nivel Nivel 1 Nivel 2 Nivel 3 Turno rotatorio (Rodaja = 50 ms.) Turno rotatorio (Rodaja = 150 ms.) Turno rotatorio (Rodaja = 450 ms.) Prioridad máxima Prioridad media Prioridad mínima 15 16

Colas multinivel con realimentación Planificación en multiprocesadores Nivel 1 Rodaja no Nivel 2 Rodaja no Nivel 3 Turno rotatorio (Rodaja = 50 ms.) Turno rotatorio (Rodaja = 150 ms.) Turno rotatorio (Rodaja = 450 ms.) Prioridad máxima Rodaja Prioridad media Rodaja Prioridad mínima Trivial: N UCP ejecutan N procesos más prioritarios Sí, pero hay que tener en cuenta: Afinidad natural y estricta Multiprocesadores basados en hyperthreading Multiprocesadores NUMA Evitar congestión en operación del planificador 2 esquemas: Cola única Una cola/procesador 17 18 Planificación en MP con cola única Sistema multiprocesador jerárquico UCP elige qué proceso de la cola ejecuta (autoplanificación) Afinidad natural: mejor ejecutar en misma UCP Aprovecha información en caché Planificación: UCP queda libre: proceso más prioritario (matiz afinidad) Proceso P pasa a listo: 1. UCP afín libre 2. UCP libre 3. UCP con proceso Q tal que prio(p)>prio(q) (matiz afinidad) Uso de IPI para forzar CCI Además, debe respetar afinidad estricta físico Nodo Memoria del nodo físico Red de conexión físico Nodo Memoria del nodo físico 19 20

Planificación en multiprocesador jerárquico Planificación en MP con una cola por UCP Sistemas NUMA: Afinidad a nodo: mejor ejecutar en mismo nodo Cambios en esquema de planificación Preferencia proceso en mismo nodo Hyperthreading: UCPs lógicas sobre una UCP física Afinidad a UCP física: mejor ejecutar en misma UCP física Cambios en esquema de planificación Preferencia proceso en misma UCP física Mejor usar UCP lógica libre cuya UCP física esté libre Jerarquía genérica: es multinúcleo Cola única: Accesos a cola requieren cerrojo y mala afinidad Cola por UCP: Cada UCP se planifica de forma independiente No hay congestión por cerrojo y se aprovecha mejor afinidad Mecanismo de equilibrado debe ser explícito: Migración Debe tener en cuenta la jerarquía de afinidades 21 22 Planificación con una cola por procesador Planificación en Linux 1 00000000... Muy versátil: desde portátiles a grandes servidores Mejoras del planificador en versión 2.6: Menor tiempo de respuesta. Núcleo expulsivo Sobrecarga independiente de número de procesos O(1) Mejor soporte multiprocesador: uso de una cola por UCP P4 P3 P2 Migración P6 2 3 P5 P7 P1 00110010... P9 P8 00101001... 23 24

Planificación en Linux: uniprocesador (1/2) Planificación en Linux: uniprocesador (2/2) Cola multinivel sin realimentación: t. real (no crítico) y normal Clase tiempo real (más prioritaria) Prioridad estática (FCFS o RR para iguales) Prioridad y rodaja especificada por el proceso Clase normal: prioridad dinámica + RR (con rodaja fija) Prioridad base estática: -20 (máx.) a 19 (mín.) Ajuste dinámico de -5 (mejora) a +5 (empeora) Depende de uso de UCP y tiempo de bloqueo Favorece procesos interactivos y con E/S y elimina inanición Rodaja con tamaño fijo que depende de la prioridad base 5ms (prio 19); 100ms (prio 0); 800 ms (prio -20) Aspectos específicos poco convencionales: 2 listas de procesos listos: activos y expirados Planificador selecciona de lista de activos Proceso que agota su rodaja pasa a lista de expirados Excepto si se considera interactivo que vuelve a activos Cuando se desbloquea proceso pasa a lista de activos Se crean rondas de ejecución Procesos agotan rodaja y terminan todos en lista de expirados En una ronda proceso va gastando su rodaja por tramos Fin de ronda : intercambio de listas 25 26 Planificación en Linux: colas de procesos expirados activos P4 P3 P2 P6 P5 P7 P1 P9 P8 00110010... 00101001... 27