FreeDOS

FreeDOS

Kommandozeile nach dem Booten
EntwicklerJim Hall & FreeDOS-Team
(DOS-C: Pasquale Villani)
Lizenz(en)

GNU General Public License
Akt. Version1.3[1][2] vom 20. Februar 2022
Akt. Vorabversion1.3-rc5[3] (14.12.2021)
Kernelmonolithisch (C und Assembler)
AbstammungDOS-C[4] (nur Kernel)
↳ FreeDOS (Distribution)
Architektur(en)IBM PC (x86 ab 8086/8088)
SonstigesSprache: Englisch / benutzerdefiniert

freedos.org

FreeDOS ist ein Betriebssystem für PCs mit dem Ziel, ein binärkompatibles IBM-PC-kompatibles DOS zu sein.

Die Entwicklung von FreeDOS findet innerhalb des FreeDOS-Projekts statt, in dem sich mehrere Einzelprojekte zusammengefunden haben, um eine freie und kompatible Alternative zum Betriebssystem MS-DOS zu schaffen, dessen Weiterentwicklung von seinem Hersteller Microsoft eingestellt wurde. Viele der Einzelprojekte verfolgen oder verfolgten ursprünglich das Ziel, Bestandteile wie beispielsweise den DOS-Kernel, Treiber- und Dienstprogramme von MS-DOS oder anderen DOS-Betriebssystemen durch Eigenentwicklungen mit vergleichbarer oder auch erweiterter Funktionalität zu ersetzen oder zu ergänzen. Das Gesamtprojekt hat dabei den Anspruch, zeitgemäße Erweiterungen und Anpassungen vorzunehmen und dabei trotzdem den Charakter von FreeDOS als einem MS-DOS-kompatiblen Betriebssystem zu erhalten.

Am 3. September 2006 wurde die Version 1.0 fertiggestellt. Die für April 2008 geplante Version 1.1[5] erschien schließlich am 2. Januar 2012. Version 1.2 enthält vor allem Detailverbesserungen wie neuere Versionen und zusätzliche Programme. Im Februar 2022 wurde Version 1.3 veröffentlicht.[6]

Unterschiede zu MS-DOS

FreeDOS ist ein quelloffenes und freies Betriebssystem, das der GPL-Lizenz unterliegt und aktiv weiterentwickelt wird. Darüber hinaus bietet es aber auch technische Vorteile gegenüber anderen DOS-Betriebssystemen. So unterstützt es unter anderem:

  • Logical Block Addressing (LBA) – ermöglicht den Zugriff auf Datenträger bis zu einer Größe von 2 TB und hebt damit die Beschränkung vieler DOS-Betriebssysteme (von entweder 32 MB, 504 MB, 2, 8 oder 128 GB) auf.
  • Partitionen mit FAT32-Dateisystem – ermöglicht wird hier nicht nur der Zugriff darauf, sondern auch das Booten von diesen Dateisystemen.
  • DOSLFN-Treiber – gestattet die Verwendung langer Dateinamen, wie sie für das FAT-Dateisystem auch unter Windows-9x-Betriebssystemen unterstützt werden (siehe auch VFAT).
  • Ultra-DMA-Treiber – dadurch werden schnelle Zugriffe auf IDE-Datenträger möglich. Die unter DOS-Betriebssystemen üblichen BIOS-Aufrufe über den Software-Interrupt 13h sind auf moderneren Rechnern zumeist sehr langsam, stellen andererseits aber das Funktionieren auf allen PC/AT-kompatiblen Rechnern sicher.
  • Unterstützung von Advanced Power Management (APM) – damit kann der Rechner Stromsparmodi nutzen, die ab den frühen 90er Jahren eingeführt wurden.

Geschichte

FreeDOS wurde als Alternative zu MS-DOS geschaffen. Das Projekt wurde am 29. Juni 1994 von Jim Hall initiiert[7], als Microsoft bekannt gab, dass der Vertrieb und die Produktunterstützung für MS-DOS eingestellt werden würden. Die Entwicklung startete fast von null, nur auf zwei schon vorhandene Projekte konnten die Entwickler aufbauen: DOS-C, dessen Kernel schließlich von FreeDOS übernommen wurde und einen sehr primitiven Speichermanager, der nach aufwendiger Überarbeitung zu EMM386.EXE wurde. Jim Hall steuerte Kommandozeilenprogramme bei. Die Entwicklung von FreeDOS verlief unabhängig von DR DOS, das 1996 als „OpenDOS“ ebenfalls unter einer quelloffenen Lizenz, jedoch eingeschränkt auf nicht-kommerziellen, privaten Gebrauch, veröffentlicht wurde. Diese ist jedoch nicht mit der für FreeDOS verwendeten GNU General Public License vereinbar, weswegen die Übertragung von Quelltext ausgeschlossen ist.

