Re:Global Kernel Locks in APFS
by wmf on Monday October 29, 2018 @07:44PM
(#18332711)
Apple releases most of the macOS kernel but I guess it doesn't include APFS: https://opensource.apple.com/source/xnu/
[ Parent
| on HN ]
Re:Global Kernel Locks in APFS
by NegativeLatency on Monday October 29, 2018 @08:06PM
(#18332846)
That's missing a good chunk of the interesting stuff related to how users interact with the os though. (app and framework source code)
Yeah, apps and frameworks aren't part of the kernel. But APFS is.
It's loaded into the kernel, but it's a kext (kernel extension) rather than being part of the xnu source tree itself. Only a subset of kexts are open source. (By comparison, HFS used to be in the xnu tree, but it was moved into a kext as well a few years back; that one is open source.)
Kind of talking out of my ass, but Darwin can act as a mirokernel, so APFS could be implemented as a user mode service (no idea if it's the case, though).
Re:Global Kernel Locks in APFS
by yjftsjthsd-h on Monday October 29, 2018 @09:06PM
(#18333177)
Darwin's XNU is not a microkernel, in spite of there being a microkernel version of XNU. While Darwin does support FUSE, performance would almost certainly be inadequate, given the constant transitions between user and kernel space.
I thought it was a mixture of OSFMK and BSD, which is why I said it can act like a microkernel. Don't know more than what wikipedia says, though.