FreeNOS is an experimental microkernel operating system for learning purposes. The system is very experimental, yet it currently supports virtual memory, simple task scheduling, and interprocess communication (IPC). It currently contains support for a few devices, including VGA, keyboard, i8250 serial, ATA drives, and PCI controllers. FreeNOS has an experimental implementation of several filesystems, such as the virtual file system, procfs, tmpfs, linnfs, and ext2fs. Current application libraries include libposix, libc, libteken (terminal emulation), and libexec (executable formats). All source code has been documented with Doxygen tags. It has been tested on recent versions of Qemu, VMWare, VirtualBox, Bochs, and bare hardware.
|Operating Systems||Linux FreeBSD|
|Implementation||C++ C Python SCons|
Release Notes: This release has new features, enhancements, and bugfixes. Shared/private memory mappings are supported in MemoryServer. Device(Server) classes were added for easy driver programming (which abstracts the IPC layer). ATA host controllers are supported (for read-only drive sectors). New devices include a VGA device in /dev/vga0. a keyboard device in /dev/keyboard0, an RTC Time device in /dev/time0, a PCI filesystem implementation in /dev/pci, and a GRUB filesystem implementation in /dev/grub. Extra Doxygen documentation was added.
Release Notes: This version includes a new filesystem written from scratch: LinnFS. It is roughly based on the Extended FileSystem. It is now used as the root filesystem on the LiveCD instead of Ext2. Additionally, the notion of current directory has been implemented. Finally, this release has also been tested on the latest Nexenta distribution.
Release Notes: This version contains bugfixes, enhancements, and new minor features. The system can now be compiled on many recent host platforms, including various Linux distributions, BSD systems, and OpenSolaris. Several new functions were added to the libraries including fork(), which is now used to fork server processes into the background. A working URI parser was added to libparse. The Ext2Create program was added to generate new Extended 2 FileSystems as a regular user, and replaces the external dependency on genext2fs.
Release Notes: This is the first release of FreeNOS. Currently it is packaged in a simple bootable ISO. It has experimental support for filesystems (ext2, tmpfs, procfs, vfs), devices (serial, VGA terminal, PCI host), libraries (libc, libposix, libexec, libparse, libteken), and a few example programs including /bin/sh.