Ab der Version Beta 5 und 6 wurde FreeDOS zunehmend als hinreichend ausgereift bewertet und wurde diversen Computerzeitschriften, meist auf CD-ROM, beigelegt. Mit den Release-Candidates der Beta 9 Ende 2003 wurden die ersten PCs mit FreeDOS ausgeliefert, etwa von Dell und HP. Es gilt als moderneres DOS, da es bereits größere Festplatten und FAT32 unterstützt,[8] was den letzten Versionen von MS-DOS fehlte (ohne Windows, also vor Windows 95b/MS-DOS 7.10).

Maskottchen

Das Maskottchen von FreeDOS ist ein Fisch und trägt den Namen "Blinky".

Speicherverwaltung

FreeDOS umfasst eigene Treiber für XMS (HIMEM.EXE) und EMS (EMM386.EXE). EMM386 unterstützt mittlerweile auch DOS-Extender nach den Spezifikationen VCPI und DPMI zur Erweiterung des unter MS-DOS-Kompatiblen auf 1 MiB beschränkten, konventionellen Speicherraums. Statt HIMEM und EMM386 kann man auch die Alternativen HIMEMX (Ersatz für und Verbesserungen gegenüber dem originalen HIMEM), JEMM386 (leistungsfähiger Ersatz für EMM386) oder JEMMEX (kombiniert die Funktionalität von HIMEM und EMM386 in einem einzigen Programm) benutzen, die auf den beiden offiziellen FreeDOS-Treibern aufbauen.[9] In der FreeDOS-Distribution sind auch Ultra-DMA-Treiber und das Programm „LBAcache“ enthalten, das ähnlich wie SmartDrive von Microsoft Festplattendaten im XMS-Speicher puffert (siehe auch Festplattencache).

Der FreeCOM-Befehlszeileninterpreter sowie Teile des Kernels, Puffer, Treiber und TSRs lassen sich ähnlich wie in späten MS-DOS-Versionen in den UMB- beziehungsweise HMA-Speicher laden, wodurch bis zu 620 KiB des konventionellen DOS-Speichers (der 640 KiB umfasst) verfügbar gemacht werden können. Das ist zum Beispiel für alte Spiele und Anwendungen wichtig, da diese oft viel des knappen konventionellen Speichers benötigen.

Einschränkungen

Eine native Unterstützung für NTFS ist nicht geplant, allerdings gibt es Shareware-Treiber, die diese Aufgabe erfüllen.

Microsoft Windows ist überhaupt nicht (ab Windows 95), nur eingeschränkt (Windows 3.x) oder nur in sehr alten Versionen (Windows 1.x oder 2.x) nutzbar. Ähnliche Probleme wie mit neueren Windows-Versionen treten auch mit anderen Programmen auf, die viele undokumentierte Schnittstellen in MS-DOS benutzen. Außerdem befinden sich einige Programme in FreeDOS noch in der Beta-Phase, sind also nicht immer ausreichend auf Fehler geprüft und versagen möglicherweise den Dienst.

Verbreitung

Das System wird vornehmlich genutzt, damit Komplettsysteme nominell nicht ohne Betriebssystem ausgeliefert werden, so etwa von Dell für seine n-Serie. Außerdem wird FreeDOS gerne für bootbare Disketten verwendet, z. B. um Testprogramme mit vollem Hardwarezugriff zu starten.

Software-Kompatibilität

Neben neuen für FreeDOS entwickelten Programmen laufen fast alle Programme, die für MS-DOS geschrieben wurden, problemlos auch unter FreeDOS. Ausnahmen sind einzelne Programme, die eine MS-DOS-Versionsüberprüfung durchführen oder die von nicht standardisierten Verhaltensweisen oder undokumentierten Merkmalen von MS-DOS abhängen. Grundsätzlich unterstützt werden:

  • 16-Bit-Real-Mode-Programme: .com- und .exe-Dateien (DOS- oder MZ-executable genannt)
  • 16-Bit-DPMI – selten, vorwiegend (und nur optional) von Borland-Compilern generiert
  • 32-Bit-DPMI – viele DOS Extender wie DOS/4GW, PMODE/W, CauseWay, DOS/32A, DJGPP/GO32 etc.

