3 ms·
Depends how you define sophisticated. Mac used the 68k so didn't have to jump through all those hoops mentioned above.
by dboreham 6mo ago
Depends how you define sophisticated. Mac used the 68k so didn't have to jump through all those hoops mentioned above.
- dcrazy 6mo agoI’m distinguishing “sophistication” from “complexity”. Windows/386 is “sophisticated” in that it implements a much richer model of execution than its predecessors, with a supervising kernel and memory-protected virtual DOS machines. This is different from the complexity of programming with segmented memory, or punching through the various layers of backward compatibility that had built up even as early as the 286. Likewise, the Mac had some complexities of its own, even though the 68k wasn’t nearly as challenging to program for. Since the Toolbox shipped in ROM, they had to design syscalls (A-traps) in a way that could be patched by later versions of the system software. They soon had to work around software that wasn’t 32-bit clean when they started shipping machines with the 68020. One of the more sophisticated bits of later Mac OS was the 68k virtual machine that was used to run major chunks of the Toolbox on PowerPC Macs.
- jasomill 6mo agoI remember reading the PowerPC System Software volume of Inside Macintosh[1] at the time, and what I found impressive wasn't that 68k applications ran under emulation on PowerPC, but that much of the Toolbox and System Software were also still implemented in 68k code, implemented in terms of a general mechanism that could also be used by third-party code. This came at a performance cost, of course, but I don't recall the Workgroup Server 6150 I was using at the time feeling significantly slower than my Quadra 605, though to be fair the 605 was at the very bottom end of the 040 Mac line. Then again, with the exception of a larger hard drive and bundled AppleShare software, the WGS 6150 was equivalent to the entry-level Power Mac 6100, as well. [1] https://vintageapple.org/inside_r/pdf/PPC_System_Software_1994.pdf https://vintageapple.org/inside_r/pdf/PPC_System_Software_19...
- ndiddy 6mo agoThe way 386 enhanced mode worked was that there was a 32-bit preemptive multitasking kernel that would run 16-bit virtual machines. The first VM ran Windows in standard mode, and the rest were the DOS VMs. This meant that Windows programs still shared an address space and were cooperatively multitasked. This is actually somewhat similar to how Apple shoehorned multiprocessor support into later versions of Classic Mac OS. The OS runs under a microkernel. There's one main thread where all the cooperative multitasking happens (anything that uses the Toolbox must run in this thread), and then both user software and the system can make new threads that get preemptively multitasked with the main thread. The main difference is that I don't believe there's a way for Windows software to make use of the preemptive scheduler (unless maybe they do something hacky with a VxD driver, but that's kind of silly).