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
Process Kernel vs Event Kernel
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: Process Kernel vs Event Kernel
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?
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 ]
[ Project UDI ]
Re: Process Kernel vs Event Kernel
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.
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.
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.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
Learn to read.
Re: Process Kernel vs Event Kernel
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
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
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Process Kernel vs Event Kernel
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
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Re: Process Kernel vs Event Kernel
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.josecm wrote: Can you tell me where I can find the collection you referred for further reading?
Learn to read.
Re: Process Kernel vs Event Kernel
I can't send you a PM, the PM button won't appear next to your profiledozniak wrote: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.josecm wrote: Can you tell me where I can find the collection you referred for further reading?