Mit Hilfe des HX DOS Extender besteht zudem die Möglichkeit, einige für Windows (32-Bit) geschriebene PE-EXE-Dateien unter FreeDOS auszuführen.

Kompatibilität zu grafischen Benutzeroberflächen

Für MS-DOS geschriebene grafische Benutzeroberflächen (kurz „GUI“) sollten grundsätzlich auch auf FreeDOS lauffähig sein. Auch hier gilt, falls das betreffende GUI von standardisierten Verhaltensweisen abweicht oder undokumentierte Merkmale von MS-DOS verwendet, treten Probleme auf. Das betrifft beispielsweise Windows-3.x-Versionen (siehe unten).

Sehr gute Kompatibilität weist OpenGEM auf, eine grafische Benutzeroberfläche für MS-DOS-kompatible Betriebssysteme, die unter einer freien Lizenz steht. OpenGEM ist eine Weiterentwicklung der Mitte der 1980er Jahre populären Benutzeroberfläche GEM von Digital Research, die unter anderem durch den Atari ST weite Verbreitung fand und bereits damals in einer Version für den IBM PC verfügbar war.

Weitere mit FreeDOS kompatible grafische Benutzeroberflächen sind unter anderem ct-FRAME, PC/GEOS, oZone und SEAL.

Kompatibilität zu Microsoft Windows

Windows 1.0 bis 3.x

Die Windows-Versionen 1.0 bis 2.x stellen noch keine eigene Speicherverwaltung und keine eigenen Treiber für den Datenträgerzugriff bereit und lassen sich somit problemlos unter FreeDOS benutzen. Windows 3.x und Windows for Workgroups 3.x laufen bisher nur im Standard Mode. Zur Verwendung des Enhanced Mode ist ein neuerer FreeDOS-Kernel notwendig, der sich noch in der Test-Phase befindet.

Windows 95 bis Me

Abgesehen von der theoretischen Möglichkeit, Windows 4.0 (die grafische Bedienoberfläche von Windows 95) direkt unter FreeDOS zu starten, beinhalten alle DOS-basierten Windows-Versionen als vollwertige Betriebssysteme einen angepassten DOS-Unterbau in Form von MS-DOS 7.0/7.1 (Windows 95/98) bzw. MS-DOS 8.0 (Windows Me).

Da diese Windows-Versionen auf viele undokumentierte Funktionen des mitgelieferten MS-DOS zugreifen, sind sie nicht von FreeDOS aus startbar.

Multiboot

Ab Windows 95 ist ein eigenes, angepasstes MS-DOS im Lieferumfang. Um FreeDOS neben Windows 95 und allen Nachfolgeversionen betreiben zu können, ist daher ein Mechanismus erforderlich, der sich „Dualboot“ oder „Multiboot“ nennt. Windows 95 bringt generell bereits alle Voraussetzungen dazu mit – wenn es zum Beispiel auf einer Partition mit bereits vorhandenem DOS installiert werden soll, konfiguriert es automatisch ein geeignetes Bootmenü zur Auswahl des zu startenden Betriebssystems. Dieser Mechanismus funktioniert jedoch nur zusammen mit MS-DOS und PC-DOS.

Daher bietet die FreeDOS-Distribution das Programm MetaKern, das für DOS-basierte Windows-Versionen (Windows 95 bis Windows Me) ebenfalls ein Bootmenü zur Verfügung stellt.

Mit Windows-Versionen, die von Windows NT abstammen und daher NTLDR verwenden, wird FreeDOS als „unbekanntes Betriebssystem“ erkannt und kann auch gestartet werden, im Fall von Windows NT bis einschließlich Version 4.0 jedoch nur, wenn FreeDOS auf einer FAT16-Partition installiert ist. Alternativ kann man die Datei BOOT.INI, bei ReactOS FREELDR.INI, manuell anpassen.

