3 ms·
http://en.wikipedia.org/wiki/Microkernel http://en.wikipedia.org/wiki/Microkernel This isn't even a microkernel. This would at best be an example of firmware o
by akiselev 13y ago
http://en.wikipedia.org/wiki/Microkernel http://en.wikipedia.org/wiki/Microkernel
This isn't even a microkernel. This would at best be an example of firmware on an Intel/AMD x86/x64 booted from Grub that prints to the console.
This code, however, doesn't do a single thing that other software expect even a microkernel to do (provide for basic scheduling, memory management if an MMU is available [which it is in this case], and IPC/FS).
- steveklabnik 13y agohttp://en.wikipedia.org/wiki/Exokernel http://en.wikipedia.org/wiki/Exokernel <- if you're playing the 'how big is a kernel' game.
- akiselev 13y agoAwesome link, thanks! The key part of any kernel can be expressed from this Exokernel definition: Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolithic kernels' implementation of abstractions. They have to, in some way shape or form, deal with conflicting requests for resources from their client applications (whether or not you have a concept of privileged or protected execution like on basic microcontrollers). I'd be curious to see how exokernels manage time unless each application implements its own scheduler and gives up control of execution.
- steveklabnik 13y agoThe generic answer to any question about exokernels is "In userspace." It also applies here: There's generally a userspace scheduler which programs can register themselves with. Or they can implement their own.