Clase Práctica - Scheduling

Documentos relacionados
Clase práctica - Scheduling

Sistemas Operativos. Práctica 2: Scheduling

Capítulo 5: Despacho de CPU

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Conceptos de Planificación

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

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

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.

Unidad 2: Gestión 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.

Administración del Procesador

Niveles de Planificación

Sistemas Operativos Scheduling de Procesos

Preguntas de autoevaluación tema 3

Convivencia Gestión de Procesos

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

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

ARQUITECTURA DE COMPUTADORES

Sistemas Operativos (Parte 2)

PLANIFICACION DE LA CPU

Tema 2: Gestión de la CPU

Planificación de Procesos

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

Sistemas Operativos. Trabajo Práctico N ō 3

Sistemas Operativos. Oscar Bedoya

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Sistemas operativos, 2ª edición

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

Sistemas Operativos Primer recuperatorio 5 de diciembre de 2013

Unidad 2: Gestión de Procesos

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

Scheduling. Ricardo Corin

Sistemas informáticos industriales. Sistemas Operativos

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

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

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

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

Sistemas Operativos Preguntas de Revisión

El modelo de Procesos

Scheduling. Ricardo Corin

Planificación de Procesos (Scheduling)

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

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

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

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

Sistemas Operativos. Procesos

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

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

EJERCICIOS TEMAS 1 Y 2 - SO SOLUCIONES

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

SISTEMAS OPERATIVOS PROBLEMAS RESUELTOS. Jorge Walter Orellana Araoz

PLANIFICACIÓN DE PROCESOS

Planificador de Linux (Scheduler)

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

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

Planificación de Monoprocesadores.

Manipulación de procesos

Dr. Hernán Merlino Dr. Pablo Pytel

Mercedes Fernández Redondo

Procesos. Planificación del Procesador.

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

Arquitectura de Computadores (obligatoria)

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

Departamento Ingeniería en Sistemas de Información

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

Examen de Arquitectura de Computadores

Tema 12: El sistema operativo y los procesos

Planificación dinámica de tareas

Pontificia Universidad Católica del Ecuador

Tarea 2. Descripción y Control de Procesos

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

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

PRÁCTICA 2 DE LABORATORIO: GESTIÓN DE RECURSOS DE MEMORIA Y PROCESADOR EN LINUX CENTOS

Planificación en Servidores de Información

Transcripción:

Sistemas Operativos DC - UBA - FCEN 26 de Marzo de 2015

Repaso de Conceptos de la Teórica Proceso: Instancia de un programa en ejecución.

Repaso de Conceptos de la Teórica Proceso: Instancia de un programa en ejecución. Proceso = Programa (código) + memoria (variables) + registros ( PC!).

Repaso de Conceptos de la Teórica Proceso: Instancia de un programa en ejecución. Proceso = Programa (código) + memoria (variables) + registros ( PC!). Sistema operativo multitarea/multiprogramado: Sistema que puede contener muchos procesos compartiendo recursos, donde el más importante suele ser el CPU.

Repaso de Conceptos de la Teórica Proceso: Instancia de un programa en ejecución. Proceso = Programa (código) + memoria (variables) + registros ( PC!). Sistema operativo multitarea/multiprogramado: Sistema que puede contener muchos procesos compartiendo recursos, donde el más importante suele ser el CPU. Scheduler: Módulo del sistema operativo que se encarga de la remoción, selección y reemplazo del proceso en ejecución.

Repaso de Conceptos de la Teórica Proceso: Instancia de un programa en ejecución. Proceso = Programa (código) + memoria (variables) + registros ( PC!). Sistema operativo multitarea/multiprogramado: Sistema que puede contener muchos procesos compartiendo recursos, donde el más importante suele ser el CPU. Scheduler: Módulo del sistema operativo que se encarga de la remoción, selección y reemplazo del proceso en ejecución. Context-switch: Procedimiento mediante el cual el sistema cambia el proceso en ejecución. Involucra guardar el estado del proceso que es desalojado (si no terminó) y cargar el estado del proceso que va a ejecutarse a continuación.

Diagrama de Estados A medida que un proceso se ejecuta va cambiando de estado de acuerdo a su actividad y a las decisiones tomadas por el SO. El diagrama de estados muestra los distintos estados atravesados por los procesos en un sistema y cómo un proceso pasa de un estado a otro.

Diagrama de Estados

Diagrama de Estados Y si permite desalojo?

Diagrama de Estados Y si permite desalojo?

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? FCFS (First Came, First Served) La CPU se asigna a los procesos en el orden en el que la solicitan.

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? FCFS (First Came, First Served) La CPU se asigna a los procesos en el orden en el que la solicitan. Prioridades fijas Cada proceso tiene un valor de prioridad asignado y se ejecutan primero los de mayor prioridad.

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? FCFS (First Came, First Served) La CPU se asigna a los procesos en el orden en el que la solicitan. Prioridades fijas Cada proceso tiene un valor de prioridad asignado y se ejecutan primero los de mayor prioridad. SJF (Shortest Job First) Primero se ejecutan los procesos de menor duración. Para esto debe conocerse la duración de antemano.

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? SRTF (Shortest Remaining Time First) Primero se ejecutan los procesos a los que les resta menos tiempo de CPU. También debe conocerse la duración y llevarla cuenta del tiempo ejecutado.

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? SRTF (Shortest Remaining Time First) Primero se ejecutan los procesos a los que les resta menos tiempo de CPU. También debe conocerse la duración y llevarla cuenta del tiempo ejecutado. Round Robin La idea es darle un quantum a cada proceso, e ir alternando entre ellos.

