# FreeDOS

FreeDOS (anteriormente Free-DOS y PD-DOS) es un sistema operativo libre para computadoras compatible IBM PC. Pretende proporcionar un entorno completo compatible con DOS para la ejecución de software heredado y el soporte de sistemas integrados.
FreeDOS puede ser arrancado desde una memoria USB. Está diseñado para funcionar bajo virtualización o emulación x86.
A diferencia de la mayoría de las versiones de MS-DOS, FreeDOS está compuesto por software libre y de código abierto, licenciado bajo los términos de la GNU General Public License. Por lo tanto, su distribución básica no requiere derechos de licencia o derechos de autor y se permite la creación de distribuciones personalizadas. Sin embargo, otros paquetes que forman parte del proyecto FreeDOS incluyen software no GPL que se considera conveniente preservar, como el 4DOS, que se distribuye bajo licencia MIT modificada.

## Historia

El físico Jim Hall, egresado de la Universidad de Wisconsin-River Falls, tuvo en su juventud un clon de Apple II que inicialmente le sirvió de campo de juegos electrónicos para luego pasar a la etapa de programación al aprender por sí mismo el lenguaje Applesoft BASIC. Transcurrido el tiempo el relevo del equipo fue una IBM PC la cual también tenía una versión de BASIC al cual migró sus programas sin mayor problema durante sus estudios en el liceo. Durante su pregrado en la universidad aprendió lenguaje C y programó bajo el ambiente MS-DOS. Aunque en esa casa de estudio utilizaban UNIX, Jim Hall siguió utilizando en sus ordenadores personales el MS-DOS para sus trabajos académicos. En 1993 descubre que GNU/Linux es compatible con sus computadores y lo instaló en arranque doble, reconoce la potencialidad del nuevo sistema operativo sin embargo dada la gran cantidad de programas utilitarios -y de juegos- decide quedarse con MS-DOS.
En 1994, tras haber probado Windows 3.1, y ante los anuncios de prensa que se irían solamente en entorno gráfico y la empresa Microsoft abandonaría el desarrollo y soporte de futuras versiones de MS-DOS, Jim Hall decide publicar el anuncio de su proyecto el 29 de junio en la página web comp.os.msdos.apps. Confundido con los conceptos de software libre y dominio público decide colocarle el nombre PD-DOS (Public Domain-Disk Operating System por sus iniciales en idioma inglés) y es hasta finales de julio que es relanzado con el nombre de Free-DOS y bajo licencia pública general (GNU). Finalmente eliminaron el guion y quedó con el nombre actual FreeDOS.

## Diferencias con MS-DOS

FreeDOS incluye algunas características que no estaban presentes en MS-DOS:
* Controlador Ultra-DMA y soporte para discos grandes (LBA).
* Soporta el sistema de archivos FAT32.
* Controlador DOSLFN para usar los nombres de archivo largos de VFAT.
* Licencia libre (GPL).
* Soporte de internacionalización definida por el usuario.

## Compatibilidad
### Con Windows Version 1.0 a 3.xx

No es posible iniciar ninguna versión de Windows basada en MS-DOS en modo extendido del 386, solo se puede iniciar Windows 3.0 en modo estándar, Windows 3.1 en modo estándar y las versiones de Windows 1.x y 2.x desde FreeDOS. No obstante, es posible sortear este problema usando un gestor de arranque o una herramienta similar, como la que viene con FreeDOS, para hacer una instalación paralela (con arranque dual) de FreeDOS y la versión de Windows en cuestión (decidiendo entre un sistema operativo y otro al arrancar).

### Con Windows 95 a ME

Estas versiones de Windows están enlazadas al propio DOS que incorporan. No es posible ejecutarlas desde FreeDOS, pero se pueden instalar Windows y FreeDOS en la misma unidad C:, con la ayuda de un gestor de arranque tal como se ha descrito anteriormente, o con un gestor de arranque de GNU/Linux como LiLo o Grub.

### Con Windows NT y ReactOS

Una instalación paralela con Windows NT y ReactOS no causa problemas porque estas versiones ya no usan un sistema DOS como sistema base. El núcleo de FreeDOS se puede añadir simplemente al gestor de arranque que estos sistemas operativos incluyen.

