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

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

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

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

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Pontificia Universidad Católica del Ecuador

Procesos. Planificación del Procesador.

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

Pontificia Universidad Católica del Ecuador

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

Actividades de Teoría de Sistemas Operativos Sistemas informáticos multiusuario y en red

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

Scheduling. Ricardo Corin

El modelo de Procesos

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Unidad 2: Gestión de Procesos

PLANIFICACIÓN DE PROCESOS

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Planificador de Linux (Scheduler)

Tema 2: Programas y procesos

1. INTRODUCCIÓN 1.1. Qué es un sistema operativo? El sistema operativo como máquina extendida El sistema operativo como gestor de

Introducción a los Sistemas Operativos

HYPERTHREADING TECHNOLOGY IN THE NETBURST MICROARCHITECTURE. Arquitectura de computadores Leyre Aldama Pérez

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

- 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 20 Gestión de memoria

3 Planificación de procesos y procesadores

Sistemas Distribuidos. Soporte de Sistemas Operativos

Taller de sistemas operativos PLANIFICADOR

Universidad Central Del Este U C E Facultad de Ciencias y Humanidades Escuela de Pedagogía Mención Informática.

Memoria Virtual. Memoria Virtual

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

Sistemas Operativos. Oscar Bedoya

Adaptación de la arquitectura linux lib de MaRTE OS a multiprocesadores

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

F1131 Fundamentos de sistemas operativos 1/12

Tema 6 Organización y gestión de la memoria

Algoritmos de planificación:

Procesos y Memoria. Administración de Memoria 26/10/2010 SISTEMAS OPERATIVOS

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

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

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

Capítulo 1. Sistemas de Asignación Contigua Basados en Particiones

Gestión de Entrada-salida

Tecnología de software para sistemas de tiempo real

Sistemas Operativos I

ADMINISTRACION DE LA MEMORIA. En memoria 1 solo proceso Desventajas:

Fundamentos de Sistemas Operativos

Manipulación de procesos

RELOJES DE TIEMPO REAL ÍNDICE

aspectos fundamentales

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Introducción a los Sistemas Operativos

SISTEMAS OPERATIVOS Arquitectura de computadores

Diseño arquitectónico 1ª edición (2002)

Tiempo real. Juan Antonio de la Puente DIT/UPM. Tiempo real. Comprender el papel del tiempo en el diseño y realización de sistemas de tiempo real

Funcionamiento de la computadora

ESTRUCTURAS BÁSICAS DE UN S.O.

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

TEMA 11 CONMUTACIÓN DE PAQUETES

UPM Gestión del tiempo real

Planificación de procesos: Algoritmos de planificación

Parte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación

Sistemas Operativos I. Tema 3. Procesos. Equipo de Sistemas Operativos DISCA / DSIC UPV

Sistemas Operativos Administración de la Memoria

Administración de la memoria

Aplicaciones Concurrentes

Memoria. Organización de memorias estáticas.

Herramientas Informáticas I Software: Sistemas Operativos

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

Entrada/Salida. Nano Semelman Maximiliano Geier Maximiliano Sacco. Sistemas Operativos, 2c DC - FCEyN - UBA

Organización lógica Identificación de bloque

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

Planta Primera. Vivenda. 63,70m² 73,99m² 6,27m²

Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino

Qué es un programa informático?

Procesadores superescalares. Introducción

Asignaturas antecedentes y subsecuentes

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

Fundamentos básicos de los Sistemas Operativos

Tile64 Many-Core. vs. Intel Xeon Multi-Core

Gestión de Memoria. Gestión de Memoria. Requisitos de Gestión de Memoria

Ejercicios Jerarquía de Memoria

Tema 2. Procesos. 1. Concepto de proceso

TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Diagrama temporal de un programa simple. Multi-Programación con dos programas

Concurrencia y paralelismo

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

CAPITULO 6. Control de Concurrencia y Recuperación

Planificación de procesos: Temas relacionados

1.- INTRODUCCIÓN TEORIA DE COLAS

SOLUCIONES. SISTEMAS OPERATIVOS Examen de la convocatoria extraordinaria de diciembre 2 de diciembre de 2010

Sistemas operativos. Tema 10: Sistemas de ficheros

Sistemas Operativos. Daniel Rúa Madrid

El subsistema de Memoria

Anexo Acuerdo de Nivel de Servicio: Atención a Usuarios CSU Gestión de Nivel de Servicio

Sistemas Distribuidos: Migración de Procesos

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 Planificación en tiempo real 2

Introducció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 3