Poĺıticas de Scheduling Cómo elegimos el siguiente proceso a ejecutar? SRTF (Shortest Remaining Time First) Primero se ejecutan los procesos a los que les resta menos tiempo de CPU. También debe conocerse la duración y llevarla cuenta del tiempo ejecutado. Round Robin La idea es darle un quantum a cada proceso, e ir alternando entre ellos. Múltiples colas Existen varias colas de procesos en estado Ready, con distintas prioridades. Los procesos se asignan a una cola, generalmente en función de alguna propiedad del proceso.

Ejercicio 1 Dados los siguientes procesos, Proceso Tiempo de Tiempo de Tiempo de Prioridad llegada ejecución bloqueo P0 0 6 2-5 3 P1 1 3-2 P2 2 6-1 P3 3 4-4 Costo de cambio de contexto = 1 unidad de tiempo Costo de load de un proceso = 1 unidad de tiempo. Costo de load + costo de carga del primer proceso = 1 unidad de tiempo. Dibujar un diagrama de GANTT para cada una de las siguientes poĺıticas de scheduling y calcular cuál es la mejor: FCFS Prioridades (Sin desalojo) Round Robin con quantum = 2 unidades de tiempo

Diagrama de GANTT Un diagrama de GANTT es una herramienta gráfica cuyo objetivo es mostrar el estado de cada uno de los procesos existentes en un sistema durante un período de tiempo determinado.

Solución Diagramas de Gantt: FCFS:

Solución Diagramas de Gantt: Prioridades:

Solución Diagramas de Gantt: Round Robin:

Rendimiento Cómo evaluamos el rendimiento de los distintos algoritmos de scheduling? Hay distintas métricas (no siempre compatibles entre ellas) Fairness: Justicia en la asignación del CPU.

Rendimiento Cómo evaluamos el rendimiento de los distintos algoritmos de scheduling? Hay distintas métricas (no siempre compatibles entre ellas) Fairness: Justicia en la asignación del CPU. Tiempo de respuesta: Tiempo que el proceso tarda en empezar a ejecutarse.

Rendimiento Cómo evaluamos el rendimiento de los distintos algoritmos de scheduling? Hay distintas métricas (no siempre compatibles entre ellas) Fairness: Justicia en la asignación del CPU. Tiempo de respuesta: Tiempo que el proceso tarda en empezar a ejecutarse. Throughput: Cantidad de procesos que terminan por unidad de tiempo.

Rendimiento Cómo evaluamos el rendimiento de los distintos algoritmos de scheduling? Hay distintas métricas (no siempre compatibles entre ellas) Fairness: Justicia en la asignación del CPU. Tiempo de respuesta: Tiempo que el proceso tarda en empezar a ejecutarse. Throughput: Cantidad de procesos que terminan por unidad de tiempo. Turnaround: Tiempo total que le toma a un proceso ejecutar completamente.

Rendimiento Cómo evaluamos el rendimiento de los distintos algoritmos de scheduling? Hay distintas métricas (no siempre compatibles entre ellas) Fairness: Justicia en la asignación del CPU. Tiempo de respuesta: Tiempo que el proceso tarda en empezar a ejecutarse. Throughput: Cantidad de procesos que terminan por unidad de tiempo. Turnaround: Tiempo total que le toma a un proceso ejecutar completamente. Waiting time: Tiempo que un proceso pasa en estado ready.

Ejercicio 2 Dados los siguientes procesos, Proceso Tiempo de Tiempo de Tiempo de Prioridad llegada ejecución bloqueo P0 0 6 2-5 3 P1 1 3-2 P2 2 6-1 P3 3 4-4 Calcular el waiting time promedio de cada una de las siguientes poĺıtica de scheduling: FCFS Piroridades fijas Round robin

Ejercicio 2 Waiting time promedio con cada algoritmo: FCFS = 8.5 Prioridades = 10 Round Robin = 13 En qué situación elegiría Round-Robin en lugar de alguno de los otros aunque su waiting time promedio sea mayor?

Ejercicio 2 Waiting time promedio con cada algoritmo: FCFS = 8.5 Prioridades = 10 Round Robin = 13 En qué situación elegiría Round-Robin en lugar de alguno de los otros aunque su waiting time promedio sea mayor? Analicemos inanición para las poĺıticas de scheduling anteriores.

Ejercicio 3: Y si tenemos un sistema con 2 núcleos? Dados los siguientes procesos, Proceso Tiempo de Tiempo de Tiempo de Prioridad llegada ejecución bloqueo P0 0 6 2-5 3 P1 1 3-2 P2 2 6-1 P3 3 4-4 context switch = 1 unidad de tiempo load = 1 unidad de tiempo. load del primer proceso = 1 unidad de tiempo. Migración entre núcleos = 2 unidades de tiempo. Dibujar el diagrama de Gantt para la poĺıtica de scheduling: Round Robin con quantum = 2 unidades de tiempo, permitiendo la migración entre núcleos.

Solución Diagrama de Gantt:

Preguntas?