|
|
|
|
|
by wmf
5556 days ago
|
|
Yeah, that's definitely not how I would have explained it. I would say that a traditional OS provides high-level abstractions (think of system calls like open() or fork() — they're very complex compared to the underlying hardware) while the exokernel provides very low-level primitives like memory pages, disk blocks, CPU time, etc. Throughout history, people have discovered that their OS doesn't provide the right abstractions to allow some apps to take advantage of the hardware's performance potential. The traditional solution was to add features to the OS (Web server not fast enough? sendfile() to the rescue!), but the exokernel proposes the radical alternative of providing simpler, maximally flexible abstractions and letting apps (or libOSes) implement whatever behavior they want. |
|