5 ms·
Probably compatibility? Protected memory and pre-emptive multitasking were a notoriously difficult transition. Apple never managed it with classic macOS, and sc
by mike_hearn 4y ago
Probably compatibility? Protected memory and pre-emptive multitasking were a notoriously difficult transition. Apple never managed it with classic macOS, and scars from the transition are visible all over the Windows API even decades later.
- jacquesm 4y agoI can see why Apple couldn't do it, the MMU on the Mac wasn't up to the task but on the PC anything post 386 was more than up for it from a technical perspective. Even the 286 machines could do it very well (QnX was originally built on a 16 bit platform).
- rwmj 4y agoEven the awkward segmentation on 8086 was arguably a form of memory protection. Minix on 8086 was surprisingly robust in practice (obviously not in theory) as a rogue 'near' pointer would usually only corrupt the current program. But on the original topic, yes once you've got a 286+ there's no excuse for your OS not having true memory protection.
- monocasa 4y agoThe 68851 was more than up to the task, to say nothing of PowerPC chips.
- jacquesm 4y agoThat only really happened from the 68030 onward didn't it? Until the 030 processes needed to be pretty careful not to step on each others address space.
- monocasa 4y agoIt started with the 68020 which came out with 68851 support in an Apple product in 1987. Despite that Mac continued with only partial process protection up until the release of OSX in the early 2000s. My point is their problem wasn't hardware support, but software compatibility.
- jacquesm 4y agoHm, ok, I wasn't aware that the 020's already had a full MMU on board, thanks for the correction. Probably they made too many assumptions about being able to mess around in other processes address space to enable it by the time they got it.
- icedchai 4y agoI think they are incorrect. The original Mac II (68020 machine) didn't ship with a full MMU. It had a socket for the 68851 though, if one wanted to add one. I somehow doubt many people did. The newer Mac II's (IIx onward) were 68030-based, so they would've had MMUs built in. (They also released the Mac LC later on, which was 68020 based and had no socket for an MMU.)
- jacquesm 4y agoDid the operating system the machine shipped with know what to do with that MMU or was it ignored if installed and only used by alternative os's?
- icedchai 4y agoAs far as I know, it was ignored until System 7, which added virtual memory support. A/UX (Apple Unix) required it, but that wasn't released until a year or so after the Mac II was initially available.
- spookthesunset 4y agoGod I remember those days. The Mac was way late to the party. Was Win95 preemptive or cooperative? I totally forget. Pretty sure only the NT versions of windows were preemptive. I recall there was a period of time when you’d run Windows 2000 because it was so much more stable than 98/ME. It worked mostly okay but it didn’t have as good of support for gaming and was pretty late to the party with DirectX support.
- 4y ago