Linked by Thom Holwerda on Mon 21st Nov 2011 11:25 UTC, submitted by moondevil
OSNews, Generic OSes You all know MINIX - a microkernel operating system project led by Andrew Tanenbaum. The French Linux magazine LinuxFr.org has an interview with Andrew Tanenbaum about MINIX' current state and future. There's some interesting stuff in there.
Thread beginning with comment 497851
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: MicroKernel's
by galvanash on Mon 21st Nov 2011 21:34 UTC in reply to "RE[4]: MicroKernel's"
galvanash
Member since:
2006-01-25

To your 3rd point: I never saw a definition that says, all "modules" attached to a micro-kernel have to run in user mode.


You are confusing the issue. In simple laymen's terms a microkernel is simply a kernel which implements only the minimum needed functionality needed to build an OS on top of it. Generally, this includes low-level memory management and IPC. All of the other pieces parts (device drivers, file systems, network stacks, etc.) are implemented so that they communicate with the microkernel and each other through IPC (or a functional equivalent abstraction).

The point is that the other pieces parts do NOT interact with a microkernel directly - they do so through some form of IPC - separation of concerns and all that...

Technically you do not have to run these other parts in usermode - it may in fact be desirable to run them in kernel mode. But it should be possible to run them in usermode with very little or no change - that is kind of the entire point.

So no, all modules do not have to run in usermode. But if your kernel runs virtually _everything_ in a shared address space with function calls intertwining between all the various subsystems and no protections between them then you do not have anything close to a microkernel.

Reply Parent Score: 3

RE[6]: MicroKernel's
by DeepThought on Mon 21st Nov 2011 21:51 in reply to "RE[5]: MicroKernel's"
DeepThought Member since:
2010-07-17

Just to make it clear:

supervisor mode != shared memory

I just designed a system where processes run in supervisor mode and have _no_ way to interact with other processes memory or even the OS memory.

A customer of us even increased separation such, that some (supervisor) code does not even see any memory/code other than his.

Reply Parent Score: 1