>From 9856f46cedb32e03802730280e69898fec3f55d2 Mon Sep 17 00:00:00 2001 From: Joshua Branson Date: Sat, 10 Nov 2018 11:09:02 -0500 Subject: [PATCH] An image explaining microkernels. --- microkernel.mdwn | 12 +- microkernel/OS-structure.svg | 557 +++++++++++++++++++++++++++++++---- 2 files changed, 502 insertions(+), 67 deletions(-) diff --git a/microkernel.mdwn b/microkernel.mdwn index 46a2ca38..a9e2cd1e 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -20,16 +20,20 @@ maximize the flexibility of implementation (by imposing minimal [[policy]]) while allowing the efficient implementation of the remainder of the system. - - To learn about microkernels, it can be helpful to compare microkernels with monolithic kernels, which the following image does. You can see that the monolithic kernels (linux), have more things running inside the kernel mode, but microkernels generally only have IPC, virtual memory, and scheduling inside the kernel. Some microkernels can actually have the scheduler in userspace! +Also notice from the image the "POSIX call" and "RPC calls" layer. On the Hurd, this is glibc. + + + [[!img OS-structure.svg]] The idea of a microkernel as explained above was first explored diff --git a/microkernel/OS-structure.svg b/microkernel/OS-structure.svg index 6d362351..94075eea 100644 --- a/microkernel/OS-structure.svg +++ b/microkernel/OS-structure.svg @@ -1,86 +1,517 @@ - - - - + + + + + - - + + - - + + - - + + - + image/svg+xml - + - - - - - - - - + + + + + + + + - VFS - IPC, File System - Scheduler, Virtual Memory - Device Drivers, Dispatcher, ... + VFS + IPC, File System + Scheduler, Virtual Memory + Device Drivers, Dispatcher, ... - - - Basic IPC, Virtual Memory, Scheduling + + + Basic IPC, Virtual Memory, Scheduling - - - - UNIXServer + + + + UNIXServer - - - DeviceDriver + + + DeviceDriver - - - FileServer + + + FileServer - - - ApplicationIPC + + + ApplicationIPC - - - - + + + + - - System Call - Application - - - Hardware + + System Call + Application + + + Hardware - - - Hardware + + + Hardware - - usermode - kernelmode - - - - + + usermode + kernelmode + + + + - Monolithic Kernelbased Operating System - Microkernelbased Operating System + Monolithic Kernelbased Operating System + Microkernelbased Operating System + + gglib POSIX call RPC calls - \ No newline at end of file + -- 2.19.1