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

Documentos relacionados
Facultad de Ingeniería Industrial y de Sistemas v1.1 MA781U CONCEPTOS INICIALES CASOS DE USO

Convivencia Gestión de Procesos

Planificador de Linux (Scheduler)

Conceptos de Planificación

Administración del Procesador

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U GESTION DE MEMORIA

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

Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL

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

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Bloque I: Principios de sistemas operativos

Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro

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

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Tema 12: El sistema operativo y los procesos

Sistemas Operativos. Procesos

Tema 2: Gestión de la CPU

Preguntas de autoevaluación tema 3

Planificación de Monoprocesadores.

ISO Tema 7-B,

El scheduler O(1) de Linux

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

Sistemas Operativos Preguntas de Revisión

Sistemas Operativos Scheduling de Procesos

Tema 4: Gestión de Procesos

Introducción a los Sistemas Operativos

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

FUNDAMENTOS DE LOS SISTEMAS OPERATIVOS

Sistemas operativos, 2ª edición

Hilos Secciones Stallings:

SISTEMAS OPERATIVOS: PROCESOS. Planificación de procesos

Procesos Definición y Estados

Planificación de Procesos

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

Sistemas operativos: una visión aplicada. Capítulo 3 Procesos

Sistemas Operativos Gestión de procesador

Scheduling de procesos en Linux 2.6

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.

Programación Concurrente

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.

Sistemas Operativos - Manejador de procesos - Fundamentos

Administración de procesos

El modelo de Procesos

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

PLANIFICACION DE LA CPU

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

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

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas

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

UNIVERSIDAD DE BELGRANO FAC. ING. Y TECNOLOGIA INFORMATICA SISTEMAS OPERATIVOS UNIDAD 3 PLANIFICACION DE PROCESOS

Sistemas Operativos. Trabajo Práctico N ō 3

Tema II. Descripción y control de procesos. UNED Manuel Fernández Barcell. Blog:

Introducción a los Sistemas Operativos

Planificación y Gestión de procesos

Sistemas Operativos. S.O. Estructura Básica. S.O. Como Administrador de Recursos. Multiprogramación. Multiprogramación y Procesos

Preguntas de autoevaluación tema 1

Sistemas Operativos. Práctica 2: Scheduling

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

Fundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana

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

SISTEMAS OPERATIVOS Manejo de procesos

Linux 101 Gestión de Procesos

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

Fundamentos de Sistemas Operativos

EJERCICIOS TEMAS 1 Y 2 - SO SOLUCIONES

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

Tarea 2. Descripción y Control de Procesos

Niveles de Planificación

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

Sistemas informáticos industriales. Sistemas Operativos

Fundamentos de los Sistemas Operativos

Clase Práctica - Scheduling

Sistemas Operativos II Febrero 2008 Nombre:

Sistemas Operativos I

Sistemas Operativos- Evolución Histórica

Unidad 2: Gestión de Procesos

Sistemas Operativos Procesos Descripción y Control

Mejoras en el planificador de procesos de Linux en la versión 2.6.0

Control y descripción de procesos

Procesos. Procesos. Sistemas Operativos Procesos KMC 2017

Clase práctica - Scheduling

Procesos. Gustavo Romero. 25 de octubre de Arquitectura y Tecnología de Computadores. Definición Control Estado IPC

Análisis Rate Monotonic (RMA)

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

Cuestionario 1-Parte 1

Clases 02 & 03: Revisión de conceptos

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

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

ARQUITECTURA DE COMPUTADORES

Guía práctica de estudio 12: Hilos

Introducción a los Sistemas Operativos S.O.

Manipulación de procesos

MC Hilda Castillo Zacatelco PROCESOS

Ejecución de un solo programa a la vez. Batch: conjunto de programas que se ejecutan en grupo. Multiprogramación: varios programas se ejecutan a la

Software de Tiempo Real. Software de Tiempo Real. Consideraciones generales. Software en Tiempo Real. Conceptos Básicos. Consideraciones generales

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

Proceso AdHoc. Bizagi Suite. Copyright 2014 Bizagi

Transcripción:

PLANIFICACION DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Se denomina planificador a aquella parte del sistema operativo encargada de asignar los recursos del sistema de manera que se consigan unos objetivos de comportamiento especificados. I. COLAS DE PROCESOS El sistema mantiene listas de BCP para cada uno de los estados del sistema:. Una cola para los procesos en estado preparado. Una cola para los procesos en estado bloqueado en cada dispositivo 3. Una cola para los procesos en estado suspendido. 4. Una cola para los procesos en estado activo (ejecución). La lista de procesos activos tendrá tantos elementos como procesadores tenga el sistema. El planificador es el que gestiona el paso de los procesos de una lista a otra, sobre la base de prioridades.. Procesos del kernel.. Procesos interactivos 3. Sub Procesos 4. Procesos E/S. Procesos en Lote ma78.tripod.com de /09/003

II. El reloj en tiempo real (RTR) Se encarga de generar una señal de forma periódica utilizada para producir una interrupción a un intervalo de tiempo fijo. III. TIPOS DE PLANIFICACION Planificación a largo plazo. Se conoce como Scheduler. Determina que programas se admitirán en el sistema 3. Se ejecuta menos frecuentemente. 4. Se invoca ante un proceso batch (crontab, job, at, lotes). Determina el grado de multiprogramación (cuantos procesos se ejecutaran a la vez). 6. Balancea la carga entre procesos intensos en CPU o en E/S. 7. Los procesos interactivos tienen más prioridad que los procesos batch. 8. A más procesos admitidos, mayor tiempo de atención total para los procesos. Planificación a corto plazo. Se conoce como Dispatcher. Determina que proceso será el siguiente en ejecutarse en el CPU. 3. Se ejecuta mas frecuentemente. 4. Se invoca ante: 4.. Una señal del reloj 4.. Una interrupción E/S 4.3. Una llamada al sistema operativo (ejecución de subprocesos) 4.4. Señales que cambien el BCP de un proceso 4.. Finalización de un E/S 4.6. Activación de programas interactivos Planificación a mediano plazo. Se conoce como Swapper. Selecciona procesos para pasarlos a memoria secundaria. 3. Determina el grado de multiprogramación (cuantos procesos se ejecutaran a la vez). 4. Balancea la carga entre procesos intensos en CPU o en E/S. ma78.tripod.com de /09/003

a largo plazo Nuevo a largo plazo Listo y Suspendido a medio plazo Listo a corto plazo Ejecutado Bloqueado y Suspendido a medio plazo Bloqueado Terminado IV. TIPO DE PROCESOS. Procesos en Tiempo Real. Un proceso en tiempo real requiere ser cumplido en el tiempo necesario pedido y el sistema debe hacer todo lo posible para terminarlo en ese tiempo. Procesos Normales. Un proceso normal no tiene tiempo límite para su ejecución. Procesos No Expropiativos. Un proceso al que no se le puede quitar el uso del CPU, una vez que lo tome. Procesos Expropiativos. Un proceso que puede compartir el uso del CPU con otros procesos. V. POLITICAS DE PLANIFICACIÓN EN LINUX Se aplican en el planificador de corto plazo. SCHED_FIFO. Política para procesos en tiempo real no expropiativos. Estos procesos se colocan en la cola de preparados 3. Cuando el actual proceso cesa de ejecutarse, se selecciona el proceso SCHED_FIFO más antiguo de mayor prioridad. 4. Un proceso SCHED_FIFO deja de ejecutarse si: 4.. Otro proceso SCHED_FIFO de más prioridad ha ingresado a la cola de preparados. 4.. El proceso se suspende por que ha empezado una interrupción E/S. 4.3. El proceso cesa voluntariamente su ejecución al indicársele SCHED_YIELD desde el sistema operativo. 0 0 0 3 4 ma78.tripod.com 3 de /09/003

SCHED_RR. Política para procesos en tiempo real expropiativos.. Son expropiados del CPU en base un intervalo del reloj del sistema. 3. Cuando termina el intervalo, el proceso actual se coloca en la cola de preparados. 4. Una vez terminado el intervalo para un proceso SCHED_RR, se selecciona de la cola primero los procesos SCHED_FIFO de mayor prioridad; y a continuación los procesos SCHED_RR en base a la prioridad y antigüedad.. Cuanto más tiempo se encuentre usando el proceso el CPU, su prioridad disminuye. 0 3 4 SCHED_OTHER. Pueden ejecutarse cuando no existe ningún proceso de tiempo real preparado.. El proceso a ejecutar se elige tras examinar las prioridades dinámicas. VI. ALGORITMO DE PLANIFICACION EN LINUX El BCP tiene los siguientes atributos: p->counter (quantum). Número de ticks de reloj que quedan en esta porción de tiempo del planificador.. También llamado prioridad dinámica de un proceso porque puede cambiarse a si mismo. p->priority (quantum base). La prioridad estática del proceso. Se cambia a través del comando setpriority (). p->rt_priority. Prioridad en tiempo real del proceso. p->policy. La política de planificación como SCHED_FIFO, SCHED_RR, SCHED_OTHER.. Siempre se elegirán en ese orden. 3. Se puede cambiar mediante el comando sched_setscheduler () o sched_yield (). Funcionamiento General. Linux divide el tiempo del CPU en épocas. En cada época cada proceso tiene un quantum de tiempo que se le asigna al comenzar la época en p->counter 3. Si es un proceso nuevo se le asigna un tiempo p->counter igual a la p->priority. 4. Cuando un proceso agota su quantum, se le expulsa del CPU y se selecciona otro proceso preparado.. Un proceso puede ser seleccionado múltiples veces mientras no agote su quantum (si ha sido expulsado del CPU por ejemplo por una interrupción E/S) 6. La época termina cuando todos los procesos preparados han usado parte de su quantum. 7. Al terminar la época, se reasignan los quantum para la siguiente época, favoreciendo a los procesos que aun no han agotado su quantum en la época anterior. 8. Todos los procesos inician con un quantum base, si en la época anterior se le agoto su quantum, se le asigna uno por defecto (DEF_PRIORITY=0*HZ/00). ma78.tripod.com 4 de /09/003

9. Si en la época anterior no agoto su quantum, Se le asigna un quantum = quantum de la época anterior *. 0. Cada vez que el reloj realiza un click, se resta al quantum del proceso en ejecución.. Cuando se crea un proceso hijo, el quantum se reparte entre el proceso hijo y el proceso padre.. Para seleccionar un proceso en una época se realiza en base a una función como la siguiente; eligiendo el proceso con mayor valor. Si (p->policy!= SCHED_OTHER) Retornar 000 + p->rt_priority; Si (p->counter == 0) Retornar 0; Si (p->mm == prev->mm) /* Procesos padre e hijo comparten la misma memoria */ Retornar p->counter + p->priority + ; Retornar p->counter + p->priority; Bibliografía http://atc.aut.uah.es/~assooit/downloads.html Tema 6: Planificación y Gestión de Procesos. ma78.tripod.com de /09/003