Professional Documents
Culture Documents
procesos
Planificación de Procesos
Sistemas batch
Importa maximizar throughput y minimizar turnaround
time
Sistemas interactivos
Importa maximizar throughput y minimizar turnaround
time y response time
De acuerdo a como se comportan procesos o hebras
en un sistema
Procesos batch (CPU-bound)
Procesos interactivos (I/O-bound)
También importante para planificadores
Ventajas
Ningún proceso espera indefinidamente
Desventajas
Tiempo de espera promedio puede ser alto, depende
de:
• tiempo de ejecución de procesos
• orden de llegada
• procesos cortos tienen espera alta si están detrás de los
largos
Puede producir baja utilización de recursos
• cuando procesos esperan podrían ocupar otros recursos
Algoritmo No2 (SJF)
Short-Job-First (SJF)
Asocia cada proceso con el tiempo de ejecución,
tiempo que ocupo CPU la ultima vez antes de
cambiarse a estado de espera
CPU es asignada a proceso con el menor tiempo
de ejecución
Si dos procesos tienen igual tiempo de ejecución
se aplica FCFS
Calcule tiempo de respuesta y espera promedios
usando ejemplo anterior
Puede ser apropiativo y no apropiativo
SJF (cont)
Ventajas
Parece perfecto
Mejor tiempo de espera promedio que FCFS
Desventajas
Espera indefinida?
Como estimar tiempo de procesamiento de
próximo requerimiento de proceso?
Algoritmo No 3: (RR)
Desventajas
Valor del quantum muy importante en rendimiento
de RR
• Problemas si es muy chico?
• Tiempo de overhead por cambio de contexto
• Problemas si es muy grande?
• Se acerca a FCFS
• Recomendación
• 80% de tiempo de ejecución de procesos (cada
requerimiento antes de bloquearse) debería ser mas
cortas que quantum
Algoritmo No 4 : Prioridades
Soporta:
una CPU
SMP (Simultaneous Multi-Processors)
• Multiprocesadores en un chip o no, cada uno con
caches y compartiendo Memoria Principal
SMT (Simultaneous Multi-Threading)
• Procesador con recursos adicionales para soportar
hebras. Sistema con Memoria principal compartida
NUMA (Non- Uniform Memory Access)
• Unico sistema usando mas de un nodo (una
máquina con un procesador o un multiprocesador es
decir con propia CPU o set de CPUs y memorias)
Planificador de CPU en Linux 2.4
2 algoritmos para planificación de procesos
Uno para procesos de tiempo compartido, en donde
CPU se multiplexa en forma justa entre procesos
Una para procesos con requermientos de tiempo real,
donde prioridades absolutas son más importantes que
justicia
Algoritmo para procesos que comparten tiempo
Prioridades y créditos asociadas a proceso
Proceso con más créditos se ejecuta primero
A cada interrupción del timer se decrementan créditos
de proceso en ejecución. Cuando llega a 0 se planifica
el siguiente proceso
Cuando créditos de todos los procesos listos es 0,
créditos se recalculan para todos los procesos
(incluyendo los bloqueados)
• créditos = (créditos/2) + prioridad
Algoritmo Planificador Linux 2.4 vs 2.6