Desarrollador | Productos informáticos de Seattle / Tim Paterson |
---|---|
Escrito en | 8086 lenguaje ensamblador |
Familia OS | DOS |
Estado de trabajo | Histórico, no admitido |
Versión inicial | 1980 |
Último lanzamiento | 86-DOS 1.10 / julio de 1981 |
Objetivo de marketing | Microcomputadoras basadas en S-100 con procesador 8086 |
Disponible en | inglés |
Gerente de empaquetación | N / A |
Plataformas | x86 |
Tipo de grano | Núcleo monolítico |
Influenciado por | CP / M |
Interfaz de usuario predeterminada | Interfaz de línea de comandos ( COMMAND.COM ) |
Licencia | Propiedad |
86-DOS es un sistema operativo descontinuado desarrollado y comercializado por Seattle Computer Products (SCP) para su kit de computadora basado en Intel 8086 . Inicialmente conocido como QDOS ( Sistema operativo rápido y sucio ), el nombre se cambió a 86-DOS una vez que SCP comenzó a otorgar licencias para el sistema operativo en 1980.
86-DOS compartió algunos de sus comandos con otros sistemas operativos como OS / 8 y CP / M , lo que facilitó la migración de programas desde este último. Su interfaz de programación de aplicaciones era muy similar a la de CP / M . El sistema fue licenciado y luego adquirido por Microsoft y desarrollado aún más como MS-DOS y PC DOS . [1]
86-DOS se creó porque las ventas del kit de computadora Seattle Computer Products 8086 , demostrado en junio de 1979 y enviado en noviembre, [2] languidecían debido a la ausencia de un sistema operativo. El único software que SCP podía vender con la placa era el Standalone Disk BASIC-86 de Microsoft, que Microsoft había desarrollado en un prototipo del hardware de SCP. [2] SCP quería ofrecer la versión 8086 de CP / M que Digital Research había anunciado inicialmente para noviembre de 1979, pero se retrasó y su fecha de lanzamiento era incierta. [3] Esta no era la primera vez que Digital Research se quedaba atrás de los desarrollos de hardware; dos años antes había sido lento en adaptarseCP / M para nuevos formatos de disquete y unidades de disco duro . En abril de 1980, SCP asignó a Tim Paterson, de 24 años, para desarrollar un sustituto de CP / M-86 . [2]
Usando un manual CP / M-80 como referencia [4] Paterson modeló 86-DOS a partir de su arquitectura e interfaces, pero adaptado para cumplir con los requisitos del procesador Intel 8086 de 16 bits , para una traducción fácil (y parcialmente automatizada) a nivel de fuente de los numerosos programas CP / M de 8 bits existentes; [3] portarlos a DOS o CP / M-86 fue casi igualmente difícil, [5] y facilitó el hecho de que Intel ya había publicado un método que podría usarse para traducir automáticamente el software del procesador Intel 8080 , para el cual CP / M había sido diseñado para el nuevo conjunto de instrucciones 8086. [3]Al mismo tiempo, realizó una serie de cambios y mejoras para abordar lo que consideraba las deficiencias de CP / M. CP / M almacenó en caché la información del sistema de archivos en la memoria para mejorar la velocidad, pero esto requería que un usuario forzara una actualización en un disco antes de quitarlo; si el usuario se olvida, el disco se daña. Paterson adoptó el enfoque más seguro, pero más lento, de actualizar el disco con cada operación. El comando PIP de CP / M , que copiaba archivos, admitía varios nombres de archivos especiales que se referían a dispositivos de hardware como impresoras y puertos de comunicación . Paterson incorporó estos nombres en el sistema operativo como archivos de dispositivo para que cualquier programa pudiera usarlos. Le dio a su programa de copia el nombre más intuitivoCOPIA . En lugar de implementar el sistema de archivos de CP / M , se basó en el sistema de archivos File Allocation Table (FAT) de Microsoft Standalone Disk BASIC-86 . [1]
A mediados de 1980, SCP anunció el 86-DOS, con un precio de 95 dólares para los propietarios de su placa 8086 de 1.290 dólares y 195 dólares para los demás. Promocionó la capacidad del software para leer el código fuente de Zilog Z80 desde un disco CP / M y traducirlo al código fuente 8086, y prometió que solo se necesitaban "correcciones y optimización menores" para producir 8086 binarios. [6]
En octubre de 1980, IBM estaba desarrollando lo que se convertiría en la Computadora Personal IBM original . CP / M era, con mucho, el sistema operativo más popular en uso en ese momento, e IBM sintió que necesitaba CP / M para competir. Los representantes de IBM visitaron Digital Research y discutieron las licencias con la representante de licencias de Digital Research, Dorothy Kildall (de soltera McEwen), quien dudó en firmar el acuerdo de confidencialidad de IBM . Aunque posteriormente se aceptó la NDA, Digital Research no aceptó la propuesta de IBM de 250.000 dólares estadounidenses a cambio de tantas copias como IBM pudiera vender, insistiendo en el plan habitual basado en regalías . [7] En discusiones posteriores entre IBM yBill Gates , Gates mencionó la existencia de 86-DOS y el representante de IBM, Jack Sams, le dijo que obtuviera una licencia para ello. [ cita requerida ]
Microsoft compró una licencia no exclusiva para 86-DOS de Seattle Computer Products [8] en diciembre de 1980 por US $ 25.000. [ cita requerida ] En mayo de 1981, contrató a Tim Paterson para portar el sistema a la IBM PC, [2] que usaba el procesador Intel 8088 más lento y menos costoso y tenía su propia familia específica de periféricos. IBM observó los desarrollos diariamente, [2] enviando más de 300 solicitudes de cambio antes de aceptar el producto y escribir el manual del usuario.
En julio de 1981, un mes antes del lanzamiento de la PC, Microsoft compró todos los derechos de 86-DOS a SCP por 50.000 dólares. [2] [9] [10] Cumplía con los principales criterios de IBM: se veía como CP / M, [1] y era fácil adaptar los programas CP / M de 8 bits existentes para que se ejecutaran bajo él, en particular gracias al comando TRANS. que traduciría los archivos fuente de 8080 a 8086 instrucciones de máquina. Microsoft concedió la licencia 86-DOS a IBM y se convirtió en PC DOS 1.0. Esta licencia también permitió a Microsoft vender DOS a otras empresas, lo que hizo. El acuerdo fue espectacularmente exitoso y SCP afirmó más tarde ante el tribunal que Microsoft había ocultado su relación con IBM para comprar el sistema operativo a bajo precio. SCP finalmente recibió un pago de liquidación de US $ 1 millón.
Cuando el fundador de Digital Research, Gary Kildall, examinó PC DOS y descubrió que duplicaba la interfaz de programación de CP / M, quiso demandar a IBM, que en ese momento afirmaba que PC DOS era su propio producto. Sin embargo, el abogado de Digital Research no creía que la ley pertinente fuera lo suficientemente clara como para demandar. No obstante, Kildall confrontó a IBM y los convenció de que ofrecieran CP / M-86 con la PC a cambio de una exención de responsabilidad.
La controversia ha seguido rodeando la similitud entre los dos sistemas. Quizás la afirmación más sensacional provino de Jerry Pournelle , quien dijo que Kildall le demostró personalmente que DOS contenía código CP / M ingresando un comando en DOS que mostraba el nombre de Kildall, [11] [nb 1] pero Pournelle nunca reveló el comando y nadie se ha presentado para corroborar su historia. Un libro de 2004 sobre Kildall dice que usó un mensaje encriptado para demostrar que otros fabricantes habían copiado CP / M, pero no dice que encontró el mensaje en DOS; [12]en cambio, las memorias de Kildall (una fuente del libro) apuntaban a la conocida similitud de la interfaz. Paterson insiste en que el software 86-DOS fue su trabajo original y ha negado haber hecho referencia o haber usado código CP / M mientras lo escribía. [13] Después de que apareció el libro de 2004, demandó a los autores y editores por difamación . [14] El tribunal dictaminó en un juicio sumario que no se había producido difamación, ya que las afirmaciones del libro eran opiniones basadas en investigaciones o no eran demostrablemente falsas. [15]
En 2016, Bob Zeidman de Zeidman Consulting, comparó CP / M de Digital Research Inc. y DOS de Tim Paterson (el desarrollador que originalmente fue contratado por Microsoft para escribir DOS) para determinar si el código fuente original de DOS se había copiado de Código fuente de CP / M como se había rumoreado durante muchos años.
Si se comparan los comandos en DOS y CP / M, solo algunos de ellos coinciden parcialmente. De hecho, hay más similitudes entre los comandos DOS y OS / 8 que entre los comandos DOS y CP / M. Esto se debe al hecho de que todos estos comandos consisten en palabras en inglés que describen directamente la acción a realizar.
Sin embargo, después de analizar las llamadas al sistema en ambos sistemas operativos, se hace evidente que las llamadas al sistema DOS definitivamente se copiaron de las llamadas al sistema CP / M. Dada la cantidad de números idénticos que representan funciones idénticas, está claro que Tim Paterson hizo referencia al manual CP / M al escribir DOS.
La conclusión de Zeidman es que DOS no copió ningún código de CP / M. Sin embargo, se copió un número considerable de llamadas al sistema.
Según Zeidman, "la investigación digital podría haber presentado un reclamo legítimo de derechos de autor contra Microsoft por copiar un número sustancial de llamadas al sistema". Si ese hubiera sido el caso, "Microsoft podría haber reclamado una defensa de uso justo porque el hecho de que muchos de los comandos del sistema usaran los mismos números no redujo el mercado de CP / M". [dieciséis]
QDOS 0.10 | 1980-08 | Aproximadamente la mitad de la versión completada del sistema operativo. [2] Implementó la forma original de la derivación de Paterson del sistema de archivos FAT de Microsoft . En contraste con el anterior sistema de archivos FAT de 8 bits que se encuentra en Standalone Disk BASIC-86 , esta variante ya admitía elementos de tabla de 12 bits, [17] redujo el número de FAT de 3 [18] a 2, redefinió la semántica de algunos de los valores de clúster reservados y modificó el diseño del disco, de modo que el directorio raíz ahora se encuentra entre el FAT y el área de datos. Paterson también aumentó el límite de longitud de 9 caracteres anterior a 11 caracteres para admitir nombres de archivo de estilo CP / M 8.3 yBloques de control de archivos . Esta variante, sin embargo, todavía usaba entradas de directorio de 16 bytes y, por lo tanto, no es compatible con lo que se conocería más tarde como FAT12 en MS-DOS / PC DOS. Posiblemente ya haya sido enviado. [19] |
---|---|---|
QDOS 0.11 | 1980-08 | Envío de corrección de errores [2] . [2] |
QDOS / 86-DOS 0.2 | 1980-08 | Añadió EDLIN . Renombrado a 86-DOS en agosto de 1980. [6] |
86-DOS 0.3 | 15 de noviembre de 1980 | Primera versión licenciada por SCP a Microsoft. [8] |
86-DOS 0.33 | 1980-12 | Primera versión distribuida por SCP a OEM y Microsoft como 86-DOS. [2] [8] |
86-DOS 0.34 [20] | 29 de diciembre de 1980 [20] | Versión limpia para fabricantes de equipos originales de SCP, incluido Microsoft. |
86-DOS 0,42 [20] | 25 de febrero de 1981 [20] | A petición indirecta de IBM (a través de Microsoft [9] ), el tamaño de las entradas del directorio cambió de 16 a 32 bytes (similar a MDOS / MIDAS ) para agregar soporte para un sello de fecha de última modificación (2 bytes) y tamaños de archivo teóricos más grande que 16 MB (4 bytes), [21] implementando así la forma más antigua del sistema de archivos FAT de 12 bits lógicamente totalmente compatible con lo que se conoció como FAT12 en MS-DOS / PC DOS más adelante. 86-DOS retuvo la capacidad de leer volúmenes escritos en versiones anteriores de 86-DOS hasta MS-DOS 1.14 como mínimo, mientras que MS-DOS 1.20 / PC DOS 1.1 y versiones posteriores ya no lo admitían. |
86-DOS 0,56 [20] | 23 de marzo de 1981 [20] | Soporte para bloqueo / desbloqueo de disco según lo solicitado desde 1981-01-15. [9] |
86-DOS 0,60 [20] | 27 de marzo de 1981 [20] | El archivo que se DOSIO.ASM encuentra en 86-DOS 1.00 menciona que es el "Sistema de E / S para 86-DOS versión 0.60 y posteriores". [22] |
86-DOS 0,74 [20] | 15 de abril de 1981 [20] | Archivos de dispositivo agregados . |
86-DOS 0,75 [20] | 17 de abril de 1981 [20] | Arreglo del fallo. |
86-DOS 0,76 [20] | 23 de abril de 1981 [20] | Arreglo del fallo. |
86-DOS 0,80 [20] | 27 de abril de 1981 [20] | Llamadas al sistema agregadas. |
86-DOS 1.00 [19] [20] | 28 de abril de 1981 [20] | Llamadas al sistema modificadas. [2] [19] [22] [23] |
86-DOS 1.01 [20] | 12 de mayo de 1981 [20] | Arreglo del fallo. |
86-DOS 1.10 [20] | 21 de julio de 1981 [20] | Comprado por Microsoft y renombrado a MS-DOS el 27 de julio de 1981, [9] [19] por lo tanto, la última versión con números de versión 86-DOS y MS-DOS genuinamente coincidentes. Primera versión conocida por implementar el atributo 'oculto'. |
86-DOS 1.14 [19] | 1981-10 / 11 | Según Tim Paterson, PC DOS 1.0 básicamente refleja 86-DOS 1.14, [19] otras fuentes encuentran más probable una coincidencia de PC DOS 1.0 con MS-DOS / 86-DOS 1.10 a partir del 21-07-1981. |
La siguiente lista de comandos es compatible con 86-DOS. [24]
En 1982, cuando IBM le pidió a Microsoft que lanzara una versión de DOS que fuera compatible con una unidad de disco duro , PC DOS 2.0 era una reescritura casi completa de DOS, por lo que en marzo de 1983 quedaba muy poco de 86-DOS. El elemento más perdurable de 86-DOS fue su editor de línea primitivo, EDLIN , que siguió siendo el único editor suministrado con versiones de Microsoft de DOS hasta el lanzamiento de junio de 1991 de MS-DOS 5.0 , que incluía un editor de interfaz de usuario basado en texto llamado MS- Editor de DOS , basado en QBasic . EDLIN todavía se puede usar en máquinas contemporáneas, ya que existe un entorno DOS emulado hasta Windows 10 (32 bits).
El 86-DOS de Seattle Computer Products admitía el sistema de archivos FAT12 en una gama de unidades de disquete de 8 y 5,25 pulgadas en hardware controlador de disquete S-100 fabricado por Cromemco , Tarbell Electronics y North Star Computers . Las placas Cromemco y Tarbell basadas en Western Digital FD1771 admitían unidades de sector suave de una sola cara y densidad. También se admitió una placa Tarbell de doble densidad que utiliza el FD1791 . Más tarde, SCP ofreció controladores de disquete avanzados, como la serie Disk Master.
86-DOS no aprovechó un byte de ID de FAT [nb 2] o un bloque de parámetros de BIOS (BPB), como lo hacen las versiones posteriores de DOS, para distinguir entre diferentes formatos de medios; en su lugar, se codificaron diferentes letras de unidad en el momento de la compilación para asociarlas con diferentes unidades de disquete físicas, lados y densidades. Eso significaba que, dependiendo de su tipo, un disco tenía que estar direccionado con una determinada letra de unidad para que se reconociera correctamente. Este concepto fue emulado posteriormente con más flexibilidad por DRIVER.SYS en DOS 3.xy versiones posteriores.
Existían dos variantes de formato lógico del formato FAT de 12 bits de 86-DOS: el formato original con entradas de directorio de 16 bytes y el formato posterior (desde 86-DOS 0.42 ) con entradas de directorio de 32 bytes. Solo el segundo es lógicamente compatible con el formato FAT12 conocido desde el lanzamiento de MS-DOS y PC DOS. MS-DOS todavía no puede montar tales volúmenes, ya que en ausencia de un BPB, retrocede para recuperar el ID de FAT en la entrada FAT para que el clúster 0 elija entre los perfiles de geometría de disco codificados. En todos los formatos de un volumen formateado en MS-DOS que, de otro modo, serían compatibles con ambos sistemas y, por lo general, también en todos los demás formatos, este ID se encuentra en el primer byte del sector lógico 1, es decir, el segundo sector del volumen con cilindro físico. -sector de cabeza(CHS) dirección 0/0/2 o dirección de bloque lógico (LBA) dirección 1 - dado que MS-DOS asume un solo sector reservado, el sector de arranque. Bajo 86-DOS, el área de los sectores reservados es significativamente más grande (pistas completas) y, por lo tanto, el ID de FAT prototípico 0xFE
(y 0xFF
) se encuentra en otro lugar del disco, lo que hace imposible que MS-DOS lo recupere, e incluso si lo hiciera, el El perfil de disco codificado asociado con él no tendría en cuenta esta región de sectores reservados más grande bajo 86-DOS. [nb 2]
Los medios de disquete CP / M 2 eran legibles a través de RDCPM .
86-DOS no ofrecía ningún soporte específico para discos fijos , pero las soluciones de terceros en forma de controladores de disco duro y las correspondientes extensiones del sistema de E / S para 86-DOS estaban disponibles de compañías como Tallgrass Technologies , haciendo que los discos duros fueran accesibles de manera similar a las superfloppies. dentro de los límites de tamaño del sistema de archivos FAT12.
Tamaño | 8 pulgadas | 8 pulgadas | 8 pulgadas | 5,25 pulgadas | 5,25 pulgadas |
---|---|---|---|---|---|
Densidad | Dakota del Sur | DD | DD | Dakota del Sur | Dakota del Sur |
Modulación | FM | MFM | MFM | FM | FM |
Capacidad formateada (KB) | 250.25 [22] | 616 [22] | 1232 [22] | 90 [22] | 87,5 [22] |
Cilindros (CHS) | 77 | 77 | 77 | 40 | 35 |
Sectores físicos / pista | 26 | 8 | 8 | 18 | 10 |
Numero de cabezas | 1 | 1 | 2 | 1 | 1 |
Carga útil de bytes / sector físico | 128 | 1024 | 1024 | 128 | 256 |
Bytes / sector lógico | 128 | 1024 | 1024 | 128 | 256 |
Sectores lógicos / clúster | 4 | 1 | 1 | 2 | 1 |
Sectores lógicos reservados | 52 (2 pistas) | 1 | 1 | 54 (3 pistas) | 30 (3 pistas) |
Número de grasas | 2 | 2 | 2 | 2 | 2 |
Entradas del directorio raíz (32 bytes, 86-DOS 0.42 y superior únicamente) | 64 (16 sectores) | 96 (3 sectores) | 128 (4 sectores) | 64 (16 sectores) | 64 (8 sectores) |
Entradas del directorio raíz (á 16 bytes) | 64 | ? | ? | 64 | N / A |
Sectores lógicos totales | 2002 | 616 | 1232 | 720 | 350 |
Sectores lógicos / FAT | 6? | ? | ? | ? | ? |
Sectores ocultos | 0 | 0 | 0 | 0 | 0 |
Orden de sector lógico | ? | ? | ? | ? | ? |
Mapeo del sector | sector + / pista + | sector + / pista + | sector + / cabeza + / pista + | sector + / pista + | sector + / pista + |
Primer sector físico | 1 | 1 | 1 | 1 | 0 |
Índice sectorial | Suave | Suave | Suave | Suave | Difícil (10 + 1) |
Tipo de controlador | Cromemco / Tarbell FD1771 | Tarbell FD1791 | Tarbell FD1791 | Cromemco FD1771 | Estrella del Norte |
FAT ID | No (FEh) [nb 2] | No (FEh) [nb 3] | No (FEh) [nb 3] | No (FEh) [nb 3] | No (FEh) [nb 3] |
Presencia de BPB | No | No | No | No | No |
Varias versiones OEM de MS-DOS 1.2xy 2.x también admitían varios formatos de disquete 8.0 en FAT12 similares, aunque no idénticos a los admitidos por 86-DOS. [nb 2]
Formatos de disco compatibles con una de las últimas versiones desarrolladas por Tim Paterson en Microsoft, MS-DOS 1.25 [20] [25] [26] [27] (marzo de 1982) para la computadora SCP Gazelle con controlador SCP o controlador Cromemco 16FDC (por De forma predeterminada, esta versión solo admitía las variantes compatibles con MS-DOS de la 8.0 en formatos con un solo sector reservado, pero podría construirse para proporcionar dos letras de unidad adicionales para leer y escribir disquetes en el SCP 86-DOS 8.0 anterior en formatos de disco. desde 0.42 también):
Tamaño | 8 pulgadas | 8 pulgadas | 8 pulgadas | 8 pulgadas | 8 pulgadas | 5,25 pulgadas | 5,25 pulgadas | 5,25 pulgadas |
---|---|---|---|---|---|---|---|---|
Densidad | Dakota del Sur | Dakota del Sur | DD | DD | DD | Dakota del Sur | DD | DD |
Modulación | FM | FM | MFM | MFM | MFM | FM | MFM | MFM |
Capacidad formateada (KB) | 250.25 (SCP) | 250,25 (MS) | 616 | 1232 (SCP) | 1232 (MS) | 90 | 160 | 320 |
Cilindros (CHS) | 77 | 77 | 77 | 77 | 77 | 40 | 40 | 40 |
Sectores físicos / pista [nb 4] | 26 | 26 | 8 | 8 | 8 | 18 | 8 | 8 |
Número de cabezas [nb 5] | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 2 |
Carga útil de bytes / sector físico | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Bytes / sector lógico [nb 6] | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Sectores lógicos / clúster [nb 7] | 4 | 4 | 1 | 1 | 1 | 2 | 1 | 2 |
Sectores lógicos reservados [nb 8] | 52 (2 pistas) | 1 | 1 | 1 | 1 | 54 (3 pistas) | 1 | 1 |
Número de grasas [nb 9] | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Entradas del directorio raíz (á 32 bytes) [nb 10] | 64 (16 sectores) | 68 (17 sectores) | 96 (3 sectores) | 128 (4 sectores) | 192 (6 sectores) | 64 (16 sectores) | 64 (4 sectores) | 112 (7 sectores) |
Total de sectores lógicos [nb 11] | 2002 | 2002 | 616 | 1232 | 1232 | 720 | 320 | 640 |
Sectores lógicos / FAT [nb 12] | 6? | 6 | 1 | ? | 2 | 4 | 1 | 1 |
Sectores ocultos [nb 13] | 0 | 0 [nb 14] | 0 | 0 | 0 | 0 | 0 | 0 |
Número total de clústeres | ? | 497 | ? | ? | 1227 | ? | 313 | 315 |
Orden de sector lógico | ? | ? | ? | ? | ? | ? | ? | ? |
Mapeo del sector | sector + / pista + | sector + / pista + | sector + / pista + | sector + / cabeza + / pista + | sector + / cabeza + / pista + | sector + / pista + | sector + / pista + | sector + / cabeza + / pista + |
Primer sector físico | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Índice sectorial | Suave | Suave | Suave | Suave | Suave | Suave | Suave | Suave |
Tipo de controlador | Cromemco / Tarbell FD1771 | Cromemco / Tarbell FD1771 | Tarbell FD1791 / FD1793 | Tarbell FD1791 / FD1793 | Tarbell FD1791 / FD1793 | Cromemco 4FDC FD1771 | SCP / Cromemco 16FDC | SCP / Cromemco 16FDC |
FAT ID [nb 2] [nb 15] | FEh | FEh | FEh | FEh | FEh | FEh | FEh | FFh |
Presencia BPB | No | No | No | No | No | No | No | No |
En 1984, Seattle Computer Products lanzó una versión OEM de MS-DOS 2.0 para la computadora SCP S-100 con el controlador SCP-500 Disk Master Floppy. Agregó soporte para 5.25 en formatos DD / 1S (180 KB) y DD / 2S (360 KB) FAT12 y también admitió los formatos más antiguos, aunque posiblemente con algunos de los parámetros modificados en comparación con MS-DOS 1.25 . [28]