Repasamos el esquema general de los estados de un proceso por cada sistema operativo.
La clase de hoy se va a enfocar en cuál es el siguiente proceso “Listo”. En qué orden se van a ir ejecutando los distintos procesos.
El scheduling es una característica central de los sistemas operativos. La política de scheduling que voy a elegir dependen del propósito del sistema que voy a ejecutar. Es muy distinto un servidor de base de datos que una computadora para escribir.
No puedo satisfacer todos estos objetivos: tengo que definir a donde apunto.
Además, en los sistemas multiusuario además pueden tener distintos objetivos por cada usuario según lo que quiere hacer cada usuario.
Cooperativos: proveían una syscall que le decían al sistema operativo para devolver el control. Pueden haber programas que traban todo el sistema.
Con desalojo: se cuelgan de la interrupción del clock (50/60 veces por segundo) y ejecutan un poco de su algoritmo de Scheduling. También se los suele llamar Sistemas Operativos preemptive.
Los cambios de contexto también pueden ocurrir al momento de llamar a una Syscall.
Los procesos entran en una fila y los ejecuto hasta el final. Esto no tiene sentido en un sistema operativo moderno.