Se llama multitarea al sistema operativo donde varios procesos pueden ser ejecutados al mismo tiempo compartiendo uno o más procesadores. En caso contrario, se habla de un sistema operativo monotarea.
Tipos de multitarea:
- Nula: El sistema operativo es monotarea. El ejemplo típico es MS-DOS. Aún asi puede lograrse a veces algo parecido a una multitarea implementandola en espacio de usuario, o usando trucos como los TSR de MS-DOS.
- Cooperativa: Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Muy problemática, puesto que si el proceso de usuario se cuelga y no cede la CPU al sistema operativo, todo el sistema quedará entonces colgado. Da lugar también a latencias muy irregulares, y la imposibilidad de tener en cuenta este esquema en sistemas operativos de tiempo real. Un ejemplo seria Windows, hasta la version 3.11.
- Preemptiva: El sistema operativo es el encargado de administrar el/los procesador/es, repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante cortos periodos de tiempo, pero el resultado final es prácticamente igual que si estuviesen ejecutandose al mismo tiempo. Ejemplos de sistemas de este tipo serian Unix y clones (FreeBSD, Linux, etc.), VMS y derivados, AmigaOS, etc.
- Real: Solo se da en sistemas multiprocesador. Es aquella en la que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Suele ser también preemptiva. Ejemplos de sistemas operativos con esa capacidad: Linux y OS X.
No hay comentarios:
Publicar un comentario