# FreeDOS

FreeDOS (originariamente Free-DOS e PD-DOS) è un sistema operativo per computer IBM PC compatibili, che costituisce un'alternativa open source a MS-DOS. Scopo del progetto è anche la rivitalizzazione di vecchi computer che potrebbero ancora funzionare egregiamente con un sistema operativo molto leggero e dinamico.

## Storia

Il progetto ebbe inizio il 28 giugno 1994, in reazione all'annuncio, da parte di Microsoft Corporation, della cessazione delle vendite e del supporto tecnico per MS-DOS. Il programmatore Jim Hall pubblicò un annuncio nel quale rese noto il progetto e annunciava la ricerca di collaborazioni.
Poche settimane dopo la pubblicazione di tale annuncio, Pat Villani, Tim Norman, e altre persone, oltre a Hall stesso, iniziarono a collaborare su un kernel, una shell (basata su COMMAND.COM) e delle utilities di base, mettendo insieme del codice che avevano scritto loro stessi, oppure trovato disponibile a condizioni compatibili con la libera redistribuzione.
La prima major release, la 1.0, è stata distribuita il 3 settembre 2006; la data inizialmente stabilita per l'uscita di questa versione era il 28 luglio dello stesso anno. All'inizio del 2012 è stata distribuita la versione 1.1. Il 25 dicembre 2016 viene distribuita la versione 1.2.
Il sistema operativo è distribuito sotto forma di immagine disco raw (.IMA) per floppy e ISO per CD avviabili. La produzione di immagini contenenti una più completa distribuzione di software è tuttora in corso.

### Balder

Balder è una distribuzione FreeDOS contenuta in un solo floppy. Essendo live non necessita di installazione, e può essere utilizzata sia per l'esecuzione di giochi e vecchie applicazioni DOS, sia per l'esecuzione di programmi di disaster recovery o di aggiornamento del BIOS. Una volta caricata in RAM, è possibile espellere il disco floppy, in modo da inserire quello contenente il programma che si intende utilizzare. Deve il suo nome a Balder/Baldr, una divinità della mitologia norrena.

## Caratteristiche

Esso fornisce principalmente accesso alle memorie di massa e ai loro 'file system' tramite il kernel. Implementa anche, in parte, un sistema di gestione della memoria, mentre non fornisce alcuna interfaccia grafica.
FreeDOS supporta un vastissimo range di hardware, dal PC IBM originale del 1981 ai più moderni sistemi ad architettura x86, oltre ai sistemi embedded. Come MS-DOS, può essere avviato da un floppy disk o da disco rigido, oltre a una memoria ROM. A differenza di MS-DOS, può essere installato da CD-ROM, ed è possibile crearne proprie distribuzioni senza che sia necessario il pagamento di royalties di alcun genere.
A differenza dell'MS-DOS di Microsoft, che è stato abbandonato e di cui FreeDOS tenta di divenire il sostituto libero, FreeDOS è un progetto open source distribuito secondo la licenza GNU General Public License (GPL).
La mascotte ufficiale del progetto FreeDOS è un pesciolino detto Blinky. Fu ideato da Bas Snabilie.

## Distribuzione

FreeDOS non richiede il pagamento di una licenza o di royalties. Gli unici altri sistemi operativi compatibili con MS-DOS ancora in sviluppo o in commercio sono (Enhanced) DR-DOS/OpenDOS, PTS-DOS e ROM-DOS.
HP e Dell (serie n) preinstallano FreeDOS in alcuni sistemi. Quest'ultima è stata criticata per aver venduto tali sistemi ad un prezzo non inferiore agli equivalenti con preinstallato Windows.

## Relazioni con altri sistemi DOS

FreeDOS è strettamente correlato a MS-DOS, nel senso che si cominciò a svilupparlo in seguito alla decisione di Microsoft di interrompere lo sviluppo di MS-DOS, di cui FreeDOS vuole essere un sostituto diretto.
FreeDOS ha dei miglioramenti su MS-DOS, che riguardano principalmente il supporto di standard e tecnologie che non esistevano quando la Microsoft interruppe il supporto a MS-DOS, come la localizzazione, TSR per il supporto APM, e ASPI. Inoltre, LBA e il file system FAT32 sono supportati dal kernel per default (a differenza delle versioni più recenti di MS-DOS, nelle quali il supporto non è stato implementato).

## Compatibilità

In FreeDOS si può utilizzare la maggior parte dei programmi scritti per MS-DOS e i suoi cloni. I formati di file eseguibile supportati sono
* Modalità reale
** COM a 16 bit
** EXE a 16 bit
* Modalità protetta
** 16-bit DPMI (prodotti, ad esempio, dai compilatori Borland)
** 32-bit DPMI tramite un DOS extender