FreeDOS-32

Overview

FreeDOS-32 (or fd32 for short) is an open source operating system under development, primarily targeted towards embedded systems and real-time applications. Currently, it is a single-developer hobby project to have fun and learn about operating system internals.

Some of its key features are:

Resources

As a whole operating system, the FreeDOS-32 is split in multiple sub-projects. The following code resources are available.

The kernel
https://github.com/salvois/kernel

The kernel is the core of fd32. It provides functionality to run system services and applications as threads, allowing them to communicate via messages.

It contains the boot code, physical and virtual memory management and the multi-processor thread scheduler, controlling which thread should be executed on a CPU at any given time.

This project is the prerequisite to all other operating system functionality, but is currently incomplete. It is under active but slow development. Further information is provided in the included documentation.

LEAN file system
http://freedos-32.sourceforge.net/lean/

LEAN (backronym for Lean yet Effective Allocation and Naming, a play on the word FAT) is a free and simple file system created as part of the FreeDOS-32 project to provide an alternative to the proprietary -and partly patented- Microsoft FAT file system. It was originally written to test FreeDOS-32 in a multi-file-system setup, pairing the already developed FAT driver.

LEAN aims to be the simplest file system providing the full set of most common and useful file system features: big volumes, extents, large files, Unicode long file names, extended attributes, POSIX compatibility. Any design choices have gone in the direction of the greatest simplicity rather than performance. LEAN is designed for use even on platforms with limited memory and CPU power.

This project provides the file system driver, utility programs to create (format) and check LEAN volumes, and a file-manager-like application that serves as a proof of concept.

Repository of old code
https://sourceforge.net/p/freedos-32/code/

The historical Subversion repository on SourceForge contains all old code developed for the FreeDOS-32 project. Here you can find the kernel and the modules up to the never released version 0.0.6.

This macro-project contains a kernel built upon the OSLib library, several modules including floppy disk driver, ATA disk driver, FAT and ISO-9660 (CD-ROM) file systems, keyboard and mice drivers, the DPMI module aimed at running DOS Protected Mode Interface programs and other modules, all contributed by a handful of passionate developers. The "experimental" branch contains most of the newest code, that never ended in a release.