OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Mar 29, 2024 3:52 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject:
PostPosted: Mon Oct 01, 2007 10:06 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
Schol-R-LEA wrote:
Still, they are described as such not only in the corporate press puffery, but in a number of textbooks and published papers as well... obviously, someone other than their respective marketing depts. feels that they fit the description.


Really? Do you know who exactly, so I can flame them? ;)

Quote:
I suppose that the view in some places is that a system which offloads anything into user space is a micro, without regard to whether it is a general abstraction of the system


Yes, which is why IMO so many people get confused about what a microkernel is. Consider single-address space systems like Singularity... it is clearly a microkernel. It has OS services in separate processes, but there is no concept of "user mode" because it uses software isolation instead of hardware isolation. "User mode" is an implementation detail.

Quote:
Part of the matter is the question of, what constitutes a critical kernel service, and what can be safely and efficiently abstracted out to user space?


IMO this question is orthogonal to the question of whether or not something is a microkernel.

Quote:
Perhaps what is needed is a layering or spaces - that there be a kernel space, a user space, and a 'service space' which isn't part of the kernel but does have additional protections beyond those of user processes - but that probably complicates issues unnecessarily


Yep. Ever looked at the layering in Minix? It is most definitely unnecessarily complex...

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 01, 2007 10:12 pm 
Offline
Member
Member
User avatar

Joined: Tue Oct 17, 2006 6:06 pm
Posts: 1437
Location: Vancouver, BC, Canada
MessiahAndrw wrote:
What is the threshold before a kernel is considered a microkernel? Placing severs and drivers into their own threads? Placing servers and drivers into their own memory? Running servers and drivers in user mode?


I sort of hinted at an answer in my last post, but to make it more clear: IMO a system is a microkernel if it has all drivers and servers in separate "processes" communicating via IPC. How you implement "processes" is up to you. It could mean separate address spaces using paging, it could mean separate "small spaces" using segmentation, it could mean just a unit of parallelism with no protection whatsoever (like a thread, but with resource ownership and identity), it could mean a software-isolated process that only runs verified type-safe code... It could even be a combination of the above in a single system.

For example, the Process Manager in QNX runs as a separate process. It communicates with other processes via IPC and with the kernel via system calls. However, it also has access to the kernel's address space so it can manipulate the page tables, since it is the memory manager for the entire system. However, despite this sharing of address space QNX is still a microkernel.

I don't know a lot about Amiga OS, but I've heard that it was basically a microkernel with no memory protection. It used message passing and separated all parts of the system into "processes", but all in the same address space.

This debate is like whack-a-mole on this site... it never goes away... :lol:

_________________
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!


Top
 Profile  
 
 Post subject:
PostPosted: Tue Oct 02, 2007 6:34 pm 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1925
Location: Athens, GA, USA
Colonel Kernel wrote:
Schol-R-LEA wrote:
Still, they are described as such not only in the corporate press puffery, but in a number of textbooks and published papers as well... obviously, someone other than their respective marketing depts. feels that they fit the description.


Really? Do you know who exactly, so I can flame them? ;)


William Stallings for one, at least in the fourth edition of his book. I'd just been re-reading the section of his book on process/thread management and he stated repeatedly, in no uncertain terms, the Windows 2K (and presumably XP and Vista, which are primarily derived from it) is a microkernel system.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Oct 07, 2007 4:39 pm 
Offline
Member
Member

Joined: Thu Oct 21, 2004 11:00 pm
Posts: 248
Who actually uses that book?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 08, 2007 4:42 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
Apparently he does.

_________________
My OS is Perception.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 27 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group