El problema general de la planificación Recurso con múltiples ejemplares utilizado por varios usuarios Planificación: qué ejemplar se asigna a qué usuario Recurso cola de espera U6 U1 U9 U4 U3 U5 U7 4

Aspectos generales de la planificación 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 5

Caracterización de los procesos 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 6

Uso intensivo de la E/S versus la UCP Programa inicio(); Repetir leer(fichero_entr, dato); /* procesado sencillo */ res=pr(dato); escribir(fichero_sal, res); hasta EOF(fichero_entr); inicio leer pr escribir leer pr escribir escribir fin fin(); Programa inicio(); leer(fichero, matriz); inicio leer procesar escribir fin /* procesado complejo */ procesar(matriz); escribir(fichero, matriz); fin(); 7

Objetivos de la planificación del procesador 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) 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 9

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 10

Primero en llegar primero en ejecutar (FCFS) 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 11

Primero el trabajo más corto (SJF) 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 12

Planificación por prioridad 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 13

Turno rotatorio (Round Robin, RR) 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 14

Colas multinivel 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 15

Colas multinivel sin realimentación Nivel 1 Turno rotatorio (Rodaja = 50 ms.) Prioridad máxima Nivel 2 Turno rotatorio (Rodaja = 150 ms.) Prioridad media Nivel 3 Turno rotatorio (Rodaja = 450 ms.) Prioridad mínima 16

Colas multinivel con realimentación Nivel 1 Rodaja no agotada Turno rotatorio (Rodaja = 50 ms.) Prioridad máxima Rodaja agotada Nivel 2 Turno rotatorio (Rodaja = 150 ms.) Prioridad media Rodaja no agotada Nivel 3 Turno rotatorio (Rodaja = 450 ms.) Rodaja agotada Prioridad mínima 17

Planificación en multiprocesadores Trivial: N UCP ejecutan N procesos más prioritarios Sí, pero hay que tener en cuenta: Afinidad natural y estricta Multiprocesadores jerárquicos (SMT, CMP, NUMA,...) Compartimiento de recursos entre algunos procesadores Evitar congestión en operación del planificador Además de rendimiento puede haber otros parámetros P.ej. minimizar consumo Linux: echo 1 > /sys/devices/system/cpu/sched_mc_power_savings Exposición se centra en planificación de procesos independientes No se trata, por ejemplo, gang scheduling 2 esquemas: Cola única vs. Una cola/procesador 18

Planificación en MP con cola única 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 Prioridad matizada por la afinidad natural Proceso P pasa a listo: 1. UCP afín libre 2. UCP libre 3. UCP con proceso Q tal que prio(p)>prio(q) Prioridad matizada por la afinidad natural Uso de int. SW de planificación + IPI para forzar CCI Además, debe respetar afinidad estricta 19

Sistema multiprocesador jerárquico P. físico P. físico P. físico P. físico Nodo P.lóg P.lóg P.lóg P.lóg P.lóg P.lóg P.lóg P.lóg Multinúcleo Multinúcleo P P P P P P P P P P P P P P P P Caché L1 Caché L1 Caché L1 Caché L1 Caché L1 Caché L1 Caché L1 Caché L1 Caché L2 Caché L2 Caché L2 Caché L2 Memoria del nodo Memoria del nodo Jerarquía genérica SMT (hyperthreading) CMP (multicore) NUMA Red de conexión 20

Planificación en multiprocesador jerárquico Compartimiento de recursos entre algunos procesadores afecta a: Afinidad: Extensión de afinidad a la jerarquía Prestaciones: 2 UCP comparten Potencia total < 2*pot./UCP Jerarquía de afinidades SMT: Afinidad a núcleo Mejor ejecutar en UCP lógica mismo núcleo CMP: Afinidad a multinúcleo Mejor ejecutar en núcleo mismo multinúcleo NUMA: Afinidad a nodo Mejor ejecutar en mismo nodo Reparto teniendo en cuenta grado de independencia Mejor ir ocupando UCPs con mayor grado de independencia Crea proc: UCP lógica libre en núcleo libre de multinúcleo libre 21

Planificación en MP con una cola por UCP Cola única: Accesos a cola requieren cerrojo Limitado aprovechamiento de la afinidad natural Cola por UCP: UCP se planifica de forma independiente No hay congestión por cerrojo y se aprovecha mejor afinidad En qué UCP inicia ejecución nuevo proceso? Procesador menos cargado Aplicando jerarquía: Procesador seleccionado corresponde a Nodo menos cargado (N) Multinúcleo (M) menos cargado de N Procesador físico (F) menos cargado de M Procesador lógico (L) menos cargado de F 22

