Skip to content
/ karg Public
forked from carg-os/karg

A POSIX RISC-V OS kernel written in C23, featuring preemptive priority scheduling, virtual memory, tiered allocators, time management, modular device drivers, with support for ELF and VirtIO-GPU.

License

Notifications You must be signed in to change notification settings

Cynaptic/karg

 
 

Repository files navigation

Karg

License: GPL v3

Karg is the kernel of CargOS. It abstracts the low-level interfaces of devices and implements the core functionalities of the system. Essential features such as process management, I/O management and file system are all provided by it.

FAQ

Why not Rust?

We tried, initially, but encountered numerous quirks and inconveniences. For instance, it lacks support for essential low-level structures like anonymous unions, contains numerous nightly features, and adheres to conventions that aren't appropriate for a single-core kernel. Additionally, the requirements of its standard traits are way too strict. Despite these issues, Rust remains a viable option for user space programs.

About

A POSIX RISC-V OS kernel written in C23, featuring preemptive priority scheduling, virtual memory, tiered allocators, time management, modular device drivers, with support for ELF and VirtIO-GPU.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 92.0%
  • Assembly 3.9%
  • CMake 3.5%
  • Makefile 0.6%