La pregunta es ambigua porque hay docenas de algoritmos de despacho de procesos y subprocesos con diversos grados de preferencia. El tipo más común de despacho no preventivo se denomina “segmento de tiempo”. Una unidad recibe el uso de la CPU durante un período de tiempo fijo. Si la unidad espera, el corte puede terminar prematuramente, pero cuando el temporizador de fin de corte se apaga, la unidad deja de funcionar entre dos instrucciones arbitrarias. El pseudo despacho (como sucede cuando simula subprocesos en un sistema que no los admite de forma nativa) puede esperar un rendimiento, pero un sistema operativo real no espera ningún código.
El único uso moderno de la programación no preventiva es cuando necesita dar a un cierto número de usuarios una “parte equitativa” equitativa de los recursos del sistema. A veces, esta es la forma en que se programan las máquinas virtuales, porque es difícil priorizar una unidad de máquina virtual con potencialmente cientos de sus propias unidades de despacho opacas internas con diferentes prioridades internas, por lo que a cada máquina se le asigna un segmento de tiempo igual (o configurado).
Sin embargo, para un mejor rendimiento y cuando todas las unidades despachables son conocidas y pueden clasificarse, cada sistema competente será algo preventivo. En algunos casos, una interrupción se pondrá en cola (por ejemplo, si ocurre mientras el código se está ejecutando en el núcleo) y la prevención se producirá cuando sea conveniente (por ejemplo, cuando el núcleo volvería a un estado de usuario que llama), pero cualquier buen sistema ejecute la unidad más importante tan pronto como sea razonablemente posible.
- ¿Hay algo que pueda destruir rápidamente un disco duro (además de un imán fuerte o romper el disco)?
- ¿Por qué los fabricantes de computadoras no se han cambiado a USB tipo C?
- Cómo arreglar mi posible arranque en bucle o bloqueado Android
- ¿Cuál es la computadora portátil PC que consume menos energía con al menos una pantalla de 12 'y suficiente rendimiento para ejecutar sistemas operativos normales como Windows 8 y Ubuntu?
- ¿Es una Geforce 940M de 4 GB buena para jugar?