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.
Thread beginning with comment 367616
To view parent comment, click here.
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 Bookmark Score: 2

RE[6]: SkyOS
by MamiyaOtaru on Wed 10th Jun 2009 12:12 in reply to "RE[5]: SkyOS"
MamiyaOtaru Member since:
2005-11-11

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

Maybe you should look and see who wrote the paper I linked to.

You could also stop misinterpreting stuff from the links you provided. Having a kernel based in part on Mach does not mean your OS is using the Mach Kernel. It means it is using a kernel (XNU) based in part on Mach, and "BSD-Lite2 kernel source, as well as source that was developed at NeXT"

Darwin is not the Mach Kernel and BSD userland. It is XNU kernel (Mach plus BSD kernel stuff plus NeXT stuff) and BSD userland. The BSD stuff is not limited to the userland, and the kernel is not just Mach. It is a monolithic kernel, which Mach certainly is not.

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

Again, no.

Once more, from your very own post:

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


When they say "Mach aspects of the kernel" that implies that there are other aspects of the kernel. Whatever could they be?? Why, they tell you a couple lines down! "The BSD components"! And you quoted that to convince me that the kernel is just Mach? WTF

That section is not talking about the division of responsibilities between the Mach Kernel and BSD userland. That is talking about the division of responsibilities between the Mach aspects of the kernel, and the BSD components of the kernel. The kernel is Mach + BSD (plus NeXT stuff) in a monolithic package (and yes, there is also a BSD userland in addition to BSD parts of the kernel)

Edited 2009-06-10 12:25 UTC

Reply Parent Bookmark Score: 2

RE[7]: SkyOS
by robojerk on Wed 10th Jun 2009 19:49 in reply to "RE[6]: SkyOS"
robojerk Member since:
2006-01-10

You two should get a room.

Reply Parent Bookmark Score: 1