DOS. Su esencia dominó el mundo y las voluntades de millones de usuarios durante años. Logramos cosas extraordinarias con esa familia de sistemas operativos (incluyendo a todos los desarrollos que no salieron de Microsoft), y también nos enseñó una nueva definición de dolor. Sin embargo, todavía quedan detalles que no hemos podido resolver en estas últimas cuatro décadas, y Bryan Lunduke decidió explorar uno de ellos: La falta de multitasking en DOS, ¿es un mito o no? Como podrás imaginar, la respuesta para la Web es un gigantesco «depende»…
«Era el mejor de los tiempos y era el peor de los tiempos; la edad de la sabiduría y también de la locura…»
Dickens dio una verdadera clase con esa introducción, pero lo más llamativo es que se adapta perfectamente a los años del DOS. Los cambios sucedían a una velocidad escalofriante: Todo era nuevo, y en apenas un parpadeo, lo nuevo ya era viejo, reemplazado por algo aún más nuevo que estaba condenado a repetir el ciclo. Aún así, DOS transmitía rigidez. Aprendimos a usar ordenadores, pero fue un proceso doloroso e impiadoso, con archivos de configuración editados manualmente, una documentación interminable, y luchas constantes por recuperar kilobytes de la memoria convencional.
Imaginar al DOS haciendo algo «distinto» no era común, y cualquier idea de multitasking pertenecía a una dimensión paralela… pero la realidad indicó otra cosa. Independientemente de las diferencias técnicas entre el multitasking cooperativo y el multitasking apropiativo o preventivo («preemptive»), lo cierto es que existieron varios desarrollos especiales con la capacidad de reproducir esa funcionalidad multitarea bajo DOS, y el portal de Bryan Lunduke nos enseña algunos de los ejemplos más relevantes.
La búsqueda del multitasking en DOS
La posición de Lunduke queda clara desde el principio: El DOS podía hacer multitasking, de forma nativa en algunos casos, y con la ayuda de herramientas externas en otros. Entre las opciones nativas se destaca el Concurrent DOS, creado por Digital Research y Gary Kildall (DR-DOS y GEM también surgieron de allí), presentado como un «sistema operativo multitarea y multiusuario». Sin embargo, sería un error de nuestra parte no mencionar al «MS-DOS 4.0 Multitasking».
¿Por qué es importante? Muy simple: No todo el mundo sabe que existieron dos versiones de MS-DOS 4. La más común fue aquella desarrollada por IBM, a la que recordamos con su infinita cantidad de bugs y errores de compatibilidad. En cambio, MS-DOS 4.0 Multitasking fue un proyecto breve de Microsoft que en 1986 incluyó (entre otras cosas) multitasking apropiativo real. Lamentablemente, ese sistema no hizo demasiado ruido, pero se transformó en una especie de proto-OS/2. El artículo continúa con referencias a IBM TopView, Quarterdeck DESQview, y un sistema operativo casi olvidado, con el nombre de Wendin-DOS.
En resumen, la familia de sistemas DOS no era ajena al multitasking. Ahora, si podemos llamarlo realmente multitasking o no… esa es una duda que nos arroja en un agujero mucho más negro de lo que pensamos. ¿Puede un ordenador con un procesador, un núcleo y un hilo hacer multitasking? ¿Es válido hablar de multitasking cuando DOS ni siquiera era capaz de procesar el concepto de «tarea»? Los comentarios están abiertos.
Accede al artículo: Haz clic aquí
Yo utilizaba una aplicación reproductora de archivos de audio MOD llamada Visual Player que, aparte de permitirte escuchar música de gran calidad con el primitivo speaker de la computadora, era capaz de volver a MS-DOS con la música sonando de fondo. De alguna manera, aquello era multitasking… La aplicación seguía residente, funcionando, mientras tú podías ejecutar otras aplicaciones.
De que te quedase memoria convencional libre para correr alguna aplicación compleja ya hablamos otro día jaja.
Yo formateaba disquetes en segundo plano mientras seguía usando DOS
Generalmente habían programas residentes en memoria TSR, que reanudaban tras una interrupción hardware como una combinación de teclas, por ejemplo.
También estaban los conmutadores de tareas como el Dos Shell de MSDOS 5.
Como curiosidad, para programar, también estaba el Visual Basic para DOS, con el que fácilmente puedes tener en una aplicación, varias ventanas simultáneas y temporizadores. Y habían también bibliotecas como la TurboVision de Borland.