Conceptos de Planificación

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

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 de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Sistemas Operativos. Oscar Bedoya

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

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

El modelo de Procesos

Unidad 2: Gestión de Procesos

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

Procesos. Planificación del Procesador.

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

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

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

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

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

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

Scheduling. Ricardo Corin

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

Planificador de Linux (Scheduler)

Introducción a los Sistemas Operativos

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

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

PLANIFICACIÓN DE PROCESOS

CÓMO TRABAJA TU SISTEMA OPERATIVO?

1.- INTRODUCCIÓN TEORIA DE COLAS

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

Pontificia Universidad Católica del Ecuador

Tema 19 Gestión de procesos

Algoritmos de planificación:

Tema 2. Procesos. 1. Concepto de proceso

La calendarización y administración de procesos

Manipulación de procesos

Sistemas Operativos. Sistemas Informáticos I.E.S. Virgen de la Paloma

Sistemas Operativos. Clase 2: Administración de procesos.

ESTRUCTURAS BÁSICAS DE UN S.O.

3 Planificación de procesos y procesadores

TEMA 7. GESTIÓN DE PROCESOS

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

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

TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO

Sistemas Operativos I

UNIDAD 2: SISTEMAS OPERATIVOS. ELEMENTOS, ESTRUCTURA Y FUNCIONES GENERALES. Sistemas Operativos Monopuesto Curso 2012/2013

Métodos de Asignación

Taller de sistemas operativos PLANIFICADOR

Fundamentos básicos de los Sistemas Operativos

Componentes y Funciones. Tipos de Software

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Sistemas Operativos. (Procesos)

Apartado TGR Puntuación. No Presentado. EXAMEN DE SISTEMAS OPERATIVOS (Grado en Ing. Informática) 17/1/2013.

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

Procesadores superescalares. Introducción

Tema 20 Gestión de memoria

Planificación de procesos: Algoritmos de planificación

Herramientas Informáticas I Software: Sistemas Operativos

Memoria. Organización de memorias estáticas.

Técnicas de modelado. Problemas adicionales

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

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

Sistemas operativos. Tema 9: Gestión n de E/S

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas:


HP - UX. Qué es HP UX?

UNIVERSIDAD SIMON BOLIVAR LINEAS DE ESPERA USB PS4161 GESTION DE LA PRODUCCION I LINEAS DE ESPERA

Funcionamiento de la computadora

Estructura de los dispositivos de E/S.

Sistemas Operativos I Última modificación 2008/06

Planificaci on de Procesos Sistemas Operativos Planificaci on a Largo y Mediano Plazo New Long-term Long-term scheduling scheduling

Introducción a los Sistemas Operativos

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

Sistema de proceso por lotes: esquema operativo

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

aspectos fundamentales

RELOJES DE TIEMPO REAL ÍNDICE

IBM Power BI para bienes de consumidor y el sector minorista en Microsoft Surface TM. Preparado por Práctica de solucione de IBM y Microsoft: Canadá

Definición de Sistema Operativo

ESTRUCTURA DE LINEAS DE ESPERA

Modelos, Simulación, y Optimización

Introducción a la arquitectura de computadores

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

Tema 6. Administración de memoria

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:

Teoría de líneas de espera

Diagramas De Casos De Uso

1. Sistema Operativo Unix

Procesos e Hilos en C

UNIDAD 9. DATOS COMPLEJOS PILAS

Introducción a la Operación de Computadoras Personales

RESPUESTAS A LAS CUESTIONES DE REPASO DEL FINAL DE CADA CAPITULO DEL LIBRO SISTEMAS OPERATIVOS DE STALLINGS (4 ED)

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

El PERT: un método eficaz para la planificación de actividades

Introducción a los Sistemas Operativos

Sistemas Operativos Tema 3 Procesos

Transcripción:

Conceptos de Planificación Conceptos de Planificación Planificación Planificación de Procesos de Procesos Algoritmos Algoritmos Estructura Estructura Propiedades Propiedades Tipos Tipos Evaluación Evaluación Colas de Colas de Planificación Planificación Utilización Utilización FCFS FCFS Análisis Análisis Despachador Despachador Productividad Productividad SJF SJF Simulación Simulación Estados Estados Tiempo de Tiempo de Respuesta Respuesta SRTF SRTF Tiempo de Tiempo de Prioridades Prioridades Tiempo de Tiempo de Retorno Retorno RR RR Clases de Clases de Prioridades Prioridades Múltiples colas Múltiples colas realimentadas realimentadas 1 Conceptos de Planificación El objetivo de la multiprogramación es que en todo momento haya un proceso en ejecución (maximiza la utilización) Planificación: forma o criterio que se sigue a la hora de decidir que proceso debe entrar en ejecución. La tarea de planificación es la más crítica de un SOTR. Ventajas de la multiprogramación: Aumento de utilización de CPU (% de actividad de la CPU) Mayor productividad (cantidad de trabajo por u.t.) La ejecución de un proceso consiste en una alternancia entre ráfagas de CPU y ráfagas de E/S 2 1

