Skip to content
/ karg Public

A POSIX-compliant RISC-V OS kernel written in C23, featuring preemptive priority scheduling, virtual memory, modular device drivers, VFS and IPC, with support for formats such as ELF and Devicetree.

License

Notifications You must be signed in to change notification settings

carg-os/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-compliant RISC-V OS kernel written in C23, featuring preemptive priority scheduling, virtual memory, modular device drivers, VFS and IPC, with support for formats such as ELF and Devicetree.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages