Projects / FreeNOS


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

Recent releases

  •  06 Sep 2009 00:24

    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.

    •  10 Jul 2009 19:58

      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.

      •  03 Jul 2009 15:24

        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.

        •  13 Jun 2009 10:38

          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.

          Recent comments

          08 Aug 2009 08:13 cbijlsma

          Our bugtracker has moved to Google Code as well. Please add new bugs to this list from now on. Also see

          03 Jul 2009 15:19 nieklinn88

          Our subversion repository has moved to Google Code. Please checkout a fresh copy if you have a checkout from Also see


          Project Spotlight


          A Fluent OpenStack client API for Java.


          Project Spotlight

          TurnKey TWiki Appliance

          A TWiki appliance that is easy to use and lightweight.