Multiusuario DOS es un sistema operativo multiusuario y multitarea en tiempo real para microcomputadoras compatibles con IBM PC .
Una evolución de los antiguos sistemas operativos Concurrent CP/M-86 , Concurrent DOS y Concurrent DOS 386 , fue desarrollado originalmente por Digital Research y adquirido y desarrollado por Novell en 1991. [1] [2] [3] Su ascendencia radica en los anteriores sistemas operativos de 8 bits de Digital Research CP/M y MP/M , y el CP/M-86 de tarea única de 16 bits que evolucionó a partir de CP/M.
Cuando Novell abandonó Multiuser DOS en 1992, a los tres principales revendedores de valor agregado (VAR), DataPac Australasia, Concurrent Controls [4] e Intelligent Micro Software [5] se les permitió hacerse cargo y continuar con el desarrollo independiente de Datapac Multiuser DOS y System Manager. CCI Multiusuario DOS, IMS Multiusuario DOS y REAL/32. [5]
La línea FlexOS , que evolucionó a partir de Concurrent DOS 286 y Concurrent DOS 68K , se vendió a Integrated Systems , Inc. (ISI) en julio de 1994.
La versión inicial de CP/M-86 1.0 (con BDOS 2.x) se adaptó y estuvo disponible para IBM PC en 1982. No tuvo éxito comercial ya que el PC DOS 1.0 de IBM ofrecía prácticamente las mismas funciones por un precio considerablemente menor. . Ni PC DOS ni CP/M-86 pudieron aprovechar plenamente la potencia y las capacidades de la nueva máquina de 16 bits.
Pronto se complementó con una implementación del 'hermano mayor' multitarea de CP/M, MP/M-86 2.0 , desde septiembre de 1981. Esto convirtió una PC en una máquina multiusuario capaz de admitir múltiples usuarios simultáneos utilizando terminales tontos conectados por puertos serie . El entorno presentado a cada usuario hacía parecer como si tuvieran toda la computadora para ellos. Dado que los terminales costaban una fracción del entonces considerable precio de un PC completo, esto ofrecía un considerable ahorro de costes, además de facilitar aplicaciones multiusuario como cuentas o control de existencias en una época en la que las redes de PC eran escasas, muy caras y difíciles de utilizar. implementar.
CP/M-86 1.1 (con BDOS 2.2) y MP/M-86 2.1 se fusionaron para crear Concurrent CP/M-86 3.0 (también conocido como CCP/M-86) con BDOS 3.0 a finales de 1982. [6] Kathryn Strutynski , director de proyecto de CP/M-86, también fue director de proyecto de CP/M-86 concurrente. Uno de sus diseñadores fue Francis "Frank" R. Holsworth. [7] [8] Inicialmente, se trataba de un sistema operativo de usuario único que admitía verdaderas tareas múltiples de hasta cuatro (en su configuración predeterminada) programas compatibles con CP/M-86. Al igual que sus predecesores, podría configurarse para soporte multiprocesador (ver, por ejemplo, Concurrent CP/M-86/80) y también agregar "pantallas virtuales" que permiten al operador alternar entre las interacciones de múltiples programas. [6] Las versiones posteriores admitían terminales tontos y, por lo tanto, podían implementarse como sistemas multiusuario. CP/M-86 3.1 (BDOS 3.1) simultáneo se envió el 21 de febrero de 1984. [9]
En febrero de 1984, Digital Research también ofreció una versión de Concurrent CP/M-86 con capacidades de ventanas denominada Concurrent CP/M con Windows para IBM Personal Computer y Personal Computer XT . [10]
Esta fue una adaptación de Concurrent CP/M-86 para las computadoras LSI-M4, LSI Octopus [11] y CAL PC. Estas máquinas tenían procesadores de 16 y 8 bits, porque en los primeros días de la informática personal de 16 bits, el software de 8 bits estaba más disponible y a menudo se ejecutaba más rápido que el software de 16 bits correspondiente. CP/M-86/80 simultáneo permitió a los usuarios ejecutar aplicaciones CP/M (8 bits) y CP/M-86 (16 bits). Cuando se ingresaba un comando, el sistema operativo ejecutaba la aplicación correspondiente en el procesador de 8 bits o de 16 bits, dependiendo de si el archivo ejecutable tenía una extensión .COM o .CMD . Emulaba un entorno CP/M para programas de 8 bits traduciendo llamadas al sistema CP/M en llamadas al sistema CP/M-86, que luego eran ejecutadas por el procesador de 16 bits. [6]
En agosto de 1983, Bruce Skidmore, Raymond D. Pedrizetti, Dave Brown y Gordon Edmonds se unieron para crear PC-MODE, [12] un módulo opcional para Concurrent CP/M-86 3.1 [13] [14] (con BDOS 3.1) para proporcionar compatibilidad básica con PC DOS 1.1 (y MS-DOS 1.1 ). [14] Esto se mostró públicamente en COMDEX en diciembre de 1983 [12] y se envió en marzo de 1984 como DOS 3.1 concurrente (también conocido como CDOS con BDOS 3.1) a los proveedores de hardware. [15] [16] Se podían ejecutar aplicaciones DOS simples, que no accedían directamente a la pantalla ni a otro hardware. Por ejemplo, aunque un programa de consola como PKZIP funcionaba perfectamente y ofrecía más funciones que el archivador ARC nativo de CP/M , las aplicaciones que realizaban manipulaciones de pantalla, como el procesador de textos WordStar para DOS, no lo hacían, y el CP/M concurrente nativo (o CP/M-86) eran necesarias.
Si bien Concurrent DOS 3.1 hasta 4.1 se desarrolló en los EE. UU., el Grupo de soporte OEM de DR Europe en Newbury , Reino Unido, [17] llevó a cabo adaptaciones y localizaciones OEM desde 1983.
Digital Research posicionó Concurrent DOS 4.1 con GEM como alternativa para IBM TopView en 1985. [ 18]
Concurrent DOS 3.2 (con BDOS 3.2) en 1984 era compatible con aplicaciones para CP/M-86 1.x, Concurrent CP/M-86 3.x y PC DOS 2.0. [17] Estaba disponible para muchas plataformas de hardware diferentes. La versión con BIOS/XIOS compatible con IBM PC se denominó Concurrent PC DOS 3.2. Kathryn Strutynski era la directora de producto de Concurrent PC DOS.
Los esfuerzos que forman parte de una cooperación con Motorola desde 1984 [19] [14] llevaron al desarrollo de Concurrent DOS 68K en Austin , Texas , como sucesor del CP/M-68K escrito en C. Uno de sus principales arquitectos fue Francis "Frank" R. Holsworth (utilizando siglum FRH). [7] [8] DOS 68K 1.0 concurrente estuvo disponible para evaluación OEM a principios de 1985. [20] [ 21] El esfuerzo recibió una financiación considerable por valor de varios millones de dólares de Motorola [20] y fue diseñado para sus procesadores 68000/68010 . Al igual que el sistema GEMDOS anterior para procesadores 68000, inicialmente se ejecutó en el sistema de desarrollo Motorola VME /10. [14] DOS 68K 1.20/1.21 simultáneo estuvo disponible en abril de 1986, [22] [23] [24] se ofreció por aproximadamente200.000 dólares para los OEM. [20] Este sistema evolucionó a FlexOS 68K a finales de 1986.
Las versiones conocidas incluyen:
Paralelamente al esfuerzo de Concurrent DOS 68K, [20] Digital Research también presentó una vista previa de Concurrent DOS 286 [25] en cooperación con Intel en enero de 1985. Este se basó en MP/M-286 y Concurrent CP/M-286, en los que Digital La investigación había funcionado desde 1982. [26] [27]
Concurrent DOS 286 fue una reescritura completa en lenguaje C basada en una nueva arquitectura de sistema con controladores de dispositivos cargables dinámicamente en lugar de un BIOS o XIOS estático. [25] Uno de sus principales arquitectos fue Francis "Frank" R. Holsworth. [7] [8] El sistema operativo funcionaría estrictamente en modo nativo 80286 , permitiendo la operación multiusuario y multitarea en modo protegido mientras se ejecuta la emulación 8086 . [28] [25] Si bien esto funcionó en el paso B-1 de las muestras de chips prototipo, Digital Research, con copias de evaluación de su sistema operativo que ya se enviaron en abril, descubrió problemas con la emulación en el nivel de producción C-1 del paso. procesador en mayo, lo que no permitiría que Concurrent DOS 286 ejecutara el software 8086 en modo protegido. El lanzamiento de Concurrent DOS 286 estaba programado para finales de mayo, pero se retrasó hasta que Intel pudiera desarrollar una nueva versión del chip. [28] En agosto, después de pruebas exhaustivas con muestras del paso E-1 del 80286, Digital Research dijo que Intel había corregido todas las erratas 286 documentadas , pero que todavía había problemas de rendimiento del chip no documentados con la versión preliminar de Concurrent DOS 286 ejecutándose en el E-1 paso. Intel dijo que el enfoque que Digital Research deseaba adoptar para emular el software 8086 en modo protegido difería de las especificaciones originales; sin embargo, incorporaron en el paso E-2 cambios menores en el microcódigo que permitieron a Digital Research ejecutar el modo de emulación mucho más rápido (ver LOADALL ). [29] [23] Estas mismas limitaciones afectaron a FlexOS 286 versión 1.x, una derivación rediseñada de Concurrent DOS 286, [30] [31] que fue desarrollado por la nueva Unidad de Negocios de Automatización Flexible de Digital Research en Monterey, California, desde 1986.
Las versiones posteriores agregaron compatibilidad con PC DOS 2.x y 3.x.
Las versiones conocidas incluyen:
El Grupo de soporte OEM se trasladó al recién creado Centro de Desarrollo Europeo (EDC) de Digital Research en Hungerford , Reino Unido en 1986, que comenzó a hacerse cargo del desarrollo adicional de la familia Concurrent DOS desde Concurrent DOS 4.11, incluidos hermanos como DOS Plus y sucesores.
Desarrolladas en Hungerford, Reino Unido, las versiones 5 y 6 (DOS XM simultáneo, donde XM significa memoria expandida ) podían almacenar hasta 8 MB de EEMS para proporcionar un entorno en modo real para ejecutar múltiples programas CP/M-86 y DOS simultáneamente. y admite hasta tres usuarios (uno local y hasta dos conectados mediante terminales serie).
En 1987, Concurrent DOS 86 fue reescrito para convertirse en Concurrent DOS 386, [33] todavía una continuación de la arquitectura clásica XIOS y BDOS. Esto se ejecutó en máquinas equipadas con procesadores Intel 80386 y posteriores, utilizando las instalaciones de hardware del 386 para virtualizar el hardware, lo que permitió que la mayoría de las aplicaciones de DOS se ejecutaran sin modificaciones en DOS 386 concurrente, incluso en terminales. El sistema operativo admitía el acceso simultáneo a archivos multiusuario, lo que permitía que las aplicaciones multiusuario se ejecutaran como si estuvieran en PC individuales conectadas a un servidor de red . El DOS 386 simultáneo permitió que un solo servidor admitiera varios usuarios en terminales tontos o PC económicas de baja especificación que ejecutaban software de emulación de terminal, sin la necesidad de costosas estaciones de trabajo y tarjetas de red entonces costosas. Era un verdadero sistema multiusuario; varios usuarios podrían utilizar una única base de datos con bloqueo de registros para evitar interferencias mutuas.
Concurrent DOS 6.0 representó también el punto de partida para la familia DR DOS , que surgió de él.
Las versiones conocidas incluyen:
Concurrent PC DOS XM 5.0 emuló IBM PC DOS 2.10, [41] mientras que Concurrent DOS XM 6.0 y Concurrent DOS 386 2.0 eran compatibles con IBM PC DOS 3.30. [42]
Las adaptaciones conocidas de CCI Concurrent DOS de Concurrent Controls, Inc. incluyen:
Otras adaptaciones incluyen:
Las versiones posteriores de Concurrent DOS 386 incorporaron algunas de las funciones mejoradas del posterior clon de DOS para PC monousuario de DR, DR DOS 5.0 , después de lo cual el producto recibió el nombre más explicativo "DOS multiusuario" (también conocido como MDOS), comenzando con la versión 5.0 (con BDOS 6.5) en 1991. [48]
El DOS multiusuario padecía varias limitaciones técnicas que restringían su capacidad para competir con las LAN basadas en PC DOS . Requería sus propios controladores de dispositivos especiales para gran parte del hardware común, ya que los controladores de DOS de PC no eran multiusuario ni multitarea. La instalación del controlador era más compleja que el simple método DOS de PC de copiar los archivos en el disco de arranque y modificar CONFIG.SYS adecuadamente: era necesario volver a vincular el kernel DOS multiusuario (conocido como núcleo ) usando el comando SYSGEN .
El DOS multiusuario tampoco podía utilizar muchas adiciones comunes de DOS de PC, como pilas de red , y tenía una capacidad limitada para admitir desarrollos posteriores en el mundo compatible con PC, como adaptadores gráficos , tarjetas de sonido , unidades de CD-ROM y ratones. Aunque muchos de estos problemas pronto se rectificaron (por ejemplo, se desarrollaron terminales gráficos que permitían a los usuarios utilizar software CGA , EGA y VGA ), era menos flexible en este sentido que una red de PC individuales y, a medida que los precios de estos bajaban, se volvió cada vez menos competitiva, aunque todavía ofrecía beneficios en términos de gestión y un menor coste total de propiedad. Como sistema operativo multiusuario, su precio era más alto que el de un sistema de usuario único, por supuesto, y requería controladores de dispositivo especiales, a diferencia de los complementos de DOS multitarea para un solo usuario, como DESQview de Quarterdeck . A diferencia de MP/M, nunca se hizo popular para un solo usuario sino para uso multitarea.
Cuando Novell adquirió Digital Research en 1991 [1] [2] [3] y abandonó el DOS multiusuario en 1992, a los tres Master VAR DataPac Australasia, Concurrent Controls [4] e Intelligent Micro Software [5] se les permitió licenciar el código fuente de el sistema para hacerse cargo y continuar el desarrollo independiente de sus derivaciones en 1994.
Las versiones conocidas incluyen:
Todas las versiones de Digital Research y Novell DR Multiuser DOS se informaron como "IBM PC DOS" versión 3.31.
Las versiones conocidas de DataPac Australasia Pty Limited incluyen:
En 1997, Citrix Systems, Inc. compró Datapac , [52] [53] [54] y System Manager fue abandonado poco después. En 2002, la unidad con sede en Sydney se escindió en el Grupo de Productos Avanzados de Citrix. [55]
Las versiones conocidas de CCI Multiuser DOS de Concurrent Controls, Inc. (CCI) incluyen:
Todas las versiones de CCI Multiuser DOS se informan como "IBM PC DOS" versión 3.31. [56] Similar a SETVER en DOS , esto se puede cambiar usando la utilidad multiusuario DOSVER xy . [56]
En 1999, CCI cambió su nombre a Applica, Inc. [57] En 2002, Applica Technology se convirtió en Aplycon Technologies, Inc. [58]
Las adaptaciones conocidas de IMS Multiuser DOS incluyen:
Todas las versiones de IMS Multiuser DOS se informan como "IBM PC DOS" versión 3.31.
Intelligent Micro Software Ltd. (IMS) de Thatcham , Reino Unido, adquirió una licencia para seguir desarrollando DOS multiusuario de Novell en 1994 y cambió el nombre de su producto a REAL/32 en 1995. [5]
Al igual que el sistema operativo FlexOS / 4690 anterior, IBM en 1995 obtuvo la licencia de REAL/32 7.50 para incluirlo con sus terminales POS 4695. [5] [ se necesita aclaración ]
Versiones IMS REAL/32:
REAL/32 7.50 a 7.74 se informan como "IBM PC DOS" versión 3.31, mientras que 7.80 y superiores informan una versión de 6.20. El soporte LBA y FAT32 se añadió con REAL/32 7.90 en 1999. [62] El 19 de abril de 2002, Intelligent Micro Software Ltd. se declaró en quiebra y fue absorbida por uno de sus principales clientes, Itera Ltd. de Barry Quittenton. [66] [ 67] [68] Esta sociedad fue disuelta el 28-03-2006. [69] [70] A partir de 2010, REAL / 32 fue suministrado por Integrated Solutions de Thatcham, Reino Unido, pero la empresa, en la misma dirección, posteriormente figuraba como constructora. [65]
REAL/NG fue el intento de IMS de crear la "Próxima Generación" de REAL/32, también denominada "REAL/32 para la era de Internet". REAL/NG prometió "una mayor gama de hardware, desde PC hasta sistemas de servidores multiprocesador x86". [71]
Lista de funciones anunciadas, a partir de 2003: [72]
El 10 de diciembre de 2003, IMS puso a disposición "REALNG V1.60-V1.19-V1.12", [73] que, según Internet Archive , parece ser la última versión.
En 2005, el sitio web realng.com reflejaba el sitio web principal de IMS y no mencionaba REAL/NG, solo REAL/32. [74]
Si bien las distintas versiones de este sistema operativo tenían una capacidad cada vez mayor para ejecutar programas DOS, el software escrito para la plataforma podía aprovechar sus características mediante el uso de llamadas a funciones específicamente adecuadas para operaciones multiusuario. Utilizaba multitarea preventiva , evitando que aplicaciones mal escritas retrasaran otros procesos al retener el control del procesador. Hasta el día de hoy, DOS multiusuario es compatible con bibliotecas SSL/TLS populares como wolfSSL .
La API proporcionó soporte para colas de mensajes bloqueantes y no bloqueantes , colas de exclusión mutua, la capacidad de crear subprocesos que se ejecutaban independientemente del padre y un método para pausar la ejecución que no desperdiciaba ciclos de procesador , a diferencia de los bucles inactivos utilizados. por sistemas operativos de usuario único. Las aplicaciones se iniciaron como "adjuntas" a una consola . Sin embargo, si una aplicación no necesitaba la interacción del usuario, podía "desconectarse" de la consola y ejecutarse como un proceso en segundo plano , para luego volver a conectarse a una consola si fuera necesario.
Otra característica clave fue que la gestión de la memoria admitía un modelo de memoria "compartida" para procesos (además de los modelos habituales disponibles para los programas DOS normales). En el modelo de memoria compartida, las secciones de "código" y "datos" de un programa estaban aisladas entre sí. Debido a que el "código" no contenía datos modificables, las secciones de código en la memoria podían ser compartidas por varios procesos que ejecutaban el mismo programa, reduciendo así los requisitos de memoria.
Los programas escritos o adaptados para cualquier plataforma multitarea deben evitar la técnica utilizada por los sistemas de tarea única de entrar en bucles interminables hasta ser interrumpidos cuando, por ejemplo, se espera que un usuario presione una tecla; esta pérdida de tiempo del procesador que podría ser utilizado por otros procesos. En cambio, Concurrent DOS proporcionó una llamada API a la que un proceso podía llamar para "dormir" durante un período de tiempo. Las versiones posteriores del kernel de DOS concurrente incluían Idle Detección, que monitoreaba las llamadas a la API de DOS para determinar si la aplicación estaba realizando un trabajo útil o, de hecho, estaba inactiva, en cuyo caso el proceso se suspendía permitiendo que se ejecutaran otros procesos. La detección de inactividad fue el catalizador de la función patentada de administración de energía de detección de inactividad dinámica DR-DOS inventada en 1989 por Roger Alan Gross y John P. Constant y comercializada como BatteryMAX . [75]
[…]
Digital Research
está produciendo un sistema operativo para el
286
.
MP/M-286
aprovechará la gestión y protección de la memoria del procesador y el soporte de memoria virtual. Digital Research promete compatibilidad "completa" con su
MP/M-86
y
CP/M-86
para el
procesador
8086 .
Intel
proporciona a Digital Research el hardware para desarrollar y probar el MP/M-286. […]
[…] Paul Bailey de
Digital Research
promueve entusiastamente este enfoque; es su empresa la que suministra
a ICL
y a otros Concurrent Dos-286. Este sistema operativo camaleónico permite a ICL y a otros fabricantes
de 80286
construir máquinas que podrán manejar todo el software existente de IBM-PC y, al mismo tiempo, prometen multitarea, ventanas y verdadera concurrencia, tres características que juntas permiten un solo micro para hacer varias cosas a la vez. […] Aunque no se han hecho anuncios firmes, parece seguro que para finales de año
ACT
ofrecerá una máquina Concurrent CP/M 286 para impulsar su entrada en el mercado corporativo. Pero para entonces tendrá que competir con
el micro de oficina 80286 de
IBM
, el PC/AT. […] IBM también tiene un producto de software a la vista que podría quitarle el terreno a los contendientes de Concurrent. Con un tamaño de unos 180K,
TopView
es un programa para PC y AT de IBM que refuerza el sistema operativo para proporcionar funciones de ventanas para paquetes estándar existentes de "buen comportamiento". […]
[…] Esta es una guía para el funcionamiento del compilador High C implementado para el sistema operativo Concurrent DOS 286 1.2 o posterior (de aquí en adelante abreviado simplemente como "Concurrent" según la costumbre de Digital Research), ejecutándose en el microprocesador Intel 80286 y utilizando Intel Formato objeto-módulo (OMF). El compilador genera código para cualquiera de la familia de microprocesadores Intel 8086/88/186/188/286. […]