Page 1 of 1

What is a "root sever"/"root task" and sigma0

Posted: Tue Jan 15, 2013 4:32 pm
by zeitue
I've been reading about L4 and they mention a root task/server as well as sigma0 but yet they never explain what they are.
Also in the information I've read about microkernels like L4 says that all microkernels must have a root task/server

0. what is a root task/server?

1. what is sigma0?

2. is it true that all microkernels must have a root task/server?

3. are there advantages to having these things in a microkernel?


Thank you

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 3:15 am
by Combuster
Interestingly, google showed up an existing thread

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 2:29 pm
by zeitue
Thanks for the information Combuster that explains what sigma0 is perfectly

So sigma0 is the memory manager but that does not answer my other questions.

Like what is the root task and must all microkernels have them?

Thank you

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 2:52 pm
by Brendan
Hi,
zeitue wrote:0. what is a root task/server?
I don't know - I wouldn't be too suprised if sigma0 was the root task/server.
zeitue wrote:1. what is sigma0?
See Combuster's answer.
zeitue wrote:2. is it true that all microkernels must have a root task/server?
No.

There are fundamental things (e.g. physical memory management) that everything depends on. If these fundamental things are implemented in user-space then you'd have some sort of root task/server. However, if these fundamental things are built into the micro-kernel then no root task/server would be needed.
zeitue wrote:3. are there advantages to having these things in a microkernel?
The advantage of putting fundamental things (like physical memory management) in the micro-kernel is that it avoids expensive task switches for very frequent things (like allocating/freeing physical pages).

In theory, the advantage of putting things in user-space is that you shield the rest of the OS from bugs in those pieces and may be able to replace them while the OS is running. These advantages don't apply for fundamental things (like physical memory management); and in practice I don't think there are any advantages of having them in user-space at all.


Cheers,

Brendan

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 5:31 pm
by zeitue
@Brendan Hi, thanks that explained everything.
I guess L4 just has it's own way of labeling everything.
Thanks again

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 8:13 pm
by Owen
The "root task" is commonly defined as "the first task started"; so not a concept unique to microkernels (e.g. in traditional Unix it would be init)

Re: What is a "root sever"/"root task" and sigma0

Posted: Wed Jan 16, 2013 9:51 pm
by zeitue
@Owen Thanks I did not think to think of it like Unix
I know that init is the parent of all user processes.
so basically we could have a root task and run all the microkernel servers and drivers off of that and the user processes from that
or have a separate init for the user processes similar to the K Desktop Environment which has it's own init that is the parent of all KDE processes which runs on the standard system's init

on a standard microkernel if root task is whatever the first task that is started and that would be a bit different from the init process because the standard root task would not be the parent of other processes

I think not sure