El sistema operativo multitarea es un sistema operativo que le da la percepción de 2 o más tareas/trabajos/procesos ejecutándose simultáneamente. Lo hace dividiendo los recursos del sistema entre estas tareas/trabajos/procesos y cambiando entre las tareas/trabajos/procesos mientras se ejecutan una y otra vez. Por lo general, la CPU procesa solo una tarea a la vez, pero el cambio es tan rápido que parece que la CPU está ejecutando varios procesos simultáneamente. Pueden admitir la multitarea preventiva , en la que el sistema operativo asigna tiempo a las aplicaciones (prácticamente todos los sistemas operativos modernos) o la multitarea cooperativa , en la que el sistema operativo espera a que el programa le devuelva el control (Windows 3.x, Mac OS 9 y versiones anteriores), lo que lleva se cuelga y se bloquea. También conocido como tiempo compartido, la multitarea es una extensión lógica de la multiprogramación.
Requisito previo: subproceso , diferencia entre multitarea, multiproceso y multiprocesamiento
La programación multitarea es de dos tipos:
- para la multitarea basada en procesos
- Multitarea basada en subprocesos
Multitarea basada en procesos |
Multitarea basada en subprocesos |
---|---|
En la multitarea basada en procesos, se pueden ejecutar dos o más procesos y programas simultáneamente. | En la multitarea basada en subprocesos, se pueden ejecutar dos o más subprocesos al mismo tiempo. |
En la multitarea basada en procesos, un proceso o programa es la unidad más pequeña. | En la multitarea basada en subprocesos, un subproceso es la unidad más pequeña. |
El programa es una unidad más grande. | El hilo es una unidad más pequeña. |
La multitarea basada en procesos requiere más gastos generales. | La multitarea basada en subprocesos requiere menos gastos generales. |
El proceso requiere su propio espacio de direcciones. | Los hilos comparten el mismo espacio de direcciones. |
El proceso para procesar la comunicación es costoso. | La comunicación hilo a hilo no es cara. |
Aquí, no puede obtener acceso durante el tiempo de inactividad de la CPU. | Permite tomar acceso durante el tiempo de inactividad que toma la CPU. |
Es un peso comparativamente pesado. | Es comparativamente ligero. |
Tiene una multitarea de velocidad de datos más rápida porque se pueden ejecutar dos o más procesos/programas simultáneamente. | Tiene una multitarea de velocidad de datos comparativamente más lenta. |
Ejemplo: Podemos escuchar música y navegar por internet al mismo tiempo. Los procesos en este ejemplo son el reproductor de música y el navegador. | Ejemplo: Mediante un navegador podemos navegar por la página web y al mismo tiempo descargar un archivo. En este ejemplo, la navegación es un hilo y la descarga es otro hilo. También en una aplicación de procesamiento de textos como MS Word, podemos escribir texto en un hilo y el corrector ortográfico verifica los errores en otro hilo. |
Publicación traducida automáticamente
Artículo escrito por Anshika Goyal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA