Page 1 of 1

What does an Exokernel actually do

Posted: Sat Jul 24, 2010 4:15 am
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

Re: What does an Exokernel actually do

Posted: Sat Jul 24, 2010 11:31 am
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.

Re: What does an Exokernel actually do

Posted: Sat Jul 24, 2010 11:40 pm
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