Linked by Thom Holwerda on Mon 8th Jun 2009 21:24 UTC
SkyOS The future of SkyOS, the closed-source alternative operating system, had been hanging by a thread for a long time now. Barely any releases, until they came to a grinding halt altogether and Robert Szeleney explained he was pondering the future of SkyOS, and where to take it from here. One of the main problems was a lack of driver support which really made development difficult. Well, this is a problem Szeleney might be able to fix.
Permalink for comment 367616
To read all comments associated with this story, please click here.
RE[5]: SkyOS
by Windows Sucks on Tue 9th Jun 2009 15:38 UTC in reply to "RE[4]: SkyOS"
Windows Sucks
Member since:
2005-11-10

"So the Kernel in Darwin is the Mach Microkernel.

Um, no. Like you mention in very own post it uses the XNU kernel:

Actually: "Darwin is built around XNU, a hybrid kernel


And XNU, per http://www.usenix.org/publications/library/proceedings/bsdcon02/ful... is not a microkernel:

At the heart of Darwin is its kernel, xnu. xnu is a monolithic kernel based on sources from the OSF/mk Mach Kernel, the BSD-Lite2 kernel source, as well as source that was developed at NeXT ... xnu is not a traditional microkernel as its Mach heritage might imply ... the kernel is in fact monolithic.
"

Well to settle this lets look at what Apple it's self has to say:

http://developer.apple.com/referencelibrary/Darwin/

Darwin is the UNIX technology-based foundation of Mac OS X. Darwin integrates several technologies. Among the most important are 4.4BSD-based operating-system services (built on the Mach 3.0 microkernel), the I/O Kit, networking facilities, and support for multiple integrated file systems. Developers can use Darwin to port UNIX/Linux applications and create kernel extensions.

Useful Mac OS X Terms: What is Darwin?

http://support.apple.com/kb/TA25634

Darwin 1.4.1 is the UNIX-based, open-source foundation of Mac OS X. It is based on FreeBSD and Mach 3.0 technologies and provides protected memory and pre-emptive multitasking. This release corresponds to the release of Mac OS X 10.1.

Useful Mac OS X Terms: What is Mach?

http://support.apple.com/kb/TA25632?viewlocale=en_US

Mach is part of the underlying technology of Mac OS X. It is a UNIX technology developed at Carnegie-Mellon University in the late 1980s and 1990s. It is a robust, "open source" operating system, which is used to provide memory and task implementation services. Darwin uses Mach 3.0. Mach provides memory management, memory protection, process scheduling and interprocess communication services. Mach, together with BSD, forms the heart of Mac OS X, known as Darwin.

The funny thing is that you look all through Apple's site you don't see really see Apple refer to the OSX Kernel as XNU much.

But it does say here is that XNU is the combo of the Mach Kernel and BSD userland. And that is also what makes Mach not the normal Mach implementation. Because Apple doesn't use the Mach userland.

http://developer.apple.com/DOCUMENTATION/Porting/Conceptual/Porting...

The core of any operating system is its kernel. Though Mac OS X shares much of its underlying architecture with BSD, the Mac OS X kernel, known as XNU, differs significantly. XNU is based on the Mach microkernel design, but it also incorporates BSD features. It is not "technically" a microkernel implementation, but still has many of the benefits of a microkernel, such as Mach interprocess communication mechanisms and a relatively clean API separation between various parts of the kernel.

Why is it designed like this? With pure Mach, the core parts of the operating system are user space processes. This gives you flexibility, but also slows things down because of message passing performance between Mach and the layers built on top of it. To regain that performance, BSD functionality has been incorporated in the kernel alongside Mach. The result is that the kernel combines the strengths of Mach with the strengths of BSD.

How does this relate to the actual tasks the kernel must accomplish? Figure 9-1 illustrates how the kernel’s different personalities are manifested.

XNU personalities

The Mach aspects of the kernel handle

Memory management
Mach messaging and Mach inter process communication (IPC)
Device drivers

The BSD components

Manage users and permissions
Contain the networking stack
Provide a virtual file system
Maintain the POSIX compatibility layer

So in the end according to Apple its still Mach just using the BSD userland.

Reply Parent Score: 2