Planificación con una cola por procesador Procesador 1.... 00000000... P4 P3 P2 Migración P6 Procesador 2 Procesador 3 P5 P7 P1.... 00110010....... P9 P8 00101001... 23

Planificación en Linux 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 Planificador: módulo relativamente cambiante 24

Planificación en Linux: uniprocesador (1/2) Cola multinivel sin realimentación: t. real (no crítico) y normal Clase tiempo real (+ prioritaria): soporte extensiones t. real POSIX Prioridad estática (SCHED_FIFO o SCHED_RR para iguales) Prioridad y rodaja especificada por el proceso Clase normal (SCHED_OTHER): prio dinámica + RR (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) 25

Planificación en Linux: uniprocesador (2/2) 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 26

Planificación en Linux: colas de procesos expirados activos P4 P3 P6 P2 P5 P7 P1 P9 P8.... 00110010....... 00101001... 27

Planificación en sistemas de tiempo real Cada proceso (Pi) se caracteriza por: Periodo de activación: Ti Tiempo de cómputo (máximo)/activación: Ci Plazo límite (deadline): Di Grado de uso de UCP: Ui = Ci / Ti Modelo simplificado: Procesos periódicos e independientes T = D 2 tipos de planificación: Con prioridades estáticas Monótona en frecuencia (RMS: Rate-Monotonic Scheduling) Con prioridades dinámica Por tiempo límite (EDF: Earliest Deadline First) 28

Planificación RMS Asignación estática de prioridades Mayor prioridad menor plazo Soporte directo por SO con esquema de prioridades estáticas Factibilidad de una planificación dada con n procesos: No siempre aunque Ui 1 Garantizada si Ui [n (2 1/n -1)] n = 2 0,828; n = 3 0,780; n = 4 0,757;... n => [n (2 1/n - 1)] ln 2 0,693 Aunque Ui > [n (2 1/n - 1)] no implica infactibilidad Depende de cada caso 29

Planificación EDF Asignación dinámica de prioridades Mayor prioridad más cercano fin de plazo SO debería conocer plazos de procesos Factibilidad de una planificación dada con n procesos: Basta con que Ui 1 30

Ejercicio sobre planificación en tiempo real Aplicar el algoritmo RMS a los 3 siguientes ejemplos: Ejemplo 1: Proceso P: C = 5; T = 10 Proceso Q: C = 4; T = 15 Ejemplo 2: Proceso P: C = 5; T = 10 Proceso Q: C = 7; T = 15 Ejemplo 3: Proceso P: C = 5; T = 10 Proceso Q: C = 5; T = 15 Uso de EDF para ejemplos de RMS no factibles 31

Ejemplos de aplicación de RMS P: C = 5; T = 10; U = 0,5 Q: C = 4; T = 15; U= 0,267 U total = 0,767 < 0,828 T(P) < T(Q) > PRIO(P) > PRIO(Q) FACTIBLE P1 Q1 P1 fin plazo P2 Q1 fin plazo Q2 P2 fin plazo 0 5 10 15 20 25 30 P3 P3 Q2 fin plazo P: C = 5; T = 10; U = 0,5 Q: C = 7; T = 15; U= 0,467 U total = 0,967 > 0,828 T(P) < T(Q) > PRIO(P) > PRIO(Q) NO FACTIBLE P: C = 5; T = 10; U = 0,5 Q: C = 5; T = 15; U= 0,333 U total = 0,833 > 0,828 T(P) < T(Q) > PRIO(P) > PRIO(Q) PERO FACTIBLE P1 Q1 P1 fin plazo P2 Q1 fin plazo Q1 Q2 P2 fin plazo 0 5 10 15 20 25 30 P1 Q1 P1 fin plazo P2 ERROR Q1 fin plazo Q2 P2 fin plazo P3 Q2 P3 Q2 fin plazo 0 5 10 15 20 25 30 P3 P3 Q2 fin plazo 32

Ejemplo de aplicación de EDF P: C = 5; T = 10; U = 0,5 Q: C = 7; T = 15; U= 0,467 U total = 0,967 < 1 FACTIBLE P1 Q1 P1 fin plazo Q1 Q1 fin plazo P2 Q2 P2 fin plazo Q2 0 5 10 15 20 25 30 P3 P3 Q2 fin plazo Cálc PRIO t.fin plazo P = 10 Q = 15 PrP>PrQ Cálc PRIO t.fin plazo P = 10 Q = 5 PrQ>PrP Cálc PRIO t.fin plazo P = 5 Q = 15 PrP>PrQ Cálc PRIO t.fin plazo P = 10 Q = 10 PrP=PrQ 33