What does an Exokernel actually do

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
User avatar
dukedevon
Posts: 21
Joined: Thu Jul 08, 2010 10:02 am
Location: Karlsruhe, Germany
Contact:

What does an Exokernel actually do

Post by dukedevon »

I tried to read and understand Englers exokernel abstracts but I must say, without huge knowledge of operating systems and without being native speaker, they're quite hard to understand. I think I understood the basic concept of abstracting the minimum and just control running applications. But my question is,
what does it actually contain? I think if one follows the common tutorials, one has not decided which kernel one is building, is that right?
Does it contain hardware or filesystem drivers? Or do I implement them in my respective libos, just asking the kernel to use the respective ressource?
Can anyone give a list of features an exokernel would or would not include?

Thanks in advance
dukedevon
FlExOS --- Stay tuned ;-)
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: What does an Exokernel actually do

Post by Solar »

dukedevon wrote:I think if one follows the common tutorials, one has not decided which kernel one is building, is that right?
The common tutorials move in the general direction of a monolithic kernel. It's the simplest concept, because you don't need to have support for a userspace before you can start writing code to access your filesystem, for example. If you want to do something different - e.g. a microkernel or an exokernel - you have to derive from the tutorials at some point.

But if you're following the tutorials at all, I'd daresay you don't have the experience yet to know what, when and where - so I would suggest you follow the tutorials, build a kernel without bothering too much about its architecture, to the point where you can support a userland. Perhaps write half a dozen small apps for your userland, just to get a feel for how things in the kernel affect userland. Then go back to square one, and build whatever your newfound experience tells you is right.
Every good solution is obvious once you've found it.
User avatar
Thomas
Member
Member
Posts: 281
Joined: Thu Jun 04, 2009 11:12 pm

Re: What does an Exokernel actually do

Post by Thomas »

Hi dukedevon,
See : http://ocw.mit.edu/courses/electrical-e ... fall-2006/ . Actually it is the only tutorial/course that I am aware of that builds an exo kernel.Hope it helps.

[offtopic]
Flex kernel was the name of the kernel I initially thought of , the main idea of flex kernel was to make everything data driven, so that you can almost control anything... :) . I assume it is hardly novel anyways :mrgreen:
[/offtopic]


--Thomas
Post Reply