FreeDOS

Lịch sử

Dự án FreeDOS bắt đầu ngày 29/6/1994, Sau khi Microsoft thông báo sẽ không còn bán hoặc hỗ trợ MS-DOS. Jim Hall vào thời điểm đó là sinh viên  đã đăng một tuyên bố đề xuất sự phát triển của một thay thế mã nguồn mở. Trong vòng vài tuần, các nhà lập trình khác bao gồm Pat Villani và Tim Norman tham gia dự án. Giữa họ, một kernel (bởi Villani), trình thông dịch lệnh COMMAND.COM (bởi Villani và Norman), và các tiện ích cốt lõi (bởi Hall) được tạo ra bằng cách tổng hợp các mã mà họ đã viết hoặc tìm thấy có sẵn. Có nhiều bản tiền phát hành của FreeDOS trước khi FreeDOS 1.0 được phát hành. GNU/DOS, Một phân phối không chính thức của FreeDOS, đã bị ngưng sau khi phiên bản 1.0 được phát hành.

Phân phối

FreeDOS 1.1, phát hành ngày 2/1/2012, có sẵn cho tải về như một ảnh đĩa CD-ROM: một đĩa cài đặt giới hạn chỉ bao gồm kernel và các ứng dụng cơ bản, và một đĩa đầy đủ chưa nhiều ứng dụng hơn (games, mạng, lập trình...), không có sẵn vào tháng 11/2011 nhưng có trong phiên bản mới hơn, đầy đủ hơn 1,2. Phiên bản truyền thống 1.0 (2006) bao gồm 2 đĩa CD, Một trong số đó là một đĩa CD cài đặt dành cho người sử dụng thường xuyên và một đĩa khác có đĩa CD lớn hơn 49MB và cũng lưu trữ mã nguồn của dự án.

Phần cứng

Bản thân FreeDOS yêu cầu máy PC/XT với ít nhất 640kB bộ nhớ. Các chương trình không đi kèm với FreeDOS thường yêu cầu tài nguyên hệ thống bổ sung.

MS-DOS và Win32 console

FreeDOS hầu như tương thích với MS-DOS. Nó hỗ trợ các file thực thi COM, các file thực thi DOS tiêu chuẩn và các file thực thi 16-bit DPMI của Borland. ICũng có thể chạy các file thực thi 32-bit DPMI bằng trình mở rộng của DOS. Hệ điều hành có một số cải tiến liên quan đến MS-DOS, chủ yếu liên quan đến hỗ trợ các tiêu chuẩn và công nghệ mới hơn mà không tồn tại khi Microsoft chấm dứt hỗ trợ cho MS-DOS, chẳng hạn như quốc tế hoá, hoặc Advanced Power Management TSRs. Hơn nữa, với việc sử dụng HX DOS Extender, nhiều ứng dụng console Win32 console hoạt động đúng trong FreeDOS, cũng như một số chương trình GUI hiếm, như QEMU và Bochs.

Windows dựa trên nền DOS

FreeDOS có thể chạy các phiên bản Microsoft Windows 1.0 và 2.0. Các bản phát hành Windows 3.x đã hỗ trợ các bộ vi xử lý i386, không thể chạy đầy đủ trên 386 Enhanced Mode trừ một phần trong hạt nhân FreeDOS 2037.
Các vấn đề chạy Windows là kết quả từ những nỗ lực của Microsoft để ngăn chặn các sản phẩm của họ chạy trên các triển khai không phải của Microsoft DOS.
Windows 95, 98 và ME Sử dụng một phiên bản rút gọn của MS-DOS. FreeDOS  không thể được sử dụng như một sự thay thế vì các giao diện không có giấy tờ giữa MS-DOS 7.0-8.0 và Windows 4.xx không được giả lập bởi FreeDOS; Tuy nhiên, nó có thể được cài đặt và sử dụng bên cạnh các hệ thống này bằng cách sử dụng một chương trình quản lý khởi động, chẳng hạn như BOOTMGR hay METAKERN bên trong FreeDOS.

Windows NT và ReactOS

Những hệ điều hành dựa trên Windows NT, bao gồm Windows 2000, XP, Vista và 7 cho desktop, và Windows Server 2003, 2008 và 2008 R2 cho máy chủ, không sử dụng MS-DOS như một thành phần cốt lõi của hệ thống. Các hệ thống này có thể sử dụng các hệ thống file FAT, được dùng bởi MS-DOS và các phiên bản Windows trước đó; Tuy nhiên, chúng thường sử dụng NTFS (New Technology File System)  theo mặc định vì lý do bảo mật và các lý do khác. FreeDOS có thể cùng tồn tại trên các hệ thống này trên một phân vùng riêng biệt hoặc trên cùng một phân vùng trên hệ thống FAT.  Hạt nhân FreeDOS có thể được khởi động bằng cách thêm nó vào tệp tin cấu hình NT Boot Loader của Windows 2000 hay XP, boot.ini, hay freeldr.ini tương đương trên ReactOS.

File systems

FAT32 được hỗ trợ đầy đủ và được ưu tiên định dạng cho thiết bị khởi động. Tùy thuộc vào BIOS được dùng, có thể lên đến 4 ổ cứng LBA với 128 GB, hoặc 2 TB, dung lượng được hỗ trợ. Đã có rất ít thử nghiệm với các ổ đĩa lớn, và một số BIOS hỗ trợ LBA nhưng có lỗi trên đĩa lớn hơn 32 GB; một driver giống như OnTrack hay EZ-Drive giải quyết vấn đề này. FreeDOS cũng có thể dùng với trình điều khiển có tên là LFNDOS để cho phép hỗ trợ cho tên file dài theo kiểu Windows 95, Nhưng hầu hết các chương trình cũ trước Win95 không hỗ trợ LFN ngay cả với trình điều khiển được nạp trừ khi chúng đã được biên dịch lại. Không có kế hoạch hỗ trợ cho NTFS, ext2 hay exFAT,nhưng có một số trình điều khiển bên thứ ba bên ngoài có sẵn cho mục đích đó. Để truy cập phân vùng ext2fs, LTOOLS (cbảnn sao của Mtools) đôi khi có thể được sử dụng để sao chép dữ liệu đến và từ các ổ đĩa ext2fs.