How DurgX is built
A small kernel with almost everything else running as limited programs.
A computer's processor can run code at two privilege levels. Ring 0 has full power over the hardware. Ring 3 is limited. A normal operating system runs a lot of code in Ring 0. DurgX runs as little as possible there.
the layers
Ring 3 (limited power)
+----------+ +---------+ +-------------+ +-----------+
| Your apps| | Drivers | | File system | | Network |
+----------+ +---------+ +-------------+ +-----------+
---------- system calls and messages ----------
Ring 0 (full power): the DurgX kernel
+-----------+ +--------+ +-----------+ +----------+ +------------+ +-------+
|Permissions| | Memory | | Scheduler | | Messages | | Interrupts | | Clock |
+-----------+ +--------+ +-----------+ +----------+ +------------+ +-------+Why this matters
- A crash stays small. A faulty driver is just one limited program. It can be restarted without touching the rest.
- Less to attack. Fewer lines of code run with full power, so there is less to break into and less to audit.
- Clear boundaries. Every program lives in its own memory space. It can only reach what it was explicitly given.
Mechanism in the kernel, decisions outside
The kernel provides the machinery, such as switching between programs. Decisions such as which program deserves more time are made by a separate program called the root scheduler. You can change that policy without changing the kernel.
What does not run in the kernel
File systems, network stacks, GPU drivers, disk queues, the Linux compatibility layer, and anything that parses data from outside, such as loading program files. All of these are ordinary programs.