Significado de Multitarea

¿Qué es multitarea?

Es la tecnología que hace posible que se ejecuten y procesen diversas tareas de manera simultánea, tanto a la vista del usuario como en el background -o fondo de la escena-. Agiliza infinitamente los tiempos de carga, apoyándose tanto nivel del software como del hardware. En el idioma inglés se lo denomina multitask.

¿Cómo se origina y perfecciona esta valiosa concepción?

Las primeras muestras de multitarea fueron, en realidad, una falsa multitarea consistente en cambiar de proceso ejecutándose cada cierto tiempo, de forma que, con la velocidad de proceso de la computadora, pareciera a ojo humano que, en realidad, estaba desempeñando diversas tareas de forma simultánea.

Tras la Segunda Guerra Mundial, cuando empezaron a fabricarse grandes computadoras, el tiempo en el que estas pasaban inactivas se convertía en un despilfarro económico, por lo que estas debían tener tareas constantemente para no estar paradas. Ello llevó a la creación del concepto de compartición de tiempo. Éste consistía en que varios programas se cargaban en memoria ejecutándose alternativamente.

Pero la multitarea no era solo una posibilidad, era más una necesidad: cuando las computadoras se comunicaban con un periférico, dejaban todo lo que estaban haciendo (por ejemplo, para leer una cinta magnética con datos) para dedicar sólo una parte de sus recursos a esta operativa, mientras los demás recursos… estaban sin utilizar.

La antes comentada necesidad de maximizar el tiempo de ejecución, llevó a que se implementara un sistema de multitarea consistente en que cuando un programa accedía a un periférico, este era substituido en memoria principal por otro programa que podía continuar utilizando el procesador mientras el otro proceso seguía con su operación de E/S.

La multitarea recibió un espaldarazo con los microprocesadores multinúcleo y multihilo. Si bien estos existían desde la década de los 60 para las grandes computadoras, el Pentium 4 de 2002 fue el primero en estar disponible para computadoras de sobremesa, aunque los sistemas operativos multitarea ya hacía tiempo que existían, con la limitación explicada antes.

La multitarea no es patrimonio exclusivo de las computadoras; smartphones, set-top boxes e incluso smartwatches u otros wearables, montan microprocesadores y utilizan sistemas operativos que pueden facilitar la multitarea.

Ejemplos en la práctica cotidiana

El ser humano como tal no está preparado para hacer tareas simultáneas, no obstante suele hacerlo porque no tiene alternativa

Cada día, cuando utilizamos una computadora, inadvertidamente utilizamos la multitarea. Por ejemplo, mientras descargamos un fichero desde Internet con el navegador web, a la par que estamos escuchando música, y escribiendo con un procesador de texto, todo ello a la vez y sin que todas estas tareas se molesten entre ellas.

Tipos de sistemas multitarea y compatibilidad

Los programas que sacan el máximo provecho de la multitarea han sido desarrollados utilizando multiprogramación, que divide el programa en procesos que pueden correr en paralelo.

La multitarea puede ser de tipo preemptivo o cooperativo; en el primero, es el sistema operativo el que controla el reparto del recurso de la CPU, mientras que en el tipo cooperativo son las aplicaciones las que deciden, “voluntariamente”, ceder el control para que sea la siguiente aplicación la que utilice los recursos de CPU y memoria RAM.

Mientras que las primeras versiones de sistemas operativos como Windows y Mac OS empleaban multitarea cooperativa, Multics (el predecesor de Unix) fue de los primeros en implementar la multitarea preemptiva, que acabó siendo considerada como más efectiva y, a la postre, por imponerse, siendo la más utilizada a día de hoy (2019).