Earlier quoted context omitted.
Yeah, it's all a bunch of programs doing their thing. One draws a GUI, another talks to the network adapter, and so forth.. And when you click a launcher icon, a loader program is started that (more or less) copies a program into RAM and when all is set up, it tells the OS (and the hardware) to run that, too.
Yes, a modern OS is a tangled mess of microservices.
macOS Internals
61–70 of 146 posts
Re: macOS Internals
#62Earlier quoted context omitted.
If you don't, would recommend listening to ATP, which he's a cohost on. Still a joy to listen to.
Used to listen to it. Stopped because I cannot stand Marco Arment.
Re: macOS Internals
#63macOS probably doesn't get enough love from an OS design perspective. Over the years I've had reasons to work pretty closely with the guts of all of Linux, macOS and Windows and macOS is probably my favourite, design wise, although for some tasks you can't beat the flexibility and feature set of Linux. A few highlights that are lesser known: - XPC/Mach is a pretty reasonable IPC system that avoids the huge complexity…
Thrice, in fact! 68000 -> PowerPC, PowerPC -> Intel, Intel -> ARM/Apple Silicon
Re: macOS Internals
#64If this kind of thing interests you: late-2000's/early-2010's Apple had some fantastic documentation, but it's all hidden in the “documentation archive” ( https://developer.apple.com/library/archive/navigation/ ).
I don't get it how they messed this up.
Re: macOS Internals
#65macOS probably doesn't get enough love from an OS design perspective. Over the years I've had reasons to work pretty closely with the guts of all of Linux, macOS and Windows and macOS is probably my favourite, design wise, although for some tasks you can't beat the flexibility and feature set of Linux. A few highlights that are lesser known: - XPC/Mach is a pretty reasonable IPC system that avoids the huge complexity…
Re: macOS Internals
#66History is such a great way to learn anything. It’s interesting - like a mystery revealed, but also provides the why - why things are the way they are. I was looking into accounting the other day, and you can go back to the first document that mentioned credit and debit and introduced modern accounting. There are so many topics like this that seem confusing and arbitrary but it all began extremely simply and pragmati…
> The present is the past rolled up for action and the past is the present unrolled for understanding. — A&WJD
Who's that?
Re: macOS Internals
#67macOS probably doesn't get enough love from an OS design perspective. Over the years I've had reasons to work pretty closely with the guts of all of Linux, macOS and Windows and macOS is probably my favourite, design wise, although for some tasks you can't beat the flexibility and feature set of Linux. A few highlights that are lesser known: - XPC/Mach is a pretty reasonable IPC system that avoids the huge complexity…
I don't really understand WinDev in regards to COM.
In abstract, it is a very good OOP ABI, and cross language interop.
In practice, one would expect that given how much they have doubled down on COM for the last 25 years, they would have come up with a development experience that isn't the worse from all IPC systems invent so far in regards to development experience.
.NET requires actually knowing COM at C and C++ level, and as of .NET Core, also write IDL files manually, as they removed type library support from .NET toolchain.
On C++ side, there have been endless reboots, none of them really productive, with exception of C++/CX, killed due politics.
WinDev really loves their bubble.
Regarding GC on OS, many others have tried as well. The problem is having a company willing to throw enough money at the problem and steer developers to adopt the platform no matter what.
Which is actually quite surprising for Android, given Google's track record in killing products before they can establish themselves.
All in all, there is still a lot of NeXTSTEP in macOS.
Re: macOS Internals
#68macOS probably doesn't get enough love from an OS design perspective. Over the years I've had reasons to work pretty closely with the guts of all of Linux, macOS and Windows and macOS is probably my favourite, design wise, although for some tasks you can't beat the flexibility and feature set of Linux. A few highlights that are lesser known: - XPC/Mach is a pretty reasonable IPC system that avoids the huge complexity…
I agree with most of what you've said here, except: - Code signing. It's incredibly frustrating as a developer to try and codesign an application to pass gatekeeper, requiring multiple steps with very little information as to what's _actually_ going on or going wrong in the middle of it, including uploading your entire bundle to Apple and waiting an arbitrary amount of time for them to notarize it. > It's very weak t…
Re: macOS Internals
#69Earlier quoted context omitted.
> The present is the past rolled up for action and the past is the present unrolled for understanding. — A&WJD
> A&WJD Who's that?
Re: macOS Internals
#70The window server is "lightweight" in that it does no screen drawing itself. It is, to use Apple's term, "drawing model agnostic." WindowServer is such a behemoth nowadays, it took me ages to reverse engineer how to make rcmd ( https://lowtechguys.com/rcmd ) control Stage Manager. It’s interesting to see it described as lightweight . I guess every lightweight solution becomes heavy and complex with enough usage.
["rcmd does not collect any personal information."]
That's the complete page. Great policy!