## Gestión de residuos

El programa de gestión de memoria EMM386 incluido con soporta VCPI, que permite ejecutar programas que utilizan DPMI.
FreeDOS también contiene un controlador UDMA para un acceso a disco más rápido, que además también se puede usar en otras versiones de DOS. La memoria intermedia de disco LBAcache almacena los datos del disco a los que se ha accedido recientemente en la memoria XMS para proporcionar un acceso aún más rápido y reducir el acceso directo al disco duro (lo que causa menos ruido)
Gracias a que el intérprete de línea de comandos FreeCOM se puede mover a sí mismo a la memoria extendida, es posible liberar mucha memoria convencional: Con el núcleo almacenado en la memoria alta y los controladores cargados en los bloques de memoria superior, se pueden disponer de 620 kB (620*1024 bytes) de memoria convencional, lo que es útil para programas y juegos de DOS exigentes en este aspecto.

## Características

La licencia es libre. Tiene soporte para particiones FAT32, desde las que puede arrancar. Dependiendo del BIOS usado, se pueden utilizar discos duros LBA de hasta 128 GB o incluso 2 TB. Algunos BIOS tienen soporte para LBA pero tienen un fallo con los discos mayores de 32 GB; controladores como OnTrack o EzDrive pueden "reparar" ese problema.
FreeDOS también se puede usar con un controlador llamado DOSLFN que soporta nombres de archivo largos (ver VFAT), pero la mayoría de los programas de FreeDOS NO soportan nombres de archivo largos, incluso si el controlador está cargado (EDIT.COM para Windows 9x sí soporta nombres largos si el controlador está cargado).
No hay planes para añadir soporte NTFS o ext2fs a FreeDOS, pero hay varios controladores shareware disponibles para tal propósito. Para acceder a particiones ext2fs, se pueden usar la herramienta LTOOLS, que puede copiar información desde y hacia particiones ext2fs. Si se ejecuta FreeDOS en DOSEmu (un emulador de PC/DOS para sistemas GNU/Linux) es posible instalar aplicaciones DOS en cualquier sistema de archivos y disco duro que soporte GNU/Linux.
Tampoco está planeado el soporte de USB, solo los dispositivos USB reconocidos por el BIOS están disponibles de primera mano para FreeDOS. Se pueden usar controladores gratuitos, o ejecutar FreeDOS en una ventana de DOSEmu y dejar que use cualquier unidad que sea accesible a GNU/Linux.
Otros emuladores populares de PC y DOS son Bochs (simula un PC completo) y DOSBox, que simula un PC con un núcleo DOS y su intérprete: Los programas dentro de DOSBox "ven" un DOS, pero no se puede instalar FreeDOS u otro núcleo. No obstante, las herramientas de FreeDOS son plenamente funcionales en DOSBox
El núcleo de FreeDOS también se suministra con DOSEmu. DOSEmu simula de manera optimizada un PC que permite el uso de controladores simplificados (proporcionados con DOSEmu). El sistema se ejecuta mucho más rápido que con el simulador de PC GNU Bochs o el emulador comercial VMware. Sin embargo, la simulación del hardware carece de realismo en algunos aspectos: El acceso al disco simulado a través de la BIOS virtual funciona bien, pero los programas DOS no pueden programar los controladores del disco virtual. No obstante, sí que hay hardware gráfico y de sonido virtual

## Distribución

Debido a un acuerdo con Microsoft, que impedía a los vendedores de ordenadores venderlos sin sistema operativo instalado, Dell Computer ofreció algunos de sus sistemas de su "serie n" con FreeDOS preinstalado.
El proyecto FreeDOS comenzó a proporcionar una alternativa a MS-DOS cuando Microsoft anunció en 1994 que dejaría de vender y dar soporte a su MS-DOS.
Una alternativa a FreeDOS es OpenDOS y EDR-DOS Enhanced DR-DOS. Este DOS es más compatible con Windows, pero la licencia es más restrictiva. OpenDOS está basado en el DR-DOS, propiedad de DeviceLogics y que se ofrece como shareware, y Enhanced DR-DOS basado en el OpenDOS.
Desde 2014 la mascota de este sistema operativo tiene un nombre concreto: Blinky.