Multiprogramación: Ejemplo Un sistema con dos procesos P1 y P2. Cada proceso se ejecuta durante 1 seg. y espera otro seg. Este esquema se repite 60 veces. Proceso P 1 Inicio Fin Utilización: 50% Proceso P 2 En espera Inicio Fin Ejecución de procesos sin multiprogramación Proceso P 1 Fin Inicio Utilización: 100% Proceso P 2 Inicio Fin Ejecución de procesos con multiprogramación 3 Estados de un Proceso Proceso Terminado por otro proceso NUEVO Admitido ACTIVO TERMINADO Elegido Planificador Terminación PREPARADO EN EJECUCION Fin de E/S o llegada de Evento Expulsión r E/S o evento SUSPENDIDO 4 2

Colas de Planificación (I) Un proceso tendrá más o menos posibilidad de entrar en ejecución dependiendo del estado en que se encuentre. Es necesario mantener una relación de los procesos que se encuentran en cada estado Colas de planificación Cuando un programa desea entrar en el sistema se coloca en una cola de trabajos a esperar que se le asigne memoria. Cuando a un trabajo se le asigna memoria entra en la cola de procesos preparados Cuando un proceso realiza una operación de E/S pasa a una cola de dispositivo asociada al dispositivo en el que realiza la operación de E/S 5 Colas de Planificación (II) Una representación común para analizar la planificación de procesos en el diagrama de colas Cola de procesos preparados CPU E/S Cola de E/S Solicitud de E/S Fin de la porción de tiempo (quantum) Termina el hijo Se ejecuta el hijo Se crea un hijo Ocurre una interrupción En espera de una interrupción 6 3

El planificador (I) Planificador: parte del SO que se encarga de tomar la decisión de qué proceso entra en ejecución Algoritmo de planificación: criterio que utiliza el planificador para designar el proceso que entra en ejecución Objetivos de un buen planificador: Equidad Eficiencia (100% utilización) Minimizar el tiempo de espera Aumentar el rendimiento (máximo número de trabajos por u.t.) 7 El Planificador (II) Problemas de un planificador: Alcanzar todos los objetivos provoca contradicciones El comportamiento de los procesos es único e impredecible El SO debe evitar que un proceso monopolice el uso del procesador El SO debe ejecutar cada cierto tiempo el planificador. Si el planificador es capaz de quitar a un proceso el procesador, la planificación denomina expulsiva (preemptive) Si cuando un proceso consigue el procesador ya no lo cede hasta que termina, se dice que la planificación es no expulsiva 8 4

Estructura de la Planificación Las decisiones de la planificación se pueden efectuar en una de las cuatro circunstancias siguientes: (1). Un proceso pasa de estado de ejecución a estado suspendido (en espera) (2). Un proceso pasa de estado de ejecución a estado preparado (listo) (3). Un proceso pasa de estado suspendido (en espera) a estado preparado (listo) (4). Cuando termina un proceso En el primer y último caso no hay opción en términos de planificación (no expulsivo) En el resto de casos (2,3) es el planificador quien retira el uso de la CPU al proceso mediante una política expulsiva 9 El despachador (Dispatcher) El planificador simplemente DECIDE que proceso sale o entra al procesador El despachador se encarga de entregar o quitar el control de la CPU a un determinado proceso Tareas del despachador Cambiar de contexto Cambiar a modo usuario Saltar a la posición adecuada del programa de usuario para reiniciar la ejecución. Características del despachador: Ser lo más rápido posible 10 5

