Captain, we’ve encountered another one. FreeNOS is a microkernel-based operating system written 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, and PCI host controllers. FreeNOS has an experimental implementation of several filesystems, such as the virtual file system, procfs, tmpfs, and ext2fs. Current
application libraries include libposix, libc, libteken (terminal emulation), and libexec (executable formats). All source code has been documented with Doxygen tags.”
As the headline so eloquently revealed, version 0.0.3 of FreeNOS has been released, and it comes with the following improvements – among other things:
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.
You can download this release from the project’s download page. Even though many question the usefulness of such projects, I’m a proponent for as many of them as possible. It means people are still interested in operating system design, even the really nitty-gritty low-level stuff.
No comments? How sad.
I took a quick look at the SVN repo and was surprised to see the kernel is written in C++. Not only that, but the code is very clean and readable. As a result of using STL classes for stuff like lists & queues the entire kernel code base appears to be tiny: bear in mind that the large portion of any kernels time is spent creating, modifying and iterating lists and arrays!
So, a microkernel written in C++…that could just alienate almost every OS developer on the planet. Good for them!