martes, 24 de septiembre de 2013

Multitarea y Multiproceso

La multitarea puede realizarse de dos maneras diferentes:

  • Cooperativa (cooperative multitasking)
  • Preventiva o preferente (Preemptive multitasking)
En el caso de la multitarea cooperativa, las tareas ceden voluntariamente el control a otras tareas para que estas se puedan ejecutar. Sin embargo, si una tarea se excede en tiempo por algún fallo, el resto de las tareas pueden quedarse sin tiempo de ejecución y provocar una paralización total del sistema que puede llegar incluso a su caída. Ejemplo de sistemas operativos con multitarea cooperativa son el Windows 3.X o el Mac OS versión 8.0.
En la multitarea preventiva, las tareas delegan en el sistema operativo el tiempo de ejecución disponible para cada una de ellas. Así si una tarea se queda bloqueada o se detiene por alguna razón, el sistema operativo le quita el control asignando tiempo de ejecución al resto de las tareas y evitando que el sistema en su conjunto pueda quedarse bloqueado o se caiga fácilmente.
También es necesario distinguir entre multitarea y multiprocesamiento. La multitarea se refiere a la habilidad de ejecutar varias tareas al mismo tiempo. El multiprocesamiento es una capacidad del sistema operativo de utilizar más de un procesador al mismo tiempo, si el hardware lo permite.