Capítulo 5: Despacho de CPU

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

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. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

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

Sistemas Operativos. Oscar Bedoya

PLANIFICACIÓN DE PROCESOS

Scheduling. Ricardo Corin

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

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

Unidad 2: Gestión de Procesos

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

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

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

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

Procesos. Planificación del Procesador.

1.- INTRODUCCIÓN TEORIA DE COLAS

Fundamentos de Sistemas Operativos

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

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

SISTEMAS OPERATIVOS GUIA DE EJERCICIOS Resueltos

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

Capítulo 3: Procesos. n Concepto de Proceso. n Despacho (calendarización) de Procesos. n Operaciones en Procesos. n Procesos en cooperación

El modelo de Procesos

Planificación de procesos: Algoritmos de planificación

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

3 Planificación de procesos y procesadores

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

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

ESTRUCTURAS BÁSICAS DE UN S.O.

Sistemas Operativos I

Universidad Politécnica de Madrid Escuela Universitaria de Informática Departamento de Informática Aplicada

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

TEMA 3: EL NÚCLEO DE UN SISTEMA OPERATIVO

Planificador de Linux (Scheduler)

Pontificia Universidad Católica del Ecuador

Taller de sistemas operativos PLANIFICADOR

Threads, SMP y Microkernels. Proceso

Introducción a los Sistemas Operativos

Pide una cotización a nuestros correos. Maestros Online. Servicio de asesorías y solución de ejercicios. Ciencias_help@hotmail.com

El Planificador de Procesos a través de un Simulador

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

Sistemas Distribuidos. Soporte de Sistemas Operativos

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

Tema 2. Procesos. 1. Concepto de proceso

Procesos y Threads en Windows (Xp y Server 2003)

Métodos de Asignación

Fundamentos básicos de los Sistemas Operativos

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

Jorge Eduardo Ortiz Triviño

Departamento de Computación. Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires. Sistemas Operativos. Autor: Leopoldo Taravilse

Teoría de colas. Las colas (líneas de espera) son parte de la vida diaria

Componentes y Funciones. Tipos de Software

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

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

3.- Procesos. Concepto de Proceso. Despacho (calendarización) de Procesos. Operaciones en Procesos. Procesos en cooperación

La calendarización y administración de procesos

TEMA 7. GESTIÓN DE PROCESOS

Scheduling de Procesos. Estados de un proceso

Administración de la memoria

Carrera: IFC Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Sistemas Operativos [Administración de la memoria]

Manipulación de procesos

Introduccion. TEMA 6: MODELOS DE FILAS DE ESPERA (Waiting Line Models) (Capítulo 12 del libro) Modelos de Decisiones

Planicación de procesos

Modelos de Inventarios

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

IN4703 Gestión de Operaciones. Programación de Operaciones (Operations Scheduling)

Sistemas Operativos I Última modificación 2008/06

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.

aspectos fundamentales

Teoría de líneas de espera

CÓMO TRABAJA TU SISTEMA OPERATIVO?

Planificación de procesos: Temas relacionados

13.Teoría de colas y fenómenos de espera

Concurrencia y paralelismo

Sistemas de Tiempo Real

Procesos Concep Conce to de Proceso Multitarea Información del proceso (BCP) Creación de procesos T rminación de procesos

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

Sistemas Operativos. Curso 2016 Procesos

INVESTIGACIÓN DE OPERACIONES II. JULIO CÉSAR LONDOÑO ORTEGA

Planificación, Sincronización y comunicación de Procesos. Universidad Tecnológica Nacional

Asignación de cargas de trabajo mediante gantt:

Modelos de cola.

Evolución de los Sistemas Operativos

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

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

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

IN34A - Optimización

Transcripción:

5.- Despacho de CPU

Capítulo 5: Despacho de CPU Conceptos Básicos Criterio de Asignación Algoritmos de Asignación Despacho de Threads Ejemplos de SOs Despacho de Threads de Java Evaluación de Algoritmos

Conceptos Básicos 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 Distribución de periodos CPU (bursts)

Secuencia CPU - I/O

Histograma de Tiempos de CPU

Despachador de CPU Selecciona un proceso (ready) en memoria y le asigna el CPU Decisiones de asignación de CPU se requieren cuando un proceso: 1. Cambia de estado running a waiting 2. Cambia de running a ready 3. Cambia de waiting a ready 4. Termina Asignación en 1 y 4 es sin desalojo (nonpreemptive) Las otas son con desalojo (preemptive)

Despachador de CPU El Despachador le pasa el control del CPU a los procesos seleccionados por el despachador de corto plazo; ésto involucra: Context switching Cambio a user mode Salto a la localidad adecuada en el programa para resumir ejecución Latencia de Despacho tiempo que le lleva al despachador en deterner un proceso y resumir el otro

Criterio de Despacho Utilización de CPU mantener el CPU ocupado Throughput # de procesos que completan ejecución por unidad de tiempo Tiempo Turnaround time para ejecutar un proceso en particular Tiempo de Espera (Waiting time) time que un proceso ha estado esperando en la cola ready Tiempo de Respuesta Tiempo entre el punto en que el proceso fue lanzado hasta que se produce la primer respuesta, no output (para ambientes time-sharing)

Criterio de Optimización Max utilización de CPU Max throughput Min turnaround time Min waiting time Min response time

Despacho First-Come, First-Served (FCFS) Suponga que los procesos llegan en orden: P 1, P 2, P 3 La gráfica de Gantt del despacho es: Process Burst Time P 1 24 P 2 3 P 3 3 P 1 " P 2 " P 3 " 0" Waiting time para P 1 = 0; P 2 = 24; P 3 = 27 24" 27" 30" Waiting time promedio: (0 + 24 + 27)/3 = 17

FCFS Scheduling (Cont.) Suponga que los procesos llegan en el orden P 2, P 3, P 1 La gráfica de Gantt del despacho es: P 2 " P 3 " P 1 " 0" 3" 6" 30" Waiting time para P 1 = 6; P 2 = 0 ; P 3 = 3 Waiting time promedio: (6 + 0 + 3)/3 = 3 Mucho mejor que el anterior Efecto Convoy: procesos cortos antes que los largos

Despacho Shortest-Job-First (SJF) Asociate con cada proceso la longitud de su próximo espacio de CPU (burst). Usar esas longitudes para asignar el procesador al proceso con el menor tiempo Dos esquemas : nonpreemptive una vez que se asigna el CPU a un proceso, no puede ser desalojado, hasta que termina su CPU burst preemptive si llega un proceso nuevo, con un CPU burst menor que el tiempo restante del proceso actual, desalojar. Este esquema se denomina Shortest-Remaining-Time-First (SRTF) SJF es óptimo produce el mínimo promedio waiting time para un conjunto de procesos

Ejemplo de un SJF sin Desalojo Proceso Tiempo de Llegada Burst Time P 1 0.0 7 P 2 2.0 4 P 3 4.0 1 P 4 5.0 4 SJF (non-preemptive) P 1 " P 3 " P 2 " P 4 " 0" 3" 7" 8" 12" 16" Waiting time promedio = (0 + 6 + 3 + 7)/4 = 4

Ejemplo de SJF con Desalojo Proceso Tiempo de llegada Burst Time P 1 0.0 7 P 2 2.0 4 P 3 4.0 1 P 4 5.0 4 SJF (preemptive) P 1 " P 2 " P 3 " P 2 " P 4 " P 1 " 0" 2" 4" 5" 7" 11" 16" Tiempo de espera (Waiting time) promedio = (9 + 1 + 0 +2)/4 = 3

Longitud del Siguiente CPU Burst Estimación de la longitud t n = longitud del n ésimo CPU burst Promedio exponencial de las longitudes de los CPU bursts previos τ n +1 = predicción del siguiente CPU burst Para 0 α 1 definir: ( 1 α). τ = α t + τ n= 1 n n

Predicción de la Longitud del Siguiente CPU Burst

Ejemplos de Promediado Exponencial α =0 τ n+1 = τ n La historia reciente no cuenta α =1 τ n+1 = α t n Solo el último CPU burst cuenta Como α y (1 - α) son menores o iguales a 1, cada término sucesivo tiene menos peso que su predecesor Expandiendo la fórmula: τ n+1 = α t n +(1 - α)α t n -1 + +(1 - α ) j α t n -j + +(1 - α ) n +1 τ 0

Despacho por Prioridad Se asocia un número (entero) de prioridad con cada proceso El CPU se asigna al proceso con la prioridad más alta (número más pequeño prioridad más alta) Preemptive nonpreemptive SJF es un caso de despacho por prioridad, donde la prioridad es el tiempo predicho del siguiente CPU burst Problema Inanición (Starvation) procesos de baja prioridad pueden quedarse en la cola para siempre Solución Envejecimiento (Aging) Incrementar la prioridad conforme avanza el tiempo

