Skip to content

0.0.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@salvois salvois released this 04 Mar 15:26
· 24 commits to master since this release

Initial release of the kernel

This is far from being a fully functional kernel. The following functionality
is implemented:

  • Booting from a Multiboot compliant boot loader such as GRUB Legacy or GRUB 2.
  • Allocating physical memory and supporting address spaces through virtual
    memory paging (not to be confused with swapping).
  • Loading simple executables in ELF format and creating user mode tasks for them.
  • Scheduling threads on the logical processors of the system (SMP support),
    using hard priorities for real-time preemption and variable-length
    high-resolution time slices to implement nice levels within the same
    priority level.
  • Switching between user mode and kernel mode (ring 3 vs. ring 0) by
    interrupts and the sysenter instruction.

Notably, interprocess communication through message passing is not yet
available and is under development, and kernel services provided through
kernel threads are not yet implemented (the former being a prerequisite
of the latter).

See the included README.asciidoc for more information.