os

A x86 based kernel and user space environment written in C++.

APACHE-2.0 License

Stars
59

I wrote this as a side project between 1998 and 2000 to learn more about operating systems internals. The kernel supports the following features:

  • Preemptive multi-threading, including a fully preemptable kernel
  • Unified file cache and virtual memory system. File access is performed by memory mapping files into kernel space.
  • A hardware abstraction layer
  • Pluggable filesystem layer, including a FAT driver and virtual device filesystem.
  • Modular device driver framework including keyboard, console, and IDE drivers.

When I last worked on this it would boot to a shell that could launch command line executables. The development environment was BeOS and it used the older GCC ABI, so some bit rot has probably occurred since then.