Process Kernel vs Event 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
josecm
Posts: 18
Joined: Sun Apr 30, 2017 10:14 am

Process Kernel vs Event Kernel

Post 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
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Process Kernel vs Event Kernel

Post 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?
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Process Kernel vs Event Kernel

Post 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.
Learn to read.
josecm
Posts: 18
Joined: Sun Apr 30, 2017 10:14 am

Re: Process Kernel vs Event Kernel

Post 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
onlyonemac
Member
Member
Posts: 1146
Joined: Sat Mar 01, 2014 2:59 pm

Re: Process Kernel vs Event Kernel

Post 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).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Process Kernel vs Event Kernel

Post 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.
Learn to read.
josecm
Posts: 18
Joined: Sun Apr 30, 2017 10:14 am

Re: Process Kernel vs Event Kernel

Post 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 :(
Post Reply