Page 1 of 1

Process Kernel vs Event Kernel

Posted: Sun Apr 30, 2017 10:27 am
by josecm
Hello, I am new here and a CS student starting to learn about OS implementation. While reading about microkernel implementation I found the mention of a process kernel as opposed to an event kernel. Could someone please clarify these concepts for me?

Thank you in advance

Re: Process Kernel vs Event Kernel

Posted: Sun Apr 30, 2017 4:42 pm
by Love4Boobies
This isn't standard terminology. My guess is that you've read something about increasing CPU usage using event-driven systems vs threading (threads are sometimes called lightweight processes for reasons I disagree with).

Could you give us some context or perhaps a link to the material you were reading so we can try to interpret what the author really meant?

Re: Process Kernel vs Event Kernel

Posted: Tue May 02, 2017 2:21 pm
by dozniak
Yeah, so.

Execution model: process kernel (one stack per thread) <---> interrupt kernel (one stack per CPU, continuations)

These are quite deeply discussed in e.g. atomic-osdi99.pdf excerpts from which you can find here.

You could probably trace related literature from that document, or i can dig more from my collection if you're interested.
Some processor architectures inherently favor the process model and process model kernels are easier to make fully preemptible. Although full preemptibility comes at a cost, this cost is associated with preemptibility, not with the process model itself. Process model kernels use more per-thread kernel memory, but this is unlikely to be a problem in practice except for power-constrained systems
I'm not sure where the "event" model comes in your text, I'd need more context or the reference to the actual paper to be able to help.

Re: Process Kernel vs Event Kernel

Posted: Wed Aug 30, 2017 3:33 pm
by josecm
dozniak, sorry for the delayed answer, and thanks for your input. My small OS project was put on hold and only now I have had the time to get back to it.

I've read the paper on the Fluke kernel and pretty much all my questions have been answered. I believe the term "event kernel" is a different term for the interrupt model described in the paper. I've seen this mainly in papers related to the description of the L4 microkernel family such as the one at http://sigops.org/sosp/sosp13/papers/p1 ... nstone.pdf

Can you tell me where I can find the collection you referred for further reading?

Thanks in advance

Re: Process Kernel vs Event Kernel

Posted: Thu Aug 31, 2017 3:12 pm
by onlyonemac
I haven't come across these terms before but judging from the meaning of the words "process" and "event", and the "event-driven" programming paradigm, I would imagine that a "process kernel" is structured around multiple processes running at the same time, each doing their own thing, while an "event" kernel is structured around each process sleeping until it receives an event (user interaction, disk I/O completed, and so on) at which point it does a short bit of work before returning to the kernel where the next event is delivered to the next process. Of course the former kernel probably has a way for handling events and sleeping processes until events arrive, and the latter kernel probably has a way for processes to execute concurrently, the difference is in what the foremost paradigm is (which would be reflected in the general design/structure/behaviour of the kernel and APIs).

Re: Process Kernel vs Event Kernel

Posted: Sat Oct 14, 2017 5:23 am
by dozniak
josecm wrote: Can you tell me where I can find the collection you referred for further reading?
I have a pile for OSdev related papers and documents in my drop box; send me your email in PM and i'll give you access.

Re: Process Kernel vs Event Kernel

Posted: Tue Oct 17, 2017 5:21 am
by josecm
dozniak wrote:
josecm wrote: Can you tell me where I can find the collection you referred for further reading?
I have a pile for OSdev related papers and documents in my drop box; send me your email in PM and i'll give you access.
I can't send you a PM, the PM button won't appear next to your profile :(