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
What is a "root sever"/"root task" and sigma0
- zeitue
- 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
### Z++; && S++; ###
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
- Combuster
- 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
Interestingly, google showed up an existing thread
- zeitue
- 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
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
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
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
Re: What is a "root sever"/"root task" and sigma0
Hi,
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.
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
I don't know - I wouldn't be too suprised if sigma0 was the root task/server.zeitue wrote:0. what is a root task/server?
See Combuster's answer.zeitue wrote:1. what is sigma0?
No.zeitue wrote:2. is it true that all microkernels must have a root task/server?
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.
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).zeitue wrote:3. are there advantages to having these things in a microkernel?
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.
- zeitue
- 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
@Brendan Hi, thanks that explained everything.
I guess L4 just has it's own way of labeling everything.
Thanks again
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
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen
- Owen
- 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
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)
- zeitue
- 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
@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
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
zeitue is pronounced zeɪtə
Web Site::Bit Bucket
Programming Languages: C, C++, Java, Ruby, Common Lisp, Clojure
Languages: English, zɪ̀ŋ, 日本語, maitraiuen