Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Universidad Central de Venezuela
Planificación Semestre II-2010 Universidad Central de Venezuela 6/9/2018
2
Planificación del procesador
Analizaremos la planificación del procesador en dos tipos de contextos: Planificación de monoprocesadores. Planificación de multiprocesadores y multicore. Universidad Central de Venezuela 6/9/2018
3
Planificación de monoprocesadores
Nos concentraremos en el problema de planificar el uso de un sólo procesador entre todos los procesos existentes en el sistema. El objetivo es lograr: Gran utilización del procesador. Elevada productividad. Número de procesos completados por unidad de tiempo. Tiempo de respuesta bajo. Tiempo desde que se emite un requerimiento, hasta que se comienza a recibir la respuesta. Universidad Central de Venezuela 6/9/2018
4
Universidad Central de Venezuela
Planificadores Long-term. Cuál proceso admitir. Medium-term. Cuál proceso intercambiar entre memoria y disco. Short-term. Cuál proceso listo se ejecutará a continuación. Universidad Central de Venezuela 6/9/2018
5
Universidad Central de Venezuela
Planificadores Universidad Central de Venezuela 6/9/2018
6
Universidad Central de Venezuela
Planificadores Universidad Central de Venezuela 6/9/2018
7
Planificador a largo plazo
Determina cuáles programas son admitidos en el sistema. De este modo se controla el grado de multiprogramación. Si más procesos son admitidos: Menor probabilidad de que todos los procesos estén bloqueados. Mejor uso del CPU. Menor es el porcentaje de tiempo en el que cada proceso puede ejecutar. El planificador a largo plazo puede intentar mantener una mezcla de procesos: Acotado por CPU (process-bound). Acotado por E/S (E/S-bound). Universidad Central de Venezuela 6/9/2018
8
Planificador a mediano plazo
Decisiones de intercambio basadas en la necesidad de gestionar multiprogramación. Realizado por el software de gestión de memoria. Se profundizará en este tema luego de ver, en manejo de memoria, los conceptos de asignación del conjunto residente y control de carga. Universidad Central de Venezuela 6/9/2018
9
Planificador a corto plazo
Determina cuál proceso se ejecutará a continuación. Las decisiones de planificación se invocan cuando ocurre un evento que puede conducir a escoger otro proceso para la ejecución: Cuando el proceso pasa de ejecución a espera (bloqueado por E/S o por una llamada al sistema). Cuando el proceso pasa de ejecución a listo (generalmente por una interrupción de reloj). Cuando el proceso pasa de espera a listo (generalmente por una interrupción de E/S o al terminar una llamada al SO). Cuando el proceso Termina. La planificación bajo los eventos 1 y 4 es no apropiativa (nonpreemptive). En todos los otros casos es apropiativa (preemptive). Universidad Central de Venezuela 6/9/2018
10
Planificador a corto plazo
Criterios: Orientados al Usuario. Tiempo de respuesta. Tiempo de retorno (Turnaround time). Orientados al sistema. Utilización del procesador. Justicia (Equidad). Productividad (Throughput). Políticas. Modo de Decisión. No apropiativo (Nonpreemptive). Apropiativo (Preemptive). Universidad Central de Venezuela 6/9/2018
11
Planificador a corto plazo
Políticas: First-Come, First-Served. Shortest-Job-First. Priority Scheduling. Round-Robin. Multilevel Queue. Multilevel Feedback Queue. Universidad Central de Venezuela 6/9/2018
12
Planificador a corto plazo
Orientado al usuario. Tiempo de Respuesta. Para un proceso interactivo, intervalo de tiempo transcurrido desde que se emite una solicitud, hasta que se comienza a recibir la respuesta. Tiempo de Retorno (Turnaround time). Intervalo de tiempo transcurrido entre el lanzamiento de un proceso y su finalización. Es la suma del tiempo de ejecución real y el tiempo consumido en la espera por los recursos (incluido el tiempo de CPU). Medida apropiada para trabajos en batch. Universidad Central de Venezuela 6/9/2018
13
Planificador a corto plazo
Orientado al sistema. Utilización del procesador. Porcentaje de tiempo en el que el procesador está ocupado. Justicia (Equidad). Los procesos deben ser tratados de igual forma y ningún proceso debe sufrir de inanición. Productividad (Throughput). Número de procesos terminados por unidad de tiempo. Universidad Central de Venezuela 6/9/2018
14
Planificador a corto plazo
La función de selección. Determina cuál proceso en la cola de listo, se selecciona para ejecutar a continuación. El modo de decisión. Especifica los instantes de tiempo en que se aplica la función de selección. Universidad Central de Venezuela 6/9/2018
15
Planificador a corto plazo
Modos de decisión: No apropiativo (Nonpreemptive). Una vez que un proceso está en el estado de ejecución, continuará hasta que termine, se bloqueé por una E/S, o al solicitar algún servicio del sistema. Apropiativo (Preemptive): El proceso actualmente en ejecución, puede interrumpirse y ser pasado al estado listo por el SO. Permite mejor servicio puesto que evita que un proceso pueda monopolizar el procesador durante mucho tiempo. Universidad Central de Venezuela 6/9/2018
16
Criterios de planificación - Resumen
Universidad Central de Venezuela 6/9/2018
17
Criterios de planificación - Resumen
Universidad Central de Venezuela 6/9/2018
18
Planificador vs. Despachador
Selecciona cual de todos los procesos cargados en memoria se encuentra listo para ejecutarse, con la intención de asiganrle el procesador. Despachador. Es el módulo encargado de dar el control del CPU al proceso seleccionado por el planificador, lo que involucra: Cambio de contexto. Cambio a modo usuario. Saltar a una punto específico del programa de usuario para continuar con la ejecución. Latencia de despacho. Tiempo invertido por el despachador en detener un proceso y reiniciar otro. Universidad Central de Venezuela 6/9/2018
19
Universidad Central de Venezuela
Ráfagas de ejecución Se observa que los procesos requieren uso alternado de procesador y de E/S, en una forma repetitiva. Cada ciclo consiste en una ráfaga de CPU, seguido por una ráfaga de E/S. Un proceso termina con una ráfaga de CPU. Los procesos limitados por CPU tienen ráfagas de CPU más largas, que los procesos limitados-por-E/S. Universidad Central de Venezuela 6/9/2018
20
First-Come, First-Served (FCFS)
Procces Burst Time P1 24 P2 3 P3 Suponga que los procesos llegan en el orden: P1 , P2 , P3. Universidad Central de Venezuela 6/9/2018
21
First-Come, First-Served (FCFS)
El diagrama de Gantt para la planificación es: P1 P2 P3 24 27 30 Tiempo esperado por P1= 0, P2=24, P3= 27. Tiempo promedio de espera: ( )/3= 17. Universidad Central de Venezuela 6/9/2018
22
First-Come, First-Served (FCFS)
Suponga que los procesos llegan en el orden: P2, P3, P1 El diagrama de Gant para la planificación es: P1 P3 P2 6 3 30 Tiempo esperado para P1= 6, P2= 0, P3= 3. Tiempo medio de espera (6+0+3)/3= 3. Mucho mejor que en el caso anterior. El proceso corto sufre del efecto Caravana (Convoy) detrás del proceso largo. Universidad Central de Venezuela 6/9/2018
23
First-Come, First-Served (FCFS)
Inconvenientes. Un proceso que no realiza ninguna E/S, monopolizará el procesador. Favorece a los procesos acotados por CPU. Los procesos acotados por E/S tienen que esperar hasta el proceso acotado por CPU termine. Ellos pueden tener que incluso esperar cuando sus E/S se completan (pobre utilización del dispositivo). Se podrían mantener los dispositivos de E/S ocupados, dando más prioridad a procesos acotados por E/S. Universidad Central de Venezuela 6/9/2018
24
Shortest-Job-First (SJF)
Se asocia a cada proceso la longitud de su próxima ráfaga de CPU. Usando esta longitud, el planificador determina el shortest time. La dificultad de SJF es el conocer la longitud de la próxima ráfaga de CPU. Universidad Central de Venezuela 6/9/2018
25
Shortest-Job-First (SJF)
Process Burst Time P1 6 P2 8 P3 7 P4 3 El diagrama de Gant para la planificación es: P4 P3 P1 3 16 9 P2 24 El promedio del tiempo de espera ( ) / 4 = 7. Universidad Central de Venezuela 6/9/2018
26
Shortest-Job-First (SJF)
¿Cómo determinar la próxima ráfaga de CPU? Sólo podríamos estimar su longitud. Esta estimación puede realizarse usando las ráfagas de CPU anteriores, para así generar un promedio exponencial. Universidad Central de Venezuela 6/9/2018
27
Shortest-Job-First (SJF) - Apropiativo
SJF puede implementarse de manera no apropiativa o apropiativa. La necesidad de esta elección recae en la posibilidad de que llegue un proceso, con una ráfaga de CPU menor que el proceso que se encuentra en ejecución. SJF apropiativo es en ocasiones llamado: Shortest remaining time first. Universidad Central de Venezuela 6/9/2018
28
Shortest-Job-First (SJF) - Apropiativo
Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 P1 P3 P2 4 2 11 P4 5 7 16 Tiempo promedio de espera= ( )/4= 3 Universidad Central de Venezuela 6/9/2018
29
Universidad Central de Venezuela
Priority Scheduling Un número de prioridad (entero) es asociado con cada proceso. El CPU es asignado al proceso con la prioridad más alta (entero pequeño prioridad alta). Apropiativo. No apropiativo. ¿Cómo será? Problema Inanición. Los procesos de baja prioridad pudieran no ejecutarse nunca. Solución Envejecimiento. A medida que pase el tiempo se aumenta la prioridad del proceso. Universidad Central de Venezuela 6/9/2018
30
Universidad Central de Venezuela
Priority Scheduling Se implementan teniendo múltiples colas de listo para representar cada nivel de prioridad. El planificador siempre escogerá un proceso de prioridad más alta sobre uno de prioridad más baja. Los procesos de prioridad más baja, pueden sufrir inanición. Universidad Central de Venezuela 6/9/2018
31
Universidad Central de Venezuela
Round Robin A cada proceso se le asigna una pequeña porción de tiempo de en el CPU (quantum), el cual es usualmente entre 10 y 100 ms. Una vez que expira dicho tiempo el proceso debe pasar al final de la cola de procesos listo. Universidad Central de Venezuela 6/9/2018
32
Universidad Central de Venezuela
Round Robin Si hay n procesos en la cola de listo y el quantum es q, entonces cada proceso obtiene 1/n del tiempo del procesador por q unidades de tiempo. Esto implica que ningún proceso espera más de (n-1)q unidades de tiempo. Desempeño. q largo FCFS. q pequeño q debe ser más largo que el tiempo requerido por un cambio de contexto, de lo contrario la sobrecarga es muy elevada. Universidad Central de Venezuela 6/9/2018
33
Universidad Central de Venezuela
Round Robin Universidad Central de Venezuela 6/9/2018
34
Universidad Central de Venezuela
Round Robin Process Burst Time P1 24 P2 3 P3 Diagrama de gantt (q= 4) P1 P2 P3 4 7 10 14 18 22 26 30 Universidad Central de Venezuela 6/9/2018
35
Universidad Central de Venezuela
Round Robin Inconvenientes. Todavía favorece a procesos acotados por CPU. Un proceso acotado por E/S usa el CPU durante un tiempo menor del quantum de tiempo y, luego se bloquea esperando por E/S. Un proceso acotado por CPU se ejecuta durante su fracción de tiempo y, se vuelve a poner en la cola listo (poniéndose así delante de los procesos bloqueados). Solución. Ideas. Universidad Central de Venezuela 6/9/2018
36
Universidad Central de Venezuela
Round Robin Virtual Cuando un E/S se ha completado, el proceso bloqueado se mueve a una cola auxiliar la cual obtiene preferencia sobre la cola principal de listos. Un proceso despachado desde la cola auxiliar, no puede ejecutar más que un tiempo igual al quantum básico menos el tiempo total de ejecución consumido, desde que éste fue seleccionado por última vez de la cola de listos. Universidad Central de Venezuela 6/9/2018
37
Universidad Central de Venezuela
Round Robin Virtual Universidad Central de Venezuela 6/9/2018
38
Universidad Central de Venezuela
Multilevel Queue La cola de listos es dividida en varias colas. Primer plano (foreground). Segundo plano (batch). Cada cola tiene su propio algoritmo de planificación. Primer plano (foreground) – RR. Segundo plano (background) – FCFS. Universidad Central de Venezuela 6/9/2018
39
Universidad Central de Venezuela
Multilevel Queue Universidad Central de Venezuela 6/9/2018
40
Universidad Central de Venezuela
Multilevel Queue La planificación debe realizarse entre las colas. Planificación de prioridad fija. Servir primero a todos los de primer plano y luego a los de segundo plano. Posibilidad de Inanición. Fracción de tiempo. Cada cola tiene una cierta cantidad de tiempo del procesador el cuál puede planificar entre sus procesos. 80% para los de primer plano en RR. 20% para los de segundo plano en FCFS . Universidad Central de Venezuela 6/9/2018
41
Multilevel Feedback Queue
Un proceso puede moverse entre varias colas; el envejecimiento puede ser implementado. Las colas de Multinivel retroalimentadas definen la planificación a través de los siguientes parámetros: Número de colas. Algoritmos de planificación para cada cola. Método utilizado para determinar cuándo un proceso pasará a una cola de prioridad más alta. Método utilizado para determinar cuándo un proceso pasará a una cola de prioridad más baja. Métodos para determinar a cuál cola un proceso entrará cuando necesite servicio. Universidad Central de Venezuela 6/9/2018
42
Multilevel Feedback Queue
Universidad Central de Venezuela 6/9/2018
43
Multilevel Feedback Queue
Planificación apropiativa con prioridades dinámicas. Varias colas listas para ejecutar con prioridades decrecientes: P(RQ0)> P(RQ1)>... > P(RQn) Un proceso nuevo se pone en RQ0. Cuando ellos alcanzan el quantum de tiempo, ellos se ponen en RQ1. Si ellos lo alcanzan de nuevo, ellos son puestos en RQ2... hasta que ellos alcancen RQn. Universidad Central de Venezuela 6/9/2018
44
Multilevel Feedback Queue
Los procesos limitados-por-E/S se quedarán en colas de prioridad más altas. Los jobs limitados-por-CPU tenderán hacia abajo. El planificador sólo escoge un proceso para la ejecución en RQi si de RQi-1 a RQ0 están vacíos. Entonces, trabajos largos pueden caer en inanición. Universidad Central de Venezuela 6/9/2018
45
Resumen algoritmos de planificación
Universidad Central de Venezuela 6/9/2018
46
Planificación en multiprocesadores
La planificación del CPU es más compleja cuando múltiples CPUs están disponibles. Procesadores homogéneos dentro de multiprocesadores Metodos de Planificación. Multiprocesamiento Asimétrico. Multiprocesamiento Simétrico. Afinidad al Procesador. Equilibrio de Carga. Migración comandada (push migration). Migración solicitada (pull migration). Multihebra (hyperthreading). Multicore. Universidad Central de Venezuela 6/9/2018
47
Planificación de threads
Planificación Local. Cómo la biblioteca de hilos decidirá cuál de los hilos colocará en un LWP disponible. (PCS – Process Contention Scope). Planificación Global. Cómo el kernel decide cuál hilo de kernel es el siguiente en ejecutar. (SCS – System Contention Scope). Universidad Central de Venezuela 6/9/2018
48
Planificación de threads
Todos los Hilos comparten código y segmento de datos. Opción 1: Ignorar éste hecho. Opción 2: Planificación en pandillas. Ejecutan todos los hilos que pertenecen a un mismo proceso (sólo en multiprocesadores). Si un hilo necesita sincronizarse con otro hilo. El otro estará disponible y activo. Opción 3: Planificación en dos niveles. Planificación de nivel medio. Planificación de procesos, y dentro de cada proceso, planificación de hilos. Reducción de la sobrecarga debido a la conmutación de contexto y mejora la tasa de aciertos de cache. Universidad Central de Venezuela 6/9/2018
49
Planificación de threads
Opción 4: Afinidad basada en espacio: Asignación de hilos a los procesadores (sólo multiprocesadores). Mejora la tasa de aciertos en cache, pero puede estar sujeta a condiciones de baja carga. Universidad Central de Venezuela 6/9/2018
50
Planificación de threads - Ejemplo
#include <pthread.h> #include <stdio.h> #define NUM THREADS 5 int main(int argc, char *argv[]) { int i; pthread t tid[NUM THREADS]; pthread attr t attr; /* get the default attributes */ pthread attr init(&attr); /* set the scheduling algorithm to PROCESS or SYSTEM */ pthread attr setscope(&attr, PTHREAD SCOPE SYSTEM); /* set the scheduling policy - FIFO, RT, or OTHER */ pthread attr setschedpolicy(&attr, SCHED OTHER); /* create the threads */ for (i = 0; i < NUM THREADS; i++) pthread create(&tid[i],&attr,runner,NULL); Universidad Central de Venezuela 6/9/2018
51
Planificación de threads - Ejemplo
/* now join on each thread */ for (i = 0; i < NUM THREADS; i++) pthread join(tid[i], NULL); } /* Each thread will begin control in this function */ void *runner(void *param) { printf("I am a thread\n"); pthread exit(0); Universidad Central de Venezuela 6/9/2018
52
Planificación de threads
Postdata. Los mejores esquemas son adaptativos. Para hacerlo tendríamos absolutamente que hacer la mejor predicción del futuro. ¡Muchos de los algoritmos actuales dan la prioridad más alta a los que la necesiten! La planificación ad hoc (espontanea) ha venido incrementándose con los años. Muchos de los artículos sobre planificación, más relevantes de los años 60´s, ahora se consideran de carácter histórico. Universidad Central de Venezuela 6/9/2018
53
Planificación - Afinidad al procesador
Considere la ejecución de un proceso y la cache del procesador donde se ejecuta. ¿Qué ocurre si el proceso se ejecuta siempre en el mismo procesador? ¿Y si se ejecuta en otro? Afinidad suave. Trato, pero no garantizo. Afinidad fuerte. Se permite especificar que un proceso no migre a otro procesador. Universidad Central de Venezuela 6/9/2018
54
Planificación - Multicore
Multicore complica las consideraciones de planificación. Investigaciones han descubierto que cuando un proceso accede a memoria, este invierte una cantidad significativa de tiempo en espera que los datos se encuentren disponibles. Memory stall. Fallo de cache. Universidad Central de Venezuela 6/9/2018
55
Planificación - Multicore
En el escenario anterior el 50% del tiempo el proceso se encuentra en memory stall. El remedio a esta situación. El hardware se diseña para implementar multithreaded en procesadores multicores. Si un thread esta en memory stall, se intercambia a un segundo thread. Desde la perspectiva del SO, cada thread de hardware aparece como un procesador lógico que esta disponible para un thread de software. Universidad Central de Venezuela 6/9/2018
56
Planificación - Multicore
Universidad Central de Venezuela 6/9/2018
57
Universidad Central de Venezuela
Casos de estudio Planificación en Solaris. Planificación en Windows XP. Planificación en Linux. Universidad Central de Venezuela 6/9/2018
58
Tabla de despacho en Solaris
Universidad Central de Venezuela 6/9/2018
59
Planificación en Solaris
Universidad Central de Venezuela 6/9/2018
60
Planificación en Windows XP
Universidad Central de Venezuela 6/9/2018
61
Planificación en Linux
Universidad Central de Venezuela 6/9/2018
62
Planificación en Linux
Universidad Central de Venezuela 6/9/2018
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.