0.0.1
Pre-release
Pre-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 thesysenter
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.