FreeDOS は、PC/AT互換機 向けの自由ソフトウェア オペレーティングシステム (OS) である。レガシーソフトウェア の実行や組み込みシステム のサポートのための、自由で完全なMS-DOS 互換環境を提供することを目的としている[ 5] 。FreeDOSは、フロッピーディスク またはUSBメモリ から起動でき[ 6] [ 7] 、仮想化 環境やx86 エミュレーション 環境でも快適に動作するよう設計されている[ 8] 。
FreeDOSプロジェクトは1994年 にジム・ホール(プログラマ) (英語版 ) によって開始され、最初の安定版は2006年 にリリースされた。ほとんどのMS-DOSバージョンとは異なり[ 9] 、FreeDOSはGNU General Public License (GPL)に基づいてライセンス された自由ソフトウェア で構成されている[ 10] 。ただし、FreeDOSプロジェクトの一部を構成する他のパッケージには、GPL以外のソフトウェアも含まれており、例えば、修正MITライセンス で配布されている4DOS (英語版 ) など、デジタル保存 する価値があると判断されたソフトウェアが含まれている[ 11] 。
多くのハードウェア をサポートしており、1981年発売の旧式IBM PC をはじめ、最新のIntel Core i7 CPUや各種組み込み機器上でも動作する。MS-DOSと同様に、FreeDOSはカーネル を介したディスク およびファイルシステム へのアクセスおよび、簡易メモリ管理 機能を提供している。GUI は搭載されていないが、OpenGEM がGUIとして推奨されている。MS-DOS同様、フロッピーディスク またはハードディスク から起動することができ、ROM からの起動もサポートされている。MS-DOSとは異なり、CD-ROM からも起動できる。FreeDOSはGNU GPL のもとでライセンスされているオープンソースソフトウェア であり、誰でもロイヤリティを払うことなしに自由に独自のディストリビューションを作成し、配布することができる。
FreeDOSプロジェクトは、マイクロソフト がMS-DOSの販売中止を発表した1994年 6月26日 に、ジム・ホール によって開始された。彼はオープンソースの代替DOSを開発する声明を発表し、数週間のうちにパット・ヴィリアーニ("patv", 互換カーネル「DOS-C」の作者。1954-2011)やティム・ノーマン他が参加した。その後、彼ら自身が書いたコードや当時他から利用可能だったコードを集め、カーネル本体やシェル (COMMAND.COM )、基本的なユーティリティなどが作成された。バージョン1.0 は2006年 9月3日 、バージョン1.3は2022年 2月20日 にリリースされた。
そのままでの利用者は少ないが、ヒューレット・パッカード のビジネス向けPCで「OS無しモデル」を選択すると、動作確認用としてプリインストールされる、AsusのOS無しモデルでも同様に動作確認用にプリインストールされるなど、ホビーユースや古い機種の維持以外にも利用されている。
FreeDOSの公式ウェブサイト からは、リリースやソースファイルなど、全てのプロジェクト関連ファイルがダウンロードできる。
FreeDOSは、MS-DOSと互換性をもっており、従来MS-DOS上で動いていた旧式のMicrosoft Windows であるWindows 1.0 /Windows 2.0 /Windows 3.x システムもFreeDOS上で動作する。 [要出典 ]
FreeDOSはいくつかの点でMS-DOSよりも改善されており、例えば国際化や省電力管理、統合化されたASPI など、マイクロソフトがMS-DOSのサポートを打ち切った当時には存在していなかった新しい標準規格や技術に対応している。またマイクロソフトからスタンドアローンで出ているMS-DOS (バージョン6.22まで)では公式にサポートされていなかったLBA とFAT32 ファイルシステム (FAT32からの起動も含む) もサポートしている。
FreeDOSを使用するために必要な最低要件は、640kBのメモリを搭載したPC/XT 互換機である[ 12] 。FreeDOSにバンドルされていないプログラムは、更に追加のシステムリソースを必要とする場合がある。
MS-DOS用に書かれたほとんどのアプリケーションはFreeDOSでも動作する。実行ファイル 形式としては、以下のものがサポートされている:
またHX DOS Extenderを使用することにより、多くの Win32コンソールアプリケーションや、QEMU やBochs などいくつかのGUI プログラムも FreeDOS 上で動作する。
Windows 1.0 から 3.xx まで[ 編集 ] FreeDOS上ではWindows 1.0および2.0 がそのまま動作する。しかしi386 プロセッサをサポートしたWindows 3.xリリースを「386エンハンスド・モード」で走らせることはできない。これはFreeDOSのメモリマネージャが、非公開のGlobal EMM Import Specificationに対応していないためである[ 13] 。Windows 3.0はリアルモードあるいはスタンダード・モードで走らせることができ、それ以降のWindows 3.xリリースはスタンダード・モードでのみ動作する。Windows for Workgroups 3.11ではスタンダード・モードのサポートが打ち切られたためそのままでは FreeDOS上で動かすことはできないが、FreeDOS 用のhimem.exeおよびemm386.exeをそれぞれWindowsに付属しているhimem.sysとemm386.exe に置き換えれば動かすことができる[ 注釈 1] 。
Windows 9x および Windows Me[ 編集 ] Windows 95 、98 およびMe はDOSベースのWindowsだが、これらのOSはMS-DOSに似てはいるものの独自のブートローダ 上で動作し、Windowsシステムと一体化している。そのためWindows 95、98およびMEをFreeDOS上で動作させることはできない。しかしこれらのシステムとは独立にFreeDOSをインストールすることはでき、その場合はFreeDOS付属のMETAKERNプログラムや、LILO やGRUB などのブートマネージャ を利用する。
Windows NT系 のオペレーティングシステム(Windows 2000 、XP および2003 )はMS-DOS をシステムの核として使っていない。これらのシステムではMS-DOSおよび以前のバージョンのWindowsで使われていたFAT ファイルシステムを使うこともできるが、今ではこれらのシステムは既定のファイルシステムとしてNTFS を使用している。これらのシステムがFATを使っている場合、FreeDOSは同じパーティション上で共存できるが、NTFSを使っている場合は別々のパーティションにしなければならない。この場合、FreeDOSカーネル はWindows NT Boot Loader 設定ファイルのboot.iniか、あるいはReactOS のfreeldr.iniを設定することで起動できる。
FreeDOS はおもに英語圏で開発されているため、日本語表示に必要なソフトウェアを含んでいない。FreeDOS/Vページ では、FreeDOSを改造して日本語を扱う方法が紹介されている。ただし、2006年6月11日以降、事実上メンテナンスが停止している。
^ 例外としてWindows for Workgroups 3.11はデバッグモードをサポートしておりこれをFreeDOS上でも動かすことができるが、このモードは以前のWindows標準モードよりもさらに制限されたものになっている。