La multitarea preventiva ( priority multitasking , inglés preemptive multitasking , literalmente multitarea preventiva ) es un tipo de multitarea en la que el sistema operativo decide cambiar entre tareas después de un cierto tiempo cuántico [1] .
La decisión se toma de acuerdo con las prioridades de las tareas. A diferencia de la multitarea cooperativa , el control se transfiere al sistema operativo independientemente del estado de ejecución de las aplicaciones, por lo que, en particular, las aplicaciones colgadas (por ejemplo, en bucle ), por regla general, no "cuelan" el sistema operativo. El cambio regular de tareas también mejora la capacidad de respuesta del sistema, la eficiencia de liberar recursos del sistema que la tarea ya no utiliza [1] [2] .
En la implementación, la multitarea preventiva difiere de la multitarea cooperativa, en particular, en que requiere procesar una interrupción del sistema desde un temporizador de hardware [3] . Una vez que ha expirado el cuanto de tiempo para el proceso, se produce una interrupción y se invoca el planificador de procesos . La frecuencia con la que se llama al programador es fundamental: llamarlo con demasiada frecuencia desperdiciará tiempo de CPU.
La multitarea preventiva se utiliza en la mayoría de los sistemas operativos modernos de uso general [4] , por ejemplo: Windows 9x y NT [5] , Linux (y otros UNIX ) [6] y OS/2 [7] , [8] Mac OS [9 ] [10] y BeOS [11] , MenuetOS y KolibriOS [12] . Un ejemplo de un sistema multitarea preventivo anterior a UNIX es el VMS [13] . También se utiliza en muchos sistemas operativos integrados en tiempo real , como FreeRTOS [14] .
de los sistemas operativos | Aspectos|||||
---|---|---|---|---|---|
| |||||
Tipos |
| ||||
Núcleo |
| ||||
Gestión de procesos |
| ||||
Gestión y direccionamiento de memoria | |||||
Herramientas de carga e inicialización | |||||
caparazón | |||||
Otro | |||||
Categoría Wikimedia Commons Wikilibros Wikcionario |