Admito que en general no tenga mucho sentido práctico instalar DOS en una máquina con hardware relativamente actual. Primero de todo, digamos que un equipo, incluso con 32 Mb. de RAM, puede funcionar con algunas distribuciones de Linux más o menos bien, o hacerlo con Windows 2000. En ambos casos, tendremos mayores capacidades que con DOS.
Puede que sientas la nostalgia de MS-DOS, o que simplemente te apetezca trastear con él, ya sea en una máquina física, o en una máquina virtual, para disfrutar del proceso de configurando a tu gusto, o para poder programar en un entorno como el de antaño, y que te daba todas las posibilidades de acceso al hardware.
Elección de la versión de DOS
De Microsoft tenemos MS-DOS, su última versión comercial fue la 6.22, pero incluído en Windows 9x, tuvimos 7.0 (95), 7.1 (98), y 8.0 (ME). La 7.1 sigue siendo un DOS tradicional, y muy compatible que se adapta al hardware reciente. La 8 está demasiado optimizada para Windows, y no es demasiado recomendable por su nivel de compatibilidad. A partir de la 7.1 se soportan discos FAT32. Destacaría su nivel de compatibilidad, y en las últimas versiones su rendimiento.
De IBM, el PC-DOS hasta la versión 5, es igual a MS-DOS, desarrollado en conjunto por ambas partes. Luego tenemos 6.3, 7.0, 2000 y 7.1. De la última 7.1, se distribuyeron unas cuantas versiones OEM actualizadas, siendo la última la build 132. A partir de la 7.1 se soportan discos FAT32. Me gusta la cantidad de herramientas que trae incorporadas, y que lleve el branding de IBM.
De Digital Research/Novell/Caldera/Lineo/DeviceLogics/DRDOS tenemos DR-DOS/OpenDOS/DR-OpenDOS, desde la 3.31 hasta la 6.0 por parte de Digital Research, la 7.0 por parte de Novell, la 7.01 – 7.03 de Caldera, la 7.03 de Lineo, la 8.0 de DeviceLogics, y la 8.1 de DRDOS. Como de la 7.01 se distribuyó el código fuente, tenemos el DR-DOS/OpenDOS Enhancement Project, que le añade nuevas características al kernel. Se pueden encontrar versiones OEM con kernels 7.04/70.5 y 7.05/7.06. De todas las versiones la 8.0 y la 8.1 soportan discos FAT32, sin embargo hubo bastante controversia con la 8.1, pues no dejaba de ser una 8.0 con herramientas de FreeDOS y el kernel del EDR. Me gusta lo avanzado que es, con TASKMGR para hacer multitarea real, una API de modo protegido, …
De PhysTechSoft/Paragon, tenemos PTS-DOS, en sus versiones 6.4, 6.5, 6.6, 6.7, 2000 y 7.0 (32). De autoría rusa, es un DOS veloz y compacto, que está escrito casi al completo en ensamblador, por lo que puede llegar a dar hasta un 10% más de rendimiento, y consumir algo menos de memoria. Tiene algunos problemas de compatibilidad, pero suelen ser menores. La versión 7.0 es la única que soporta FAT32. Me gusta sobre todo su rendimiento.
De FreeDOS, tenemos la versión 1.1, que avanzando lentamente, ofrece un nivel de compatibilidad y prestaciones aceptable. Las funcionalidades son probablemente las más avanzadas, con multitud de utilidades disponibles. Soporta discos FAT32 desde la versión 1.0. Destaco su gran cantidad de herramientas disponibles.
Otros contendientes menos populares podrían ser RxDOS, orientado al aprendizaje, y con graves carencias, ROM-DOS de Dataligh que aunque está enfocado en los sistema empotrados, es bastante completo para uso en escritorio.
Mi elección es doble, y en ambos casos con ciertos cambios. La primera es DR-DOS por su tecnología, lo ideal es lo más actual posible, así que la versión 8.0, con las utilidades de la 8.1, o incluso el kernel de EDR es lo más adecuado. La otra es MS-DOS 7.1. En ambos casos, las utilidades de FreeDOS son recomendables.
Soporte de discos
Ya comentaba que no todos los DOS soportan particiones FAT32, es decir, sin ellas, estaremos limitado a particiones de 2 o 4 Gb. de tamaño. Nada impide tener tantas particiones de ese tamaño como queramos, o particionar un disco más grande perdiendo el tamaño sobrante, pero parece que lo conveniente es usar FAT32 para aprovechar el espacio disponible, y reducir pérdidas por tamaños de clústers. La trampa es que aunque se soporte FAT32, no todas las herramientas de disco van a ser compatibles con ellas. Olvidémonos de comprobadores de disco y desfragmentadores de terceros como los de Central Point o Norton, porque no funcionarán. Incluso a nivel del propio sistema, en el mejor de los casos que es MS-DOS, no tendremos un DEFRAG que soporte FAT32. En el caso de PC-DOS, tampoco tendremos un CHKDSK, y en el caso de DR-DOS, ni siquiera un FDISK ni SYS. La solución es obtener esas herramientas de terceros, de otros fabricantes, o acudir al repositorio de FreeDOS.
En mi caso uso Partition Magic 8.05 que sustituye perfectamente a FDISK, y además permite alterar los tipos de las particiones sin perder información, desde un amigable interfaz gráfico bajo DOS puro. Para CHKDSK, uso el de Microsoft, y para SYS, puedes probar el de EDR. Quedará DEFRAG, del que no hay sustituto natural. Sin embargo como PQMAGIC, también compacta la información, es un primer paso, al menos hasta que en FreeDOS tengan su propio defragmentador.
Con FAT32 llegamos a soportar particiones de hasta 128 Gb. pero como DOS es compacto, podemos partir de un mínimo de 500 Kb. de espacio en disco, hasta unos razonables 16 Gb. si quisiéramos tener instalado mucho software. En mi caso son 8 Gb.
Si te interesa, UIDE, te permitirá aprovechar las transferencias DMA para disquetes, discos duros, y CD/DVD y así ganar rendimiento.
Soporte de memoria
Además de las limitaciones inherentes al diseño de DOS en la gestión de memoria, debemos tener presente que los drivers de gestión de ésta, tienen ciertos límites, que van desde un máximo de 32 Mb. en HIMEM.SYS y EMM386.EXE antiguos, hasta los 256 Mb. de versiones recientes de QEMM, o los 2 Gb. para versiones recientes de drivers como los de MS-DOS 7.1 o FreeDOS.
No obstante, sabemos que DOS es muy comedido, y que podría arrancar hasta con 256 Kb. de memoria libre, por lo que a efectos prácticos, más de 128 Mb. no tiene demasiado sentido. En mi caso, son 64 Mb. gestionados por QEMM386 9.01 o EMM386.EXE de DR-DOS dependiendo de la configuración.
Complementariamente, puedes obtener memoria usable adicional con UMBPCI.
Periféricos
Casi todos los PC tienen una unidad de CD o DVD, así que no olvides hacerte con XCDROM o XGCDROM, que reemplazan perfectamente al controlador de CD o DVD que pueda tener tu unidad, con un consumo de memoria de solamente 3 Kb. en comparación con los 20 Kb. o más de otros, y sin problemas de compatibilidad.
Si tienes un ratón, y lo vas a querer utilizar, cosa que no es obligatoria para la mayoría de programas DOS, hazte con CuteMouse, reemplaza el driver genérico de Microsoft o Logitech, con un consumo de memoria varias veces inferior.
Recordemos que por la facilidad que tienen las aplicaciones DOS de acceder al hardware, y por su larga vida, en general no necesitaremos drivers específicos para impresoras, tarjetas de sonido Adlib o Soundblaster, o tarjeta gráficas, ya que su gestión quedará relegada a cada aplicación que deba usarlo en particular.
Elección del hardware
DOS va a funcionar en casi cualquier hardware compatible x86 que haya disponible. En el pasado contaba con una máquina física dedicada a DOS. Sin embargo, por motivos de espacio, y de comodidad a la hora de gestionar versiones intermedias de la configuración, ahora la uso como una máquina virtual VirtualBox. A este respecto, te puede interesar mi ZEROFILL, que te ayudará a compactar los volúmenes dinámicos de tu máquina virtual.
Debemos tener en cuenta que no usará más de un procesador, y que si éste soporta instrucciones x64, nunca se utilizarán, pero aparte de eso, funcionará normalmente con varios cores x64.
Otras herramientas
Hasta aquí, tendríamos una máquina con el DOS de nuestra elección, que es capaz de arrancar, usando el disco y la memoria que tengamos disponible. Una de las cosas buenas de DOS, son la cantidad de reemplazos y herramientas alternativas que tenemos a nuestra disposición, y que nos van a permitir tener un entorno más cómodo.
Naturalmente puedes usar Ranish.com Partition Manager en vez de FDISK, 4DOS 8.00 parte del proyecto SHSUCDX 3.05 / 3.3 reemplaza la interfaz de CD-ROM/DVD-ROM de MSCDEX o NWCDEX, siendo igual de compatible, más compacto, y probablemente más veloz.
ANSIPlus 4.06, que es ahora gratuito, es un driver ANSI, que añade aceleración de salida de textos, scroll back, y otras funcionalidades. Es algo pesado con unos 40 Kb. de consumo de memoria, pero me gusta. Otra alternativa más ligera, pero menos capaz es NANSI 4.0d.
Si vas a necesitar un disco RAM, probablemente RDISK, o SRDISK o TurboDisk sean alternativas más rápidas y ligeras a VDISK.
Si has llegado hasta aquí, entonces ya tienes un equipo que corre DOS, gestiona el hardware y los periféricos que tengas instalado, y con el que puedes instalar y correr las aplicaciones que te interese. En sucesivas entregas, veremos más en detalle que es lo que puede hacer un DOS hoy en día.