Microkernel? Monolithic? Exokernel?...

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.

What OS kernel do you develop?

Microkernel
19
27%
Monolithic
19
27%
Hybrid monolithic
12
17%
Nanokernel
0
No votes
Exokernel
4
6%
Modular kernel
11
15%
This is a useless poll, inflater.
6
8%
 
Total votes: 71

User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Microkernel? Monolithic? Exokernel?...

Post by inflater »

As you may know, there exist some types of kernels, e.g. micro, exo, nano, hybrid, monolithic, etc and I think this poll will clarify what type is most used. Your turn! :)

Mine is hybrid monolithic, basic drivers (fdd, video, etc) are in the kernel itself, the kernel incorporates a shell in one file and until now, there is no way of loading custom drivers. Also, the "spiral" demo is a physical module compiled separately, but hardcoded (raw-writed) to the kernel binary. Everything, even user programs, runs in ring 0 but I think that programs will run in ring3 (just like winNT kernel does).
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
itisiuk
Member
Member
Posts: 98
Joined: Mon Mar 24, 2008 1:46 pm

Re: Microkernel? Monolithic? Exokernel?...

Post by itisiuk »

I had been writing a monolithic kernel but got bored with it and i am now writing a microkernel
which is what i wanted todo in the 1st place but didnt know how until recently.
RevivalDBM
Member
Member
Posts: 34
Joined: Sun Aug 03, 2008 5:38 am

Re: Microkernel? Monolithic? Exokernel?...

Post by RevivalDBM »

My kernel is a hybrid, a few basic drivers are within the kernel, the rest are in userland.
souradipm
Posts: 22
Joined: Fri Aug 15, 2008 10:08 am

Re: Microkernel? Monolithic? Exokernel?...

Post by souradipm »

My kernel is currently monolithic, and everything runs in kernel-mode (ring 0), but once I have finished implementing multitasking, i will be able to move them into ring 3 :)
But for now, it will stay monolithic.
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Re: Microkernel? Monolithic? Exokernel?...

Post by 01000101 »

Mine is fully monolithic. Just one big happy binary. I'll soon start coding some modularity into it though.
User avatar
salil_bhagurkar
Member
Member
Posts: 261
Joined: Mon Feb 19, 2007 10:40 am
Location: India

Re: Microkernel? Monolithic? Exokernel?...

Post by salil_bhagurkar »

Give my kernel a name!! I got only kernel mode. I am not planning for any user mode. The application interface basically exists as a virtual machine which interprets a defined data structure (not opcodes :)) that is in the application binary... And i have threads in the kernel mode too...
cyr1x
Member
Member
Posts: 207
Joined: Tue Aug 21, 2007 1:41 am
Location: Germany

Re: Microkernel? Monolithic? Exokernel?...

Post by cyr1x »

Hmm, I'm creating a Kernel in (my) a typesafe language (somewhat C++ & C#-ish, compiler is far from complete). Something like Singularity but I wouldn't call it a microkernel, more a hybrid monolith.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Microkernel? Monolithic? Exokernel?...

Post by Troy Martin »

Right now I'm working on a pmode monolithic kernel. Sadly it always triplefaults during boot.

OT: If anyone has some spare time, I'd like to find out what the problem is. It compiles with no errors, and it is found perfectly, but it dies when it loads.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

Re: Microkernel? Monolithic? Exokernel?...

Post by bewing »

Mine is a hybrid modular macro-micro-nano-kernel. It is foolish to try to squeeze your code into a pre-defined box.
jgraef
Member
Member
Posts: 47
Joined: Wed Jan 16, 2008 7:37 am
Location: Wonsheim, Germany

Re: Microkernel? Monolithic? Exokernel?...

Post by jgraef »

Hi,

I'm developing a microkernel. I don't really have reasons except that I like the concept of microkernels: Do everything as easy (not "easy", "abstracted" would describe it better) as possible. I think that also fits in the UNIX philosophy and therefore my microkernel is an UNIX clone. I hope I finish version 0.1 of it soon, so I can show something to you :)
User avatar
Karatorian
Posts: 4
Joined: Sat Sep 13, 2008 9:36 am
Location: Rindge NH USA
Contact:

Re: Microkernel? Monolithic? Exokernel?...

Post by Karatorian »

I had a bit of a tough time deciding whether to pick Nanokenel or Exokernel. The reason for this, as pointed out by the MIT exokernel team, is that the idea of an exokernel is orthogonal to the macro vs micro (or nano) architechture. I decided to go with Exo.

My kernel is a nanokernel because it's designed to be as small as possible and push as much of the system into userspace as absolutely possible. It's an exokernel because it does secure multiplexing, not abstraction. The MIT exokernels are rather different from this idea. They are monolithic exokernels. They manage all sorts of stuff, like network packets and disk blocks. My system doesn't do that (in kernel space).

The only thing my kernel does is manange the resources that must be handled in ring zero. On the PC, those are memory, io ports, and cpu time. Additionally, as an exokernel it only manages them, it doesn't abstract them.
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: Microkernel? Monolithic? Exokernel?...

Post by Combuster »

Ah, a fellow exokernel dev'ver :D
as pointed out by the MIT exokernel team, is that the idea of an exokernel is orthogonal to the macro vs micro (or nano) architechture
Agreed. An Exokernel is a paradigm applied to the interface, not the internal construction of the kernel itself. Hence you have monolithic exokernels, modular exokernels and exo-micro-kernels

Actually, I think there are three ortogononal parameters: The amount of stuff you put in a single binary (monolithic vs modular), the amount of stuff in userspace (mono vs micro) and the abstraction level of the user interface (exokernel vs the rest), which covers about every kernel.
"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 ]
lhc
Posts: 5
Joined: Mon Sep 08, 2008 7:08 pm

Re: Microkernel? Monolithic? Exokernel?...

Post by lhc »

I have a pure microkernel.

I have found confusion in how to do some things because of that. But that lets me try a lot of different things to see what works best for me. Very easy to make the drivers too.
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: Microkernel? Monolithic? Exokernel?...

Post by neon »

My (real) OS is a hybrid between microkernel and monolithic. My series' OS will be a microkernel design.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
JJeronimo
Member
Member
Posts: 202
Joined: Wed Oct 18, 2006 3:29 pm

Re: Microkernel? Monolithic? Exokernel?...

Post by JJeronimo »

A like the idea of microkernels. However, I'm still a starter, and such people must stick with the easier at first, unless they are heroes. :-P

Also, until recently, I did not understand completely the idea of microkernels. For example, I didn't understand how would it be possible to move entire kernel subsystems (process manager and/or filesystem interface) to userspace. Moving drivers seemed obvious, but moving entire subsystems seemed weird.

JJ
Post Reply