Algoritmos de Planificación (I) Los distintos algoritmos de planificación tienen propiedades diferentes y pueden favorecer o perjudicar a un tipo u otro de procesos. Para comparar los algoritmos de planificación se han propuesto varios criterios: Utilización de la CPU: mantener la CPU tan ocupada como sea posible (maximizar) Rendimiento (Productividad): número de procesos que se completan por unidad de tiempo (maximizar) Tiempo de retorno: tiempo transcurrido desde que se presenta el proceso hasta que se completa (minimizar) Tiempo de espera: tiempo que un proceso pasa en la cola de procesos listos esperando la CPU (minimizar) Tiempo de respuesta: tiempo que tarda un proceso desde que se le presenta una solicitud hasta que produce la primera respuesta (minimizar) 11 Algoritmos de Planificación (II) Es deseable maximizar la utilización de CPU y la productividad, y minimizar los tiempos de retorno, de espera y de respuesta Puesto que conseguir todo lo anterior es imposible (contradictorio) lo que se desea es llegar a un compromiso entre todos los criterios de forma que se optimice el promedio. Algoritmos: Por orden de llegada (FCFS) ( First Come First Served ) Prioridad al trabajo más breve (SJF) ( Shortest Job First ) Prioridad al que resta menos tiempo (SRTF) ( Shortest Remaining Time First ) Planificación por prioridades (estáticas o dinámicas) Planificación circular o Round Robin (RR) Planificación con clases de prioridades Planificación con múltiples colas realimentadas 12 6

Algoritmo FCFS ( First Come First Served ) La CPU se asigna a todos los procesos en el mismo orden en que lo solicitan Propiedades No optimiza: el tiempo de espera, retorno, rendimiento. Muy variables en función del orden de llegada y de la duración de intervalos de CPU Optimiza: utilización Efecto convoy: los trabajos largos retrasan a los cortos No adecuado para sistemas interactivos Muy fácil de implementar (cola FIFO) No expulsivo 13 Algoritmo FCFS: Ejemplo Proceso Instante de llegada Tiempo de CPU P1 0 24 P2 0 3 P3 0 3 Consideremos los procesos P1, P2 y P3 cuyo comportamiento se muestra en la tabla adjunta Caso 1: orden de llegada P1, P2, P3. Tiempo medio de espera (0 + 24 + 27)/3 = 17 Caso 2: orden de llegada P2, P3, P1. Tiempo medio de espera (6 + 0 + 3)/3 = 3 Caso 1: Orden de llegada P1, P2, P3 P1 P2 P3 0 24 27 Caso 2: Orden de llegada P2, P3, P1 30 P2 P3 P1 0 3 6 30 14 7

Algoritmo SJF ( Shortest Job First ) Este algoritmo da prioridad al proceso que va a necesitar menos tiempo de CPU (mejora el tiempo medio de espera) Funcionamiento: Asocia a cada proceso un tiempo aproximado de utilización de CPU Asigna la CPU al proceso con menor tiempo asociado Cuando un proceso consigue la CPU la conserva hasta que decide liberarla (no existe expulsión) Inconvenientes Estimación del tiempo de utilización de CPU por parte de un proceso (a veces se modela con técnicas estadísticas) 15 Algoritmo SJF ( Shortest Job First ) Ejemplo Procesos Llegada Tiempo CPU (ms) P 1 0 7 P 2 2 4 P 3 4 1 P 4 5 4 SJF (no expulsivo) P 1 P 3 P 2 P 4 0 3 7 8 12 16 Tiempo de espera medio = (0 + 6 + 3 + 7)/4 = 4 16 8

Algoritmo SRTF ( Shortest Remaining Time First ) Da prioridad al proceso que le resta menos tiempo de CPU para terminar (variante del SJF con expulsión) Optimiza la media del tiempo de espera y rendimiento Funcionamiento: Los procesos llegan a la cola y solicitan un intervalo de CPU Si dicho intervalo es inferior al que le falta al proceso en ejecución para abandonar la CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de preparados. Inconvenientes: El intervalo de CPU es difícil de predecir Posibilidad de inanición: los trabajos largos no se ejecutarán mientras hayan trabajos cortos 17 Algoritmo SRTF ( Shortest Remaining Time First ) Ejemplo Procesos Llegada Tiempo CPU (ms) P 1 0 7 P 2 2 4 P 3 4 1 P 4 5 4 SRTF (expulsivo) P 1 P 2 P 3 P 2 P 4 P 1 0 2 4 5 7 11 16 Tiempo de espera medio = (9 + 1 + 0 +2)/4 = 3 18 9

Planificación por prioridades Se asocia a cada proceso un número entero llamado prioridad de acuerdo con algún criterio. Se asigna la CPU al proceso con mayor prioridad Variantes: Algoritmos con expulsión o sin expulsión Prioridades estáticas o dinámicas Estáticas: se asigna antes de la ejecución y no cambia Dinámicas: cambia con el tiempo Propiedades: Con prioridades estáticas aparece el problema de inanición: los procesos con baja prioridad no se ejecutan nunca (poco equitativo) El problema anterior se soluciona con la actualización de prioridades (dinámicas): la prioridad de un proceso aumenta con el tiempo de espera 19 Planificación por prioridades Ejemplo Procesos Tiempo CPU Prioridad P 1 10 3 P 2 1 1 P 3 2 3 P 4 1 4 P 5 5 2 (Inversa) 20 10

