Live data from Hacker News

Apple’s Darwin OS and XNU Kernel Deep Dive

tansanrao.com

181–186 of 186 posts

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#181

Earlier quoted context omitted.

Isn’t FreeBSD a monolithic kernel? I don’t believe it provides the compartmentalisation that you talk about. As I understand it Mach was based on BSD and was effectively a hybrid with much of the existing BSD kernel running as a single big task under the microkernel. Darwin has since updated the BSD kernel under microkernel with the current developments from FreeBSD.

Mach was never based on BSD, it replaced it. Mach is the descendant of the Accent and Aleph kernels. BSD came into the frame for the userland tools. "Mach was developed as a replacement for the kernel in the BSD version of Unix," ( https://en.wikipedia.org/wiki/Mach_(kernel) ) Interestingly, MkLinux was the same type of project but for Linux instead of BSD (i.e. Linux userland with Mach kernel).

It's not just the user land but much of the BSD kernel too. From https://en.wikipedia.org/wiki/Mach_(kernel)

> Throughout this time the promise of a "true" microkernel had not yet been delivered. These early Mach versions included the majority of 4.3BSD in the kernel, a system known as a POE Server, resulting in a kernel that was actually larger than the UNIX it was based on.

And https://en.wikipedia.org/wiki/XNU

> XNU was originally developed by NeXT for the NeXTSTEP operating system. It was a hybrid kernel derived from version 2.5 of the Mach kernel developed at Carnegie Mellon University, which incorporated the bulk of the 4.3BSD kernel modified to run atop Mach primitives,

MkLinux is similar. https://en.wikipedia.org/wiki/MkLinux

> The name refers to the Linux kernel being adapted to run as a server hosted on the Mach microkernel, version 3.0.

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#182
post #43
post #27

Earlier quoted context omitted.

I remember reading back in 2007-2008 that Apple was interested in bringing ZFS support to Mac OS X, but discussions ended once Oracle purchased Sun. This was a bummer; I would’ve loved ZFS on a Mac. After a cursory Google search, I found this article: https://www.zdnet.com/article/zfs-on-snow-leopard-forget-abo...

Kind of surprising that the Oracle deal would have killed it given that Jobs and Ellison were such close friends.

Ellison didn't make enough money to buy an island (okay, 80% of one) by being "friends" with anyone :)

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#183

Earlier quoted context omitted.

WSL2 is just a Linux VM, and the POSIX subsystem is just a kluge I never heard of an OS/2 subsystem for NT, for which Cutler would take extreme umbridge in. I have three charts on my wall( now 4): the Unix timeline, the windows timeline, and the Linux distribution tree,and now a very decent MacOS X timeline. The personalities became containers which is just the windows version of common subsystem virtualization. Cont…

> I never heard of an OS/2 subsystem for NT, It was there from NT 3.1 until Windows 2000; it was removed in Windows XP onwards. It was very limited – it only supported character mode 16-bit OS/2 1.x applications. 32-bit apps, which IBM introduced with OS/2 2.0, were never supported. Microsoft offered an extra cost add-on called "Microsoft OS/2 Presentation Manager For Windows NT" aka "Windows NT Add-On Subsystem for…

> running on Microsoft Jazz workstations (in-house Microsoft workstation design using Intel i860 RISC CPUs)

Correcting myself: Microsoft Jazz machines used MIPS not i860; the i860 machines were Microsoft Dazzle

NT for MIPS actually ended up shipping for customers; I believe NT for i860 was abandoned as soon as the MIPS port was usable

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#184
post #176

Earlier quoted context omitted.

I’d love to read the document you are quoting - is it publicly available anywhere?

Yep - https://computernewb.com/~lily/files/Documents/NTDesignWorkb...

Thanks… I see that’s the NT Design Workbook that shipped as part of the WRK.

Interestingly it does mention 32-bit OS/2 API support (Dos32* APIs). I’m not sure if this was just a plan never implemented or if they did implement it but pulled it out before shipping NT 3.1.

I now realise Microsoft did ship a beta SDK for OS/2 2.0 - but the last Microsoft pre-release of OS/2 2.0 is missing a lot of stuff compared to the final IBM OS/2 release - most notably the Workplace Shell (WPS). IBM originally planned to ship WPS as part of OfficeVision for OS/2 and only moved it into the core OS/2 product rather late in the 2.0 development cycle.

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#185

Where is Scott Forstall mark in all of this evolution I wonder. He was responsible for adapting macOS, hence XNU, to iPhone. The most successful Apple product of all times. And where is he now?

Well, he was one of the producers[1] of the musical Hadestown, which won 8 Tony awards.

[1] https://thebroadwayproducers.com/scott-forstall-2/

Re: Apple’s Darwin OS and XNU Kernel Deep Dive

#186
> This is likely the origin of boosts and throttles that iOS uses to ensure the foreground app gets more CPU than background apps.

The purpose of these is for daemons to inherit the priority of their client apps when doing work for them.

I don't remember what thread groups/workloads are for.

Post reply on HN