4 ms·
Except most of the Inside Mac APIs were brought forward in OS X as Carbon. Carbon only went away relatively recently. So the APIs could support a reasonable OS,
by __david__ 9y ago
Except most of the Inside Mac APIs were brought forward in OS X as Carbon. Carbon only went away relatively recently. So the APIs could support a reasonable OS, it's just Apple couldn't accomplish it for some reason (I waited for Copland for a long time).
- xenadu02 9y agoThat is not correct. Over a thousand APIs were dropped or substantially modified to be “carbon clean”. Even Multi-Finder was a lot of work because apps happily poked OS globals. The original Mac OS was more like an embedded app toolkit than an OS. The original implementations were all ROM!
- digi_owl 9y agoAnd Woz has mused that this is why it got a reputation for malware resilience.
- kabdib 9y agoThe early Macs were basically wide open, as I recall. I was working in a group next to the systems software group at Apple when some of the early malware was discovered. After a few days of secrecy, with people being pulled into labs and conference rooms under spooky circumstances, the software managers sent out word that some malware had been found and that people were working on mitigations. They also said something like "Look guys, we know that writing malware is really easy, so don't do it, because we'll fire you immediately if we find out." I distinctly recall that this was in verbal instruction, not a memo, and that the words "really easy" and "really, don't do it" were used. Naturally my response was to go back to my desk and write a proof of concept. Half an hour and a hundred lines of code later I had something that would replicate a payload whenever you inserted a floppy disk. It was indeed dead easy to do. I exercised my toy for a little while . . . then deleted every trace. I'm sure I wasn't the only engineer who was curious and did this. So while you couldn't change the ROM, you could definitely muck with the system software, and that's all that really mattered. Zero thought had been given to MacOS security.
- Someone 9y agoWide open, indeed. For those who don’t know: - no memory protection. - system support for patching OS calls. - no distinction in privileges between application and OS code. - when mounting any disk, the OS opened a resource file on it and kept it open. Side effect was that the OS would look for code fragments defining windows, menus, and controls in that file. That file normally didn’t contain any, but adding a malevolent one to that file would mean the OS would run your code as soon as any program created a standard window, menu or control. (That last part was fixed after a virus exploiting it was found)
- __david__ 9y agoI said most. Having worked on carbon apps, I can say that substantial portions went through with no changes. You could add menus and item to iTunes with AppendMenu() and InsertMenu() from visualization plugins until they rewrote it in Cocoa roughly 5 years ago. Obviously they dumped a lot of the OS level APIs for stuff like Control Panels and Desk Accessories, but the standard app APIs were largely unchanged. There's no fundamental reason they couldn't have made their own OS with the same Carbon APIs that made it into Mac OS X (not that I think they should have—the NeXTStep stuff was much better).