-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Labels
Description
Interestingly, Resea Kernel is used to be written in Rust. However, it soon be rewrote in C because of the following drawbacks:
- It tends to consume too much kernel stack (especially core::fmt).
- It implicitly employs panics to prevent undefined behaviors.
- libcore is too large for the microkernel (occupies approximately 30% of .text).
- Writing intrusive data structures (e.g., LinkedList, SpinLock) is painful.
I do think C is better for a minimalistic microkernels as of this writing, that said, I also believe that the problems might be addressed someday.