I'm not sure I do. But it does seem like a good question.
Also:
http://www.art.net/~hopkins/Don/unix-haters/x-windows/disast...
I'm not sure I do. But it does seem like a good question.
Also:
http://www.art.net/~hopkins/Don/unix-haters/x-windows/disast...
Over time they added cooperative multitasking, which meant the foreground app had to consciously give time to let background apps do stuff.
But they could never build a real OS with security and memory protection out of it. So Apple bought NeXT to get industrial strength unix as their core OS, and switched all Apple development to NeXTStep, or at least the modern derivative of it, called Cocoa.
My dust covered Inside Mac volumes were made useless nearly 20 years ago.
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!
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.
- 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)