Round Robin (RR) Se asigna a cada proceso una unidad de tiempo de CPU (time quantum), típicamente 10-100 milisegundos. Cuando se le termina el tiempo, el CPU se le retira y el proceso se envía al final de la cola ready queue. Si hay n procesos en la cola y el time quantum es q, cada proceso obtiene 1/n del tiempo de CPU en periodos de a lo más q unidades de tiempo consecutivas. Ningún proceso espera más de (n-1) q unidades de tiempo. Desempeño (Performance) q grande FIFO q pequeño q debe ser grande con respecto al tiempo para hacer context switch, si no, el costo (overhead) es demasiado

Gráfica de Gantt: Ejemplo de RR con Time Quantum = 20 Proceso CPU Burst P 1 53 P 2 17 P 3 68 P 4 24 P 1 " P 2" P 3" P 4" P 1" P 3" P 4" P 1" P 3" P 3" 0" 20" 37" 57" 77" 97" 117" 121" 134" 154" 162" Típicamente, el tiempo turnaround es mayor que en SJF, pero se tiene mejor respuesta

Time Quantum y el Tiempo de Context Switch

Tiempo Turnaround y el Time Quantum

Colas Multinivel La cola Ready queue se particiona en colas independientes: foreground (interactivos) background (batch) Cada cola tiene su propio algoritmo de despacho foreground RR background FCFS Se debe hacer despacho entre colas Despacho de prioridad fija (i.e., servir a todos los del foreround y después a los del background). Posibilidad de inanición (starvation). Rebanada de tiempo (Time slice) cada cola obtiene una cantidad de tiempo de CPU, el cual puede despachar entre sus procesos; i.e., 80% al foreground en RR, 20% al background en FCFS

Despacho en Colas Multinivel

Colas Multinivel con Retroalimentacón Un proceso puede migrar entre varias colas (i.e. aging) Un despachador multinivel con retroalimentación se define por los siguientes parámetros: Número de colas Algoritmos de despacho para cada cola Método para determinar cuando promover un proceso Método para determinar cuando demover a un proceso Método para determinar a que cola se asigna un proceso cuando necesita servicio

Ejemplo de Colas Multinivel con Retroalimentacón Tres colas: Q 0 RR con time quantum de 8 milisegundos Q 1 RR con time quantum de 16 milisegundos Q 2 FCFS Despacho (Scheduling) Un proceso nuevo entra a Q 0 la cual opera en FCFS. Cuando le toca, recibe el CPU por 8 milisegundos. Si no termina en 8 milisegundos, migra a Q 1. En Q 1 el proceso vuelve a ser servido mediante FCFS y recibe 16 milisegundos adicionales. Si aún no termina, se desaloja (preemption) y migra a Q 2.

Colas Multinivel con Retroalimentacón

Despacho de Threads Despacho local Cómo decide la biblioteca de threads qué thread poner en un LWP disponible? Despacho global Cómo decide el kernel que thread ejecutar?

Ejemplos Solaris scheduling Windows XP scheduling Linux scheduling

Despacho en Solaris 2

Tabla de Despacho en Solaris

Prioridades en Windows XP

Despacho en Linux Dos algoritmos: time-sharing y real-time Time-sharing Priorides basadas en créditos el proceso con más créditos es despachado Restar crédito cuando el timer interrumpe Cuando crédito = 0, se despacha otro proceso Cuando todos los procesos tienen crédito = 0, restablecer créditos Basado en prioridad, historia y otros factores Real-time Soft real-time Cumple con Posix.1b dos clases FCFS y RR Procesos con alta prioridad son ejecutados primero

Prioridades y el tamaño del Time-slice

Listas de Tareas Indexadas por Prioridades

Evaluación de Algoritmos Modelado determinista toma una carga particular predetermnada y define el desempeño de cada algoritmo para esa carga Modelos de Colas (Queueing models) Implementación

Modelado Determinista FCFS Proceso CPU Burst P 1 10 P 2 29 P 3 3 P 4 7 P 5 12

Modelado Determinista SJF Sin Desalojo Proceso CPU Burst P 1 10 P 2 29 P 3 3 P 4 7 P 5 12

Modelado Determinista Round Robin Proceso CPU Burst P 1 10 P 2 29 P 3 3 P 4 7 P 5 12

Evaluación de Algoritmos