Mit Windows Vista wurde ein neues Gebilde mit dem Namen „Boot Configuration Data Store“ eingeführt (siehe auch Boot Configuration Data), das nur über die Befehlszeilenanwendung BCDEDIT.EXE geändert werden kann.

FreeDOS-Distribution

Ab Version 1.0 gibt es eine offizielle FreeDOS-Distribution auf CD, die als ISO-Abbild aus dem Internet heruntergeladen werden kann. Mit der bootfähigen Live-CD, mit der man ohne Installation FreeDOS einfach ausprobieren kann, ist auch eine Installation auf die Festplatte möglich. Enthalten sind neben den Systemdateien von FreeDOS und der grafischen Benutzeroberfläche OpenGEM auch eine Reihe von nützlichen Programmen, von denen einige hier aufgeführt sind:

  • Mpxplay, Audio-Player mit Unterstützung für Ogg Vorbis, MP3, WAVE und andere Formate
  • Arachne Web-Browser für DOS, grafischer Webbrowser, der sich über einen eigenen TCP/IP-Stack einwählt
  • CuteMouse, ein DOS-Maustreiber, der auch das in fast allen neueren Mäusen vorhandene Mausrad unterstützt
  • FreeDOS DEFRAG, erstes frei verfügbares DOS-Programm zur Defragmentierung von (DOS-)Datenträgern (in neueren Versionen auch FAT32)

Da die Distributions-CD nicht ständig auf dem aktuellen Stand gehalten wird, kann man sich aktualisierte Versionen der einzelnen Programme auch separat herunterladen. Links dazu finden sich jeweils auf der FreeDOS-Website.

Versionsgeschichte

