15 votos

¿Realmente el sistema operativo Macintosh de 1997 no tenía multitarea?

En una noticia de una revista local de informática de febrero de 1997, anuncian que "BeOS" está a punto de ser lanzado para los Mac (o ya lo ha sido). Se afirma que éste puede "ejecutar varios programas a la vez, la llamada 'multitarea'" y que esto es algo que "Apple nunca ha podido hacer".

¿Es esto realmente cierto? ¿Los Mac de 1997 realmente sólo podían ejecutar un programa a la vez? ¿O se trata de un malentendido? Recuerdo perfectamente haber ejecutado varios programas a la vez en Windows 3.1 en mi IBM PC 486, y sin embargo la "multitarea" era una característica de Windows 95.

29voto

Hay varias formas de implementar la multitarea:

  • cooperativa donde los procesos ceden voluntariamente el control de forma periódica o cuando están inactivos o lógicamente bloqueados. Este tipo de multitarea se llama cooperativa porque todos los programas deben cooperar para que el esquema de programación funcione
  • preventivo donde el sistema operativo (o su componente programador) cambia activamente entre procesos

Las versiones de MacOS anteriores a OSX sólo admitían la multitarea cooperativa. Así que sí, era posible ejecutar varias aplicaciones a la vez, pero tenían que "comportarse" y ceder el control a otras. Además, como Gnasher729 y Mark mencionado en los comentarios, la multitarea cooperativa entre aplicaciones completas era posible con Conmutador y a partir de 1987 con MultiFinder Antes de eso, la multitarea cooperativa se limitaba a los "accesorios de escritorio", un tipo de aplicación ligera que se apoyaba en la aplicación que se estaba ejecutando.

13voto

Phill Puntos 126

¿Los Macs de 1997 realmente sólo podían ejecutar un programa a la vez? Recuerdo perfectamente haber ejecutado varios programas a la vez en Windows 3.1.

Bueno, sí y no.

A verdaderamente ejecutar varios programas a la vez, necesita ejecución paralela que requiere un procesador multinúcleo o más de un procesador. En 1997, los procesadores soportados por Mac OS (y Windows 3.1) eran de un solo núcleo, por lo que efectivamente sólo podían ejecutar un programa a la vez. Así que no.

Pero tanto Mac OS como Windows 3.1 utilizaban un truco llamado multitarea para compartir el tiempo del procesador entre los programas de forma que el usuario tuviera la ilusión de que se ejecutaban simultáneamente. Así que sí.

Desgraciadamente, era un tipo de multitarea primitivo, llamado multitarea cooperativa Los programas que se ejecutaban tenían que esperar a que el programa que se estaba ejecutando liberara voluntariamente su control del procesador, de la misma manera que hay que esperar a que alguien salga de un restaurante lleno para conseguir una mesa.

Además, con la multitarea cooperativa, si el programa que se está ejecutando se bloquea, el sistema operativo normalmente también se bloquea, ya que no tiene ningún medio para recuperar el control del procesador.

BeOS (y Windows 95) cambiaron eso: pasaron a multitarea preventiva en el que el sistema operativo ejecuta un planificador y comparte los recursos del procesador entre los programas, dándoles una determinada cantidad de tiempo de procesador para su ejecución. Cuando el tiempo se agota, otro programa obtiene una porción de tiempo para ejecutarse. Esto es similar a jugar una variante del ajedrez que restringe la cantidad de tiempo por movimiento : sólo tienes ese tiempo para hacer tu jugada.

Todos los sistemas operativos modernos de servidor y de escritorio utilizan la multitarea preventiva. Apple introdujo la multitarea preventiva en 1997/1998 con Rhapsody (el sistema operativo de nueva generación que acabaría convirtiéndose en Mac OS X), y la puso a disposición de su principal base de clientes en 2001 con Mac OS X 10.0 (Cheetah).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X