El IBM PC DOS (nombre completo: The IBM Personal Computer Disk Operating System) es un Sistema operativo de disco (DOS) obsoleto para el IBM Personal Computer y los sistemas compatibles. Fue uno de los sistemas operativos que dominó el mercado de los computadores personales entre 1985 y 1995. Manufacturado y vendido por IBM desde el año 1981 al 2000.

Tiene las mismas raíces que el MS-DOS. De hecho, el MS DOS y el PC DOS son dos variantes del mismo sistema operativo con algunas diferencias. Mientras que el PC DOS fue hecho originalmente para los computadores personales de IBM, el MS DOS apuntaba al mercado de los clones.

Historia

thumb|Unidad de disquete Tandon de 5.25 pulgadas con un disquete parcialmente insertado de doble densidad conteniendo el PC DOS 1.1

El IBM PC

El grupo de trabajo de IBM reunido para desarrollar el IBM PC decidió que los componentes críticos de la máquina, incluyendo el sistema operativo, pudieran venir de vendedores externos. Esta ruptura radical de la tradición de la compañía, de desarrollo interno, fue la decisión clave que hizo el IBM PC un estándar industrial, pero esto fue hecho por necesidad para ahorrar tiempo. Microsoft fue seleccionado para el sistema operativo. IBM quería que Microsoft conservara la propiedad de cualquier software que desarrollara, y no quería tener nada que ver en ayudar a Microsoft, con excepción de hacer sugerencias desde lejos. Según el miembro del grupo de trabajo Jack Sams, "Las razones eran internas. Teníamos un terrible problema siendo demandados por gente clamando que habíamos robado sus cosas. Podría ser horriblemente costoso para nosotros tener nuestros programadores mirando el código que perteneció a algún otro, porque entonces ellos podrían volver y decir que nosotros les robamos e hicimos todo este dinero. Habíamos perdido una serie de disputas legales en esto, así que no quisimos tener, trabajado por la gente de IBM, un producto que fuera claramente de algún otro. Fuimos a Microsoft con la proposición que queríamos que éste fuera su producto". IBM primero entró en contacto con Microsoft para ver la compañía por julio de 1980. Las negociaciones continuaron durante los meses siguientes, y el papeleo fue oficialmente firmado a principios de noviembre. Wallace, J. & Erickson, J. (1992). Hard Drive, John Wiley & Sons. ISBN 0-471-56886-4.

Creación del PC DOS

Microsoft compró una licencia no exclusiva para el 86-DOS (anteriormente llamado QDOS) a Seattle Computer Products (SCP) en diciembre de 1980 por 25000 dólares. En mayo de 1981, se contrató a Tim Paterson para portar QDOS al IBM-PC, que utilizaba el procesador Intel 8088, que era más lento y menos costoso, y que tenía su propia familia específica de periféricos. IBM observó los progresos diariamente y presentó más de 300 peticiones de cambio antes de aceptar el producto y escribir el manual de usuario para él.

En julio de 1981, un mes antes de que lanzaran el IBM PC, Microsoft compró todos los derechos del 86-DOS de SCP por 50.000 dólares. Esto cumplió los criterios principales de IBM: Parecía CP/M y era fácil adaptar los programas de 8 bits existentes de CP/M para funcionar bajo este, sobre todo gracias al comando TRANS del QDOS, que permitía traducir código fuente del Intel 8080 al lenguaje de máquina del 8086.

Microsoft licenció QDOS a IBM, y se convirtió en el PC-DOS 1.0. Esta licencia también permitió que Microsoft vendiera el DOS a otras compañías, lo cual hizo posteriormente cuando aparecieron los clones llamándolo MS DOS. El acuerdo fue espectacularmente exitoso, y SCP demandó posteriormente en los juzgados que Microsoft había encubierto su relación con IBM para comprar el sistema operativo más barato (incluso aunque Microsoft todavía estaba bajo los términos de un acuerdo de no revelación y el grado de éxito del PC no estaba previsto ampliamente). SCP recibió en última instancia un millón de dólares como acuerdo de pago.

Estructura

El PC DOS estaba formado por cuatro componentes principales: El sector de arranque (boot record), que se encuentra en el primer sector del disquete o de la partición del disco donde se encuentra instalado el DOS. El archivo IBMBIO.COM, el cual es la interfaz del DOS para llamadas al IBM BIOS, que era el BIOS de los computadores personales de IBM. El archivo IBMDOS.COM, el cual es propiamente la implementación del DOS, y contiene el código de las llamadas de función, (lo que hoy llamaríamos las API). El archivo COMMAND.COM, es el procesador de comandos, que recibe las instrucciones (comandos) escritos por el usuario y los ejecuta.

Adicionalmente hay una serie de programas ejecutables, algunos archivos de configuración, y otros.

El hermano del PC DOS, el MS DOS, tenía los archivos IO.SYS y DOS.SYS que eran los equivalentes respectivamente del IBMBIO.COM y el IBMDOS.COM.

IBMBIO.COM

El IBMBIO.COM era el nombre de archivo del DOS-BIOS en muchos sistemas operativos DOS, y como tal, parte de PC-DOS, versiones anteriores del MS-DOS, y DR DOS 5.0 y posteriores (a excepción del DR-DOS 7.06). Sirve el mismo propósito que el IO.SYS en MS-DOS, o el DRBIOS.SYS en DR DOS 3.31 al 3.41.

El archivo residía en el sector de arranque del disco (el primer sector) y era cargado por el boot loader después de ejecutarse el POST al encender el computador.