VersionErscheinungsdatumKommentar
29. Juni 1994Erste Erwähnung von PD-DOS auf comp.os.msdos.apps.[10]
25. Juli 1994Umbenennung von PD-DOS in Free-DOS.[11]
Ältere Version; nicht mehr unterstützt: Alpha 116. September 1994Die erste Alpha-Version von Free-DOS.
Ältere Version; nicht mehr unterstützt: Alpha 2Dezember 1994
Ältere Version; nicht mehr unterstützt: Alpha 3Januar 1995
Ältere Version; nicht mehr unterstützt: Alpha 4Juni 1995
Januar 1996Umbenennung in FreeDOS (ohne Bindestrich); Pat Villani veröffentlicht sein Buch „FreeDOS Kernel.“[12]
Ältere Version; nicht mehr unterstützt: Alpha 510. August 1996
Ältere Version; nicht mehr unterstützt: Alpha 6November 1997
Ältere Version; nicht mehr unterstützt: Beta 125. März 1998Die erste Beta-Version von FreeDOS, Codename „Orlando.“
Ältere Version; nicht mehr unterstützt: Beta 228. Oktober 1998Codename „Marvin.“
Ältere Version; nicht mehr unterstützt: Beta 321. April 1999Codename „Ventura.“
Ältere Version; nicht mehr unterstützt: Beta 49. April 2000Die vierte Beta-Version wurde vorab bereits im Februar vom italienischen Computermagazin DEV veröffentlicht. Codename „Lemur.“
Ältere Version; nicht mehr unterstützt: Beta 510. August 2000Codename „Lara.“ Diese Version war bereits mehreren Computer-Zeitschriften beigelegt. Die Zeitschrift „Elektronik“ bezeichnete diese Beta-Version bereits als „ausgereifte Beta.“[13]
Ältere Version; nicht mehr unterstützt: Beta 618. März 2001Codename „Midnite.“ Lag u. a. den c’t-Ausgaben 12/2001 und 14/2001 bei.
Ältere Version; nicht mehr unterstützt: Beta 77. September 2001Codename „Spears.“
Ältere Version; nicht mehr unterstützt: Beta 87. April 2002Codename „Methusalem.“
Ältere Version; nicht mehr unterstützt: Beta 9 RC1Juli 2003erste Vorschau (englisch Release Candidate)
Ältere Version; nicht mehr unterstützt: Beta 9 RC223. August 2003Die ersten Vor-Installationen (englisch Pre-Installations) erscheinen auf dem Markt.
Ältere Version; nicht mehr unterstützt: Beta 9 RC327. September 2003Ab Januar 2004 waren einige Computer-Modelle von Dell mit FreeDOS erhältlich.[14]
Ältere Version; nicht mehr unterstützt: Beta 9 RC45. Februar 2004
Ältere Version; nicht mehr unterstützt: Beta 9 RC520. März 2004
Ältere Version; nicht mehr unterstützt: Beta 928. September 2004
Ältere Version; nicht mehr unterstützt: Beta 9 SR130. November 2004SR1 steht hier für das erste Service Release, also eine (erste) Wartungsversion. Ab Dezember wurden auch von HP Computer mit FreeDOS ausgeliefert.
Ältere Version; nicht mehr unterstützt: Beta 9 SR230. November 2005nach einem Jahr wurde die zweite Wartungsversion veröffentlicht
Ältere Version; nicht mehr unterstützt: 1.03. September 2006
Ältere Version; nicht mehr unterstützt: 1.12. Januar 2012Bereits im Juli 2011 waren erste Vorabversionen von FreeDOS 1.1 aufgetaucht, die jedoch nicht offiziell waren.
Ältere Version; nicht mehr unterstützt: 1.2 RC131. Oktober 2016
Ältere Version; nicht mehr unterstützt: 1.2 RC224. November 2016
Ältere Version; nicht mehr unterstützt: 1.225. Dezember 2016
Ältere Version; nicht mehr unterstützt: 1.3 RC1[15]30. Januar 2019
Ältere Version; nicht mehr unterstützt: 1.3 RC2[16]3. Dezember 2019
Ältere Version; nicht mehr unterstützt: 1.3 RC3[17]31. Mai 2020
Ältere Version; nicht mehr unterstützt: 1.3 RC4[18]30. April 2021
Ältere Version; nicht mehr unterstützt: 1.3 RC5[3]14. Dezember 2021
Aktuelle Version: 1.3[19]20. Februar 2022
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version
Wikibooks: FreeDOS-Kompendium – Lern- und Lehrmaterialien
Commons: FreeDOS – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

  1. FreeDOS 1.3: Release Build Environment (RBE) - 3rd Edition, report file. 20. Februar 2022.
  2. FreeDOS officially releases the FreeDOS 1.3 distribution (20 February 2022). 20. Februar 2022 (abgerufen am 8. August 2023).
  3. a b https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc5/readme.txt (englisch)
  4. SourceForge: DOS-C: an MS-DOS compatible OS
  5. Jim Hall. freedos.org
  6. Dirk Knop: Betriebssystem-Oldtimer: FreeDOS 1.3 mit neuen Programmen und Features. In: Heise online. 22. Februar 2022. Abgerufen am 23. Februar 2022.
  7. FreeDOS turns 25 years old: An origin story 28. Juni 2019, abgerufen am 4. Juli 2019
  8. Alexandra Kleijn: 15 Jahre FreeDOS. In: Heise online. 29. Juni 2009. Abgerufen am 26. Dezember 2016.
  9. JEMMEX. (Memento vom 6. Februar 2016 im Internet Archive) FreeDOS Docs; abgerufen am 6. Feb. 2016
  10. comp.os.msdos.apps – PD-DOS project *announcement* (englisch), James Hall
  11. comp.os.msdos.apps – Free-DOS project (englisch), James Hall
  12. Pat Villani: FreeDOS Kernel. An MS-DOS Emulator for Platform Independence & Embedded System Development. Taylor & Francis, 1996, ISBN 978-0-87930-436-2 (englisch).
  13. https://www.freedos.org/archive/2000/elektronik/2000_11_28_elektronik_freedos_deckblatt.jpg
  14. Dell Offers FreeDOS With New PCs (englisch)
  15. https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc1 (englisch)
  16. https://ww.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc2 (englisch)
  17. https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc3 (englisch)
  18. https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/previews/1.3-rc4/readme.txt (englisch)
  19. https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/official/readme.txt (englisch)

Auf dieser Seite verwendete Medien

Blinky.svg
Autor/Urheber: Bas Snabilie for the FreeDOS Project., Lizenz: CC BY 2.5
Blinky, das Maskottchen von FreeDOS
FreeDOS 1.1 screenshot.png
Autor/Urheber: Keφr, Lizenz: GPL
Screenshot of a fresh install of FreeDOS 1.1.
FreeDOS logo4 2010.svg
Autor/Urheber: Bas Snabilie, Jim Hall (FreeDOS project), Lizenz: CC BY 2.5
The logo of the FreeDOS project since 2010, featuring the mascot Blinky