Procesos: planificación
Posted by Adrián Manso | Posted in Procesos | Posted on 6:05
0
Planificación de procesos
• Problema: ¿cómo repartir el tiempo de CPU?
• Tipos de procesos
– cálculo: uso intensivo de CPU, pocas operaciones de E/S
– interactivos, E/S: poco uso de CPU, mucha E/S
• interactivos: requieren respuestas rápidas
• E/S: darles prioridad aumenta el aprovechamiento de los recursos
• Objetivos
– realizar la mayor cantidad posible de trabajo por unidad de tiempo
– dar un servicio “razonable” a todos los procesos
• equidad
• respuestas rápidas
• ...
Planificadores
• Planificador a corto plazo
– reparte el tiempo de CPU entre los procesos preparados
– invocado muy frecuentemente (cada 10-100 ms es habitual)
– debe consumir poco tiempo (O(0), a ser posible)
• Planificador a medio plazo
– decide qué procesos pueden competir por la CPU
– mueve procesos de memoria principal a disco: suspensión
– y de disco a memoria principal: activación
• Planificador a largo plazo
– acepta trabajos para su ejecución posterior
– decide en qué orden y cuándo se crean los procesos que ejecutarán los trabajos
– invocación poco frecuente
Diagrama de estados de los procesos

Planificación a corto plazo
• Motivos de invocación
– cuando el proceso en ejecución deja de estar listo
– a intervalos fijos
– cuando hay nuevos procesos listos
• Criterios de evaluación
– porcentaje de utilización de la CPU = 100 · (tútil/ttotal)
– productividad (throughput) = (nº de procesos terminados)/t
– tiempo de retorno; tret = tsal - tlleg
– tiempo ponderado de retorno; w = tret/tejec
– tiempo de espera; tesp = tret – (tcpu + te/s)
– tiempo de respuesta
• Objetivo
– maximizar los dos primeros
– minimizar el resto
Algoritmos de planificación
Atención según el orden de llegada FCFS – First Come-First Served
• Mecanismo
– el procesador lo consigue el proceso más antiguo
– lo mantiene hasta que deja de estar listo (no es expulsivo)
– estructura de datos: lista FIFO de procesos listos

