Multitarea
# Multitarea

La multitarea es la característica de los sistemas operativos modernos que permite que varios procesos o aplicaciones se ejecuten aparentemente al mismo tiempo, compartiendo uno o más procesadores.

Los sistemas operativos multitarea son capaces de dar servicio a más de un proceso a la vez para permitir la ejecución de muchos más programas.

En esta categoría también se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios —llamados sistemas multiusuario— que compartan los mismos recursos. Este tipo de sistemas se emplea especialmente en redes. En resumen, se trata de fraccionamiento del tiempo.

## Tipos de multitarea

### Cooperativa

En la multitarea cooperativa el sistema operativo da el control a un proceso y es este el que cede de nuevo el control cuando decide voluntariamente que no puede seguir su ejecución, pasando a estar en espera. Al depender del propio proceso en ejecución puede ser problemática, puesto que si el proceso de usuario se interrumpe y no cede la CPU al sistema operativo, todo el sistema quedará bloqueado, es decir, sin poder hacer nada. Da lugar también a latencias muy irregulares y la imposibilidad de tener en cuenta este esquema en sistemas operativos de tiempo real. Las versiones de Microsoft Windows desde la 3 hasta el 95 (todas ejecutadas bajo MS.DOS) son un ejemplo de este tipo de Sistema Operativo con multitarea cooperativa. También fue usado por Apple en el Mac OS Classic.

### Apropiativa o preventiva

En la multitarea apropiativa o multitarea preventiva, el sistema operativo es el encargado de administrar el/los procesador(es) repartiendo el tiempo de uso entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante lapsos cortos, pero el resultado final es virtualmente igual a ejecutarse todo al mismo tiempo. Ejemplos de sistemas de este tipo serían Unix y sus derivados (FreeBSD, Linux), VMS y derivados, AmigaOS, Windows NT, el IBM360 o los DEC PDP. El sistema operativo del Sinclair QL usaba este tipo de multitarea.

### Real

Solo se da en sistemas con multiprocesador; varios procesos se ejecutan realmente al mismo tiempo en distintos microprocesadores; suele ser también preferente. Ejemplos de sistemas operativos con esa capacidad: variantes de Unix, Windows NT, Mac OS X.