Turno Rotatorio o Round Robin (RR) (I) Es de los más utilizados, sencillos y equitativos. A cada proceso se le asigna un intervalo de tiempo llamado cuanto o quantum.(de 10 a 100ms) Un proceso se ejecuta durante ese cuanto de tiempo. Si cuando acaba el cuanto no ha terminado su ejecución, se le expulsa de la CPU dando paso a otro proceso. Si un proceso termina antes del cuanto, se planifica un nuevo proceso CPU B C F A H D CPU a) C F A H D B b) 21 Turno Rotatorio o Round Robin (II) Quantum q=4 Diagrama de Gantt Procesos T. Llegada Duración P1 0 16 P2 0 3 P3 0 11 P1 P2 P3 P1 P3 P1 P3 P1 0 4 7 11 15 19 23 26 30 Cronograma por procesos Tiempo medio =(14+4+15)/3=11 P1 P2 P3 22 11

Turno Rotatorio o Round Robin (III) Valor del quantum de tiempo Para q grandes: el algoritmo degenera en un algoritmo FCFS. Para q pequeños: q ha de ser grande respecto al tiempo necesario para el cambio de contexto, sino la sobrecarga introducida es muy alta. Regla práctica: El 80% de los intervalos de CPU han de ser inferiores al quantum de tiempo. Si hay n procesos en la cola de listos y el quantum es q, cada proceso recibe 1/n del tiempo de CPU. Ningún proceso espera más de (n-1)q unidades de tiempo. Propiedades Equitativo Fácil de implementar Normalmente el tiempo de retorno medio es mayor que en SJF, pero el tiempo de respuesta es mejor 23 Planificación con Clases de Prioridades Los procesos se clasifican en distintos grupos: sistema, interactivos, tiempo real,... La cola de procesos preparados consiste en varias colas donde cada cola tiene su propio algoritmo y además, existe un algoritmo entre colas (p.e. RR con q elevado) Procesos Sistema Usuarios Privilegiados Procesos Interactivos Procesos por lotes FCFS (prio 10) PRIO (prio 8) RR (prio 6) SJF (prio 4) Cola de procesos preparados 24 12

Múltiples Colas Realimentadas Existen diferentes colas de procesos preparados. Cada cola posee una política de planificación y una prioridad asignada Un proceso puede cambiar de cola de acuerdo a un esquema de actualización de prioridades Los procesos con tiempo de espera acumulado elevado pasan a una cola de nivel superior Los procesos con tiempo de utilización de CPU elevados son degradados a una cola inferior 25 Múltiples Colas Realimentadas Ejemplo Tenemos tres colas: Q 0 RR con quantum 8 ms Q 1 RR con quantum 16 ms Q 2 FCFS Planificación Un proceso que entra en la cola de procesos listos ingresa en la cola Q 0. Cuando obtiene la CPU se le asignan 8 ms. Si no termina su ráfaga de CPU en ese tiempo se pasa a Q 1. En Q 1 se asignan 16 ms de CPU al proceso. Si no termina en ese tiempo es expulsado y colocado en la cola Q 2. 26 13

Planificador Windows XP Clases de Prioridad (procesos) Modificadores (hilos) El algoritmo es de Colas Multinivel con Realimentación. Cada prioridad tiene asociada una cola con planificación RR. Prioridades 0-15 variables, 16-31 fijas (tiempo real). A los hilos que agotan su quantum se les reduce la prioridad. Cuando un hilo pasa de suspendido a listo se aumenta su prioridad. 27 Planificador Linux Se usan dos algoritmos: tiempo compartido y tiempo real Tiempo compartido Prioridad basada en créditos el proceso con más créditos es el siguiente en tomar la CPU Los créditos se reducen cuando ocurre una interrupción de reloj Cuando el crédito es 0, se escoge otro proceso Cuando todos los procesos tienen crédito 0 se asigna de nuevo crédito para todos los procesos Basado en factores como prioridad e historia Tiempo real Tiempo real blando Cumple el estándar Posix.1b dos clases FCFS y RR El proceso de mayor prioridad siempre se ejecuta primero 28 14

Evaluación de Algoritmos Para seleccionar un algoritmo Seleccionar un criterio (utilización, t. de respuesta, t. espera, t. retorno,...) Estudiar la adaptación del algoritmo a esos criterios. Métodos de evaluación de algoritmos Evaluación analítica Mediante modelo determinista Mediante modelos de colas Simulación 29 15