86-DOS
86-DOS (conocido internamente como QDOS, Quick and Dirty Operating System) es un sistema operativo descontinuado desarrollado y comercializado por Seattle Computer Products (SCP) para su kit de computadora basado en Intel 8086.
86-DOS compartió algunos de sus comandos con otros sistemas operativos como OS/8 y CP/M, lo que facilitó la transferencia 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 comprado por Microsoft y desarrollado aún más como MS-DOS y PC DOS.
Historia
Orígenes
86-DOS se creó porque las ventas del kit de computadora Seattle Computer Products 8086, demostrado en junio de 1979 y enviado en noviembre, 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. 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. Esta no era la primera vez que Digital Research se rezagaba con respecto a los desarrollos de hardware; dos años antes, la adaptación de CP/M a los nuevos formatos de disquete y unidades de disco duro había sido lenta. En abril de 1980, SCP asignó a Tim Paterson, de 24 años, para desarrollar un sustituto del CP/M-86.
Usando un manual de CP/M-80 como referencia, Paterson modeló 86-DOS según su arquitectura e interfaces, pero lo adaptó para cumplir con los requisitos del procesador Intel 8086 de 16 bits, para una fuente fácil (y parcialmente automatizada) -traducibilidad de nivel de los muchos programas CP/M de 8 bits existentes; migrarlos a DOS o CP/M-86 fue igualmente difícil, y se facilitó por el hecho de que Intel ya había publicado un método que podía usarse para traducir automáticamente el software del procesador Intel 8080, para el cual se había diseñado CP/M., al nuevo conjunto de instrucciones 8086. 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 aumentar la velocidad, pero esto requería que el usuario forzara una actualización en un disco antes de eliminarlo; si el usuario lo olvidaba, el disco se corrompería. Paterson tomó 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 archivo 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 intuitivo COPY. En lugar de implementar el sistema de archivos de CP/M, se basó en el sistema de archivos de tabla de asignación de archivos (FAT) de Microsoft Standalone Disk BASIC-86.
A mediados de 1980, SCP anunció el 86-DOS, con un precio de 95 USD para los propietarios de su placa 8086 de 1290 USD y 195 USD 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 realizarían "optimizaciones y correcciones manuales menores" se necesitaba para producir 8086 binarios.
Interés de IBM
En octubre de 1980, IBM estaba desarrollando lo que se convertiría en el IBM Personal Computer 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 poder 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 el NDA fue aceptado más tarde, Digital Research no aceptó la propuesta de IBM de 250.000 dólares estadounidenses a cambio de tantas copias como pudiera vender IBM, insistiendo en el plan habitual basado en regalías. En discusiones posteriores entre IBM y Bill Gates, Gates mencionó la existencia de 86-DOS y el representante de IBM, Jack Sams, le dijo que obtuviera una licencia.
Creación de PC DOS
Microsoft compró una licencia no exclusiva para 86-DOS de Seattle Computer Products en diciembre de 1980 por 25 000 dólares estadounidenses. En mayo de 1981, contrató a Tim Paterson para migrar el sistema a la PC de IBM, 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 a diario y envió 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 de SCP por 50 000 dólares estadounidenses. Cumplía con los criterios principales de IBM: se parecía a CP/M, y era fácil adaptar los programas CP/M de 8 bits existentes para que se ejecutaran bajo él, especialmente gracias al comando TRANS que traducía los archivos fuente de 8080 a 8086 instrucciones de máquina. Microsoft licenció 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 cual hizo. El trato fue espectacularmente exitoso, y SCP afirmó más tarde en la corte 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 1 millón de dólares estadounidenses.
Disputa de propiedad intelectual
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 afirmó que PC DOS era su propio producto. Sin embargo, el abogado de Digital Research no creía que la ley relevante fuera lo suficientemente clara como para demandar. No obstante, Kildall se enfrentó a IBM y los convenció para que ofrecieran CP/M-86 con la PC a cambio de una exención de responsabilidad.
La controversia ha seguido en torno a 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 al ingresar un comando en DOS que mostraba el nombre de Kildall, pero Pournelle nunca reveló el comando y nadie ha venido. adelante para corroborar su historia. Un libro de 2004 sobre Kildall dice que usó un mensaje encriptado de este tipo para demostrar que otros fabricantes habían copiado CP/M, pero no dice que encontró el mensaje en DOS; 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 referirse o usar el código CP/M mientras lo escribía. Después de que apareció el libro de 2004, demandó a los autores y editores por difamación. El tribunal dictaminó en sentencia sumaria que no se había producido difamación, ya que las afirmaciones del libro eran opiniones basadas en investigaciones o no se podía demostrar que fueran falsas.
Versiones
QDOS 0.10 | 1980-07 | Versión casi la mitad completa del sistema operativo. 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 encontrado en Standalone Disk BASIC-86, esta variante ya soportaba elementos de mesa de 12 bits, redujo el número de FAT de 3 a 2, redefinió la semántica de algunos de los valores de racimo reservados, y modificó el diseño de disco, de modo que el directorio raíz se encuentra ahora entre el FAT y el área de datos. Paterson también aumentó el límite de longitud de 9 caracteres anterior a 11 caracteres con el fin de apoyar CP/M-style 8.3 nombres de archivo y bloques de control de archivos. Esta variante, sin embargo, todavía utilizaba entradas de directorios de 16 bytes y por lo tanto no es compatible con lo que más tarde se conoció como FAT12 en MS-DOS/PC DOS. Posiblemente enviado ya. |
---|---|---|
QDOS 0.11 | 1980-08 | Arregla el envío. |
QDOS/86-DOS 0.2 | 1980-08 | EDLIN agregó. Renombrado a 86-DOS para agosto de 1980. |
86-DOS 0.3 | 15 de noviembre de 1980 | Primera versión con licencia de SCP a Microsoft. |
86-DOS 0.33 | 1980-12 | Primera versión distribuida por SCP a OEMs y Microsoft como 86-DOS. |
86-DOS 0.34 | 29 de diciembre de 1980 | Liberado para SCP OEMs incluyendo Microsoft. |
86-DOS 0.42 | 25 de febrero de 1981 | A petición indirecta de IBM (a través de Microsoft) el tamaño de las entradas de directorios cambió de 16 a 32 bytes (similar a MDOS/MIDAS) con el fin de añadir soporte para un sello de fecha de última modificación (2 bytes) y tamaños de archivos teóricos superiores a 16 MB (4 bytes), implementando así la forma más temprana del sistema de archivos FAT de 12 bits lógicamente totalmente compatible con lo que se conoce como FAT12 en MS-DOS/PC DOS más adelante. 86-DOS mantuvo la capacidad de leer volúmenes escritos en versiones anteriores de 86-DOS hasta MS-DOS 1.14 por lo menos, mientras que MS-DOS genéricos 1.20 / PC DOS 1.1 y superior ya no lo apoyaban. |
86-DOS 0,56 | 23 de marzo de 1981 | Soporte para bloqueo/desbloqueo de disco como se solicitó desde 1981-01-15. |
86-DOS 0.60 | 27 de marzo de 1981 | El archivo DOSIO.ASM encontrado en 86-DOS 1.00 menciona que es el "Sistema I/O para la versión 86-DOS 0.60 y posterior".
|
86-DOS 0,74 | 15 de abril de 1981 | Archivos de dispositivo añadidos. |
86-DOS 0,75 | 17 de abril de 1981 | Corrección de errores. |
86-DOS 0,76 | 23 de abril de 1981 | Corrección de errores. |
86-DOS 0.80 | 27 de abril de 1981 | Llamadas del sistema. |
86-DOS 1.00 | 28 de abril de 1981 | Llamadas de sistema modificadas. |
86-DOS 1.01 | 12 de mayo de 1981 | Corrección de errores. |
86-DOS 1.10 | 21 de julio de 1981 | Comprado por Microsoft y renombrado a MS-DOS el 27 de julio de 1981, por lo tanto la última versión con números de versión 86-DOS y MS-DOS. Primera versión conocida para implementar el atributo "hidden". |
86-DOS 1.14 | 1981-10/11 | Según Tim Paterson PC DOS 1.0 refleja básicamente 86-DOS 1.14, otras fuentes encuentran un partido de PC DOS 1.0 con MS-DOS/86-DOS 1.10 al 21 de julio de 1981 más probable. |
Características
Comandos
La siguiente lista de comandos es compatible con 86-DOS.
Comandos internos
- CLEAR
- COPY
- DIR
- ERASE
- RENAME
- TYPE
Comandos externos
- ASM
- CHKDSK
- DEBUG
- EDLIN
- HEX2BIN
- MAKRDCPM
- RDCPM
- SYS
- TRANS
EDLIN
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 primitivo editor de líneas, EDLIN, que siguió siendo el único editor proporcionado con las 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-DOS. Editor DOS, basado en QBasic. EDLIN todavía puede usarse en máquinas contemporáneas, ya que hay un entorno DOS emulado hasta Windows 10 (32 bits).
Formatos de disco admitidos
Productos informáticos de Seattle' 86-DOS 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 utilizaba el FD1791. Más tarde, SCP ofreció controladores de disquetes avanzados, como la serie Disk Master.
86-DOS no aprovechó un byte FAT ID o un bloque de parámetros BIOS (BPB), como lo hacen las versiones posteriores de DOS, para distinguir entre diferentes formatos de medios; en cambio, diferentes letras de unidad se codificaron de forma rígida 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 tener una determinada letra de unidad para ser reconocido correctamente. Este concepto fue posteriormente emulado con más flexibilidad por DRIVER.SYS bajo DOS 3.x y 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 aún no puede montar dichos volúmenes, ya que en ausencia de un BPB recurre a recuperar el FAT ID en la entrada FAT para el clúster 0 para elegir entre los perfiles de geometría de disco codificados. En todos los formatos de un volumen formateado bajo MS-DOS que, de otro modo, sería compatible 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 byte del volumen. sector con dirección de sector de culata de cilindro (CHS) físico 0/0/2 o dirección de bloque lógico (LBA) dirección 1, ya que MS-DOS asume un único sector reservado, el sector de arranque. En 86-DOS, el área de sectores reservados es significativamente más grande (pistas completas) y, por lo tanto, el FAT ID prototípico 0xFE
(y 0xFF
) está ubicado en otra parte del disco, lo que hace imposible que MS-DOS lo recupere, e incluso si lo hiciera, el perfil de disco codificado asociado con él no tomaría esta región de sectores reservados más grande bajo 86-DOS en cuenta.
Los disquetes CP/M 2 se podían leer a través de RDCPM.
86-DOS no ofrecía ningún soporte específico para discos fijos, pero empresas como Tallgrass Technologies ofrecían soluciones de terceros en forma de controladores de disco duro y las correspondientes extensiones del sistema de E/S para 86-DOS, lo que hacía que los discos duros fueran accesibles. similar a los 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 | SD | DD | DD | SD | SD |
Modulación | FM | MFM | MFM | FM | FM |
Capacidad formada (KB) | 250.25 | 616 | 1232 | 90 | 87,5 |
Cilindros (CHS) | 77 | 77 | 77 | 40 | 35 |
Sectores físicos / pista | 26 | 8 | 8 | 18 | 10 |
Número de cabezas | 1 | 1 | 2 | 1 | 1 |
Carga de pago Byte / sector físico | 128 | 1024 | 1024 | 128 | 256 |
Bytes / sector lógico | 128 | 1024 | 1024 | 128 | 256 |
Sectores lógicos / cluster | 4 | 1 | 1 | 2 | 1 |
Sectores lógicos reservados | 52 (2 pistas) | 1 | 1 | 54 (3 pistas) | 30 (3 pistas) |
Number of FATs | 2 | 2 | 2 | 2 | 2 |
Inscripciones del directorio raíz (á 32 bytes, 86-DOS 0.42 y superior solamente) | 64 (16 sectores) | 96 (3 sectores) | 128 (4 sectores) | 64 (16 sectores) | 64 (8 sectores) |
Inscripciones del directorio raíz (á 16 bytes) | 64 | ? | ? | 64 | — |
Total de sectores lógicos | 2002 | 616 | 1232 | 720 | 350 |
Sectores lógicos / FAT | ¿6? | ? | ? | ? | ? |
Sectores ocultos | 0 | 0 | 0 | 0 | 0 |
Orden del sector lógico | ? | ? | ? | ? | ? |
Cartografía sectorial | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ | sector+/ track+ | sector+/ track+ |
Primer sector físico | 1 | 1 | 1 | 1 | 0 |
Índice de sector | Suave | Suave | Suave | Suave | Duro (10+1) |
Tipo de control | Cromemco/Tarbell FD1771 | Tarbell FD1791 | Tarbell FD1791 | Cromemco FD1771 | NorthStar |
FAT ID | No. | No. | No. | No. | No. |
BPB presence | No | No | No | No | No |
Varias versiones OEM de MS-DOS 1.2x y 2.x también admitían varios formatos de disquetes FAT12 de 8 pulgadas similares, aunque no idénticos a los compatibles con 86-DOS.
Formatos de disco compatibles con una de las últimas versiones desarrolladas por Tim Paterson en Microsoft, MS-DOS 1.25 (marzo de 1982) para la computadora SCP Gazelle con controlador SCP o controlador Cromemco 16FDC (por defecto, esta versión solo admitía las variantes compatibles con MS-DOS del 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 anterior SCP 86-DOS 8.0 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 | SD | SD | DD | DD | DD | SD | DD | DD |
Modulación | FM | FM | MFM | MFM | MFM | FM | MFM | MFM |
Capacidad formada (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 | 26 | 26 | 8 | 8 | 8 | 18 | 8 | 8 |
Número de cabezas | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 2 |
Carga de pago Byte / sector físico | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Bytes / sector lógico | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Sectores lógicos / cluster | 4 | 4 | 1 | 1 | 1 | 2 | 1 | 2 |
Sectores lógicos reservados | 52 (2 pistas) | 1 | 1 | 1 | 1 | 54 (3 pistas) | 1 | 1 |
Number of FATs | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Inscripciones del directorio raíz (á 32 bytes) | 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 | 2002 | 2002 | 616 | 1232 | 1232 | 720 | 320 | 640 |
Sectores lógicos / FAT | ¿6? | 6 | 1 | ? | 2 | 4 | 1 | 1 |
Sectores ocultos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Número total de grupos temáticos | ? | 497 | ? | ? | 1227 | ? | 313 | 315 |
Orden del sector lógico | ? | ? | ? | ? | ? | ? | ? | ? |
Cartografía sectorial | sector+/ track+ | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ | sector+/ head+/ track+ | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ |
Primer sector físico | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Índice de sector | Suave | Suave | Suave | Suave | Suave | Suave | Suave | Suave |
Tipo de control | 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 | FEH | FEH | FEH | FEH | FEH | FEH | FEH | FFh |
BPB Presencia | 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 de disquete Disk Master SCP-500. 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.
Contenido relacionado
Compilación Tracing Just-in-time (T-JIT)
Placa base
Bombazina