Академический Документы
Профессиональный Документы
Культура Документы
Inactivo En ejecución
Salvar registros
Dispatcher Interrupción o
Planificacion del Procesador Planificador
llamada al sistema
Restaurar registros Inactivo
En ejecución
Planificador políticas
Dispatcher mecanismos
Objetivos Objetivos
Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y
tiempo de retorno del proceso B tiempo de retorno del proceso C
T. Retorno T. Retorno
T. Espera + T. Espera + + +
T. respuesta T. Respuesta
4 6 5 2 35 2 3 1 7 4 5 2 3 1 7
6 5 2 3
A B C A B C A C A C Tiempo A B C A B C A C A C Tiempo
Proceso B T. respuesta = 4, T Espera = 11, T. Retorno = 20 Proceso C T. respuesta = 10, T Espera = 18, T. Retorno = 38
Prioridades compradas
FCFS o PEPS
– FCFS
Tiempos regreso:
B: 4 mins, C: 8 mins, D: 12 mins, A: 20 mins
Promedio: 11 mins
Carácter aleatorio Diseñado para dar una buena respuesta a los procesos interactivos
Cada proceso posee un “billete” de lotería Algoritmo de dos niveles:
Planificador: escoge billete y selecciona al premiado bajo nivel : elige dentro del conjunto de procesos en memoria y
Procesos “importantes” pueden tener varios billetes listos para ejecutarse
Procesos cooperantes pueden intercambiarse billetes: alto nivel : desplaza los procesos entre la memoria y el disco,
(procesos tiene oportunidad de estar en memoria y ejecutarse).
– Proceso cliente una vez hecha la petición puede
ceder sus billetes al servidor
Bajo nivel utiliza varias colas, cada cola esta asociada a un Admon. busca colas que comienzan en máxima prioridad:
valor de prioridad – - elige primer proceso cola y lo incia
Procesos a ejecutar en modo usuario tienen valores positivos – - permite ejecución durante un quantum, (~
Proceso en modo núcleo tienen valores negativos 100mseg)
Valores negativos tienen máxima prioridad, y positivos Si proceso agota su quantum:
tienen la mínima – se coloca al final de la cola
En las colas se encuentran sólo los procesos que estan en – se ejecuta el algoritmo de planificación de nuevo
memoria listos para su ejecución.
– procesos con igual prioridad comparten CPU con
un algoritmo de round-robin
Cada segundo se vuelven a calcular prioridades procesos: Cuando proceso se bloquea porque espera un resultado de una llamada
de sistema, se le elimina de la cola puesto que no se puede ejecutar:
– se dividen entre 2 los contadores de uso CPU (procesos
no tienen castigo por uso anterior CPU) – - ocurre el evento: se le coloca en una cola con
valor negativo
– se calcula la prioridad de cada proceso:
Nueva prioridad = base + uso CPU – - idea: sacar procesos del núcleo de manera
En general base=0 rápida
– usuario que prefiera un servicio peor que el normal:
asignarle valor positivo mediante llamada nice()
– solo un superusuario puede pedir un servicio mejor
Planificacion de Solaris