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

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
User avatar
zeitue
Member
Member
Posts: 88
Joined: Fri Dec 14, 2012 6:05 pm
Libera.chat IRC: zeitue
Location: United States, Texas
Contact:

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

Post 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
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

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

Post by Combuster »

Interestingly, google showed up an existing thread
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
zeitue
Member
Member
Posts: 88
Joined: Fri Dec 14, 2012 6:05 pm
Libera.chat IRC: zeitue
Location: United States, Texas
Contact:

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

Post 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
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

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

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
zeitue
Member
Member
Posts: 88
Joined: Fri Dec 14, 2012 6:05 pm
Libera.chat IRC: zeitue
Location: United States, Texas
Contact:

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

Post by zeitue »

@Brendan Hi, thanks that explained everything.
I guess L4 just has it's own way of labeling everything.
Thanks again
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

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

Post 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)
User avatar
zeitue
Member
Member
Posts: 88
Joined: Fri Dec 14, 2012 6:05 pm
Libera.chat IRC: zeitue
Location: United States, Texas
Contact:

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

Post 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
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
Post Reply