En la secuencia del bootup del PC, es cargado en memoria el primer sector del disco de arranque y se ejecuta el código almacenado allí. Si este es el sector de arranque del DOS, este carga los primeros tres sectores del IBMBIO.COM en la memoria y transfiere el control a este. El IBMBIO.COM entonces realiza lo siguiente:

Carga el resto de sí mismo en memoria. Para que esto trabaje, el IBMBIO.COM y su entrada en el directorio debe estar situado en posiciones físicas fijas en el disco y debe estar almacenado en los sectores consecutivos, condiciones que la utilidad SYS realiza. Carga el kernel del DOS. El kernel es almacenado en archivo IBMDOS.COM. Inicializa cada controlador de dispositivo por defecto (consola, disco, puerto serial, etcétera). A este punto, los dispositivos por defecto están disponibles. Llama a la rutina de inicialización del kernel del DOS.

Bajo el DR-DOS, se salta el primer paso, puesto que un sector de arranque del DR-DOS monta el sistema de archivos FAT, localiza el archivo IBMBIO.COM (o DRBIOS.SYS) en el directorio raíz y lo carga en memoria por sí mismo. No es necesario que el archivo IBMBIO.COM resida en una posición física fija o sea almacenado en sectores consecutivos. En lugar de ello, simplemente puede ser copiado al disco (sin el SYS), dado un sector de arranque de DR-DOS ya resida en el disco.

IBMDOS.COM

El IBMDOS.COM era el nombre de archivo del kernel del PC DOS. El archivo estaba situado en el directorio raíz en el disco de sistema del sistema operativo PC-DOS. Cuando Microsoft lanzó el MS-DOS, este tenía un archivo equivalente llamado MSDOS.SYS. Posteriormente, en el sistema operativo DR-DOS había también un IBMDOS.COM.

El kernel inicializaba al sistema operativo e interpretaba el contenido del archivo CONFIG.SYS, que también debía estar situado en el directorio raíz. Un comando en el CONFIG.SYS especificaba la localización del interpretador de línea de comandos, típicamente el COMMAND.COM.

Funciones

El PC-DOS tenía una serie de funciones que podían ser llamadas por los programas por medio de interrupciones. Había funciones para entrada por teclado, salida por pantalla, entrada y salida por consola (la cual era la combinación del teclado y la pantalla tratados en conjunto), entrada y salida por el puerto serial, manejo de memoria, manejo de archivos, manejo de directorios, manejo del disco, fecha y hora, etc.

Comandos residentes y transitorios

El interpretador de comandos para el PC-DOS y el MS-DOS corre después de que finaliza la aplicación que se está ejecutando (o después de que un programa TSR devuelve el control después de instalarse). Si después de que la aplicación finalice o devuelva el control, el interpretador de comandos residente en memoria hubiera sido sobreescrito, el PC-DOS lo recargará desde el disco de nuevo. El interpretador de comandos es almacenado usualmente en un archivo llamado COMMAND.COM.

Algunos comandos son internos y están construidos dentro del COMMAND.COM, otros están almacenados en el disco de la misma forma que los programas de aplicación. Cuando el usuario teclea una línea de texto en el prompt de comandos del sistema operativo, el COMMAND.COM parseará la línea, e intentará encontrar un nombre de comando construido internamente. Si no lo encuentra, entonces busca un archivo de programa ejecutable o un archivo batch en el disco con el nombre del comando. Si en cualquiera de los dos casos lo encuentra lo ejecuta y le pasa los parámetros que hubieran en la línea de texto escrita por el usuario. Si no se encuentra, un mensaje de error es impreso y el prompt de comando es refrescado de nuevo.John Angermeyer et al (ed), Tricks of the MS-DOS Masters, Howard W. Sams, 1987, ISBN 0-672-22525-5 pp. 139-143

Los comandos residentes variaron levemente entre las diferentes versiones del PC-DOS. Típicamente, las funciones DIR (lista directorio), el ERASE o DEL (borra un archivo o un directorio), COPY (copia archivos), DATE (exhibe o ajusta la fecha), TIME (exhibe o ajusta la hora), CD (cambia el directorio de trabajo), MD (hacer un directorio en el disco actual), REN (renombrar un archivo o un directorio) y algunos otros, eran residentes en COMMAND.COM.

Los comandos transitorios eran, o demasiado grandes para mantenerse en el procesador de comandos, o eran usados con menos frecuencia. Tales programas utilitarios serían almacenados en el disco y cargados justo como los programas de aplicación regulares, pero eran distribuidos con el sistema operativo. Las copias de estos programas de comando utilitarios tenían que estar en un disco accesible, en la unidad de disco floppy actual o en la ruta de comandos fijada en el interpretador de comandos.

Archivo CONFIG.SYS

El archivo CONFIG.SYS es el principal archivo de configuración del PC DOS. Contiene instrucciones de configuración y de inicialización del sistema.

Archivos .BAT

Los archivos con la extensión .BAT son archivos de procesamiento por lotes que contienen un conjunto de comandos que son procesados como si se entraran en la línea de comandos por el usuario. Sirven para automatizar la ejecución de una serie de comandos. Algunas palabras claves adicionales son reconocidas por el interpretador de comandos COMMAND.COM para hacer a los archivos batch más útiles. Estos comandos adicionales no son útiles si están mecanografiados interactivamente en el prompt de comandos, pero permiten un procesamiento flexible en un archivo bach.

Archivo Autoexec.bat

El archivo Autoexec.bat es un archivo de procesamiento por lotes que se encuentra en el directorio raíz del disco de arranque y se ejecuta al iniciar el computador después de que el DOS fuera cargado y el CONFIG.SYS procesado.

Versiones miniaturadeimagen|Manual de usuario y disco de 5 1/4 para IBM DOS 1.1.

PC DOS 1.x