Musings on what is a micro-kernel

Discussions on more advanced topics such as monolithic vs micro-kernels, transactional memory models, and paging vs segmentation should go here. Use this forum to expand and improve the wiki!
Post Reply
ACcurrent
Member
Member
Posts: 125
Joined: Thu Aug 11, 2011 12:04 am
Location: Watching You

Musings on what is a micro-kernel

Post by ACcurrent »

I may have posted this in the wrong forum but I just cannot decide what to call my OS - A microkernel, nanokernel or exokernel, or hybrid. So heres the stuff I have inside the kernel:

- Simple boot sequence
- Driver manager
- Event manager

Stuff thats in userspace:
Drivers (this includes video text mode driver.)
MMU
Multitasking
File system
Everything else
Could some one please help me decide whether it is a micro kernel or not so I can complete the docs?
Get back to work!
Github
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Musings on what is a micro-kernel

Post by NickJohnson »

That's definitely a microkernel in my book. I don't even export memory management or scheduling to userspace, and I still consider my system a microkernel.

Here's how I generally judge it: if I wanted to write a driver (block, filesystem, or otherwise) for your OS, could I do it completely in userspace without modifying the kernel in any way? If so, you have a microkernel. This just barely rules out things like FUSE, which require kernel modifications, but keeps basically anything that has the practical benefits of a microkernel, which is what matters in the end anyway.
CrypticalCode0
Member
Member
Posts: 81
Joined: Wed Nov 09, 2011 2:21 am
Location: Behind a keyboard located in The Netherlands

Re: Musings on what is a micro-kernel

Post by CrypticalCode0 »

I wouldn't include the startup sequence in the kernel itself.

for the rest I can Completely find myself in line with ACurrent's list.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Musings on what is a micro-kernel

Post by Combuster »

Typically the components of a microkernel are limited to processor and CPU time management, memory management and event handling, for various opinionated definitions of those terms.

For instance to get a processor to do useful stuff you have to get the first program to run on it.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
ACcurrent
Member
Member
Posts: 125
Joined: Thu Aug 11, 2011 12:04 am
Location: Watching You

Re: Musings on what is a micro-kernel

Post by ACcurrent »

I wouldn't include the startup sequence in the kernel itself.
Think practically like combuster! Any way thanks for the support, I think my kernel and docs should be out December 18th. :D
Get back to work!
Github
wolfram
Posts: 19
Joined: Wed Aug 19, 2009 11:37 am
Location: Saint-Petersburg, Russia

Re: Musings on what is a micro-kernel

Post by wolfram »

"microkernel" term considered harmful :)
Post Reply