Jed Rothwell wrote: > Edmund Storms wrote: > > > I have heard that Apple is more ruthless about backward > compatibility. Microsoft cannot afford to be, because if the new > Windows does not work with old hardware, people will eventually > throw away their hardware and buy a Mac! > > > I don't know what you mean about ruthless. Before OS10 came along, > all versions up to OS9 were backward compatible on the Mac. > > > So OS10 does not run on older machines? That's what I read. I don't have > a Mac so I don't know the details.
Time for a little history lesson here. MacOS was a single piece of software from version 1 to version 9. It was updated, revised, maintained, ported from 68000 to Power processors -- but never clean-slate rewritten. It was fully home-grown, by folks inside Apple, and Apple supposedly had a *preference* for hiring people who were not formally trained in computer science and who were not experienced in OS development, so that they would produce innovative things rather than me-too systems. I don't know if that part is true, but certainly the Mac OS was nothing like mainstream operating systems. It had no memory protection, no real multitasking (i.e., no multiprogramming or time-slicing), but its memory management was highly sophisticated (within the no-protection limitations, of course), and its file system was like nothing I've ever seen elsewhere, before or since. Memory was managed by the "resource manager", which was basically a tiny database engine, and every file had a "resource fork" which provided similar builtin capabilities to those their memory manager provided for in-memory data -- the whole system was, really, not like anything else I've seen. But they *needed* memory protection and multitasking, and they needed better VM handling than they had (the Power chips have the most sophisticated builtin paging hardware I've ever failed to understand and the Mac made, like, ZERO use of it). So, version 7 was to be the *last* *release* of that system. They did a FULL rewrite, clean slate, for macOS 8. It had the "lazy 8" for its emblem -- the infinity sign. It had threads built into the kernel, it had memory protection, it did multitasking of course, and it supported their whizz-bang unique file system, their resource manager for managing memory -- the WORKS. AND ..... it didn't happen. The rewrite died on the vine, the way huge ground-up rewrites tend to do -- collapsed under its own weight. It was too much, too hard, too big a project, and it looked like it was not just late, its completion date was heading for infinity, just like its logo. They finally buried in the back lot, gave the existing code an injection of Botox, and brought out a version of MacOS 8 which was not really all that much of an upgrade. Ditto MacOS 9. But they still needed a better OS -- they were lagging farther and farther behind in some areas due to their old OS which, while innovative, just wasn't up to having a real scheduler and memory manager "bolted on" like a turbo charger. What to do? They almost bought Be-OS, but it didn't work out, I forget why. And then, finally, re-enter Steve Jobs, deus ex machina, bearing a fully working operating system. The deal with Next Computing was done, and the old MacOS was thrown in the bay and replaced with a *completely* *different* *system*. I mean, forget "rewrite", this was like replacing System 360 with Vax VMS. There was no relationship whatsoever between MacOS 9 and MacOS 10. The system which Steve Jobs came back from Next with was Darwin, and as I've mentioned previously, it's a Unix derivative, based on BSD Unix, with the CMU-Mach microkernel changes, and with a lot of custom improvements done at Next Computing. This was mainstream heavy-computer-science stuff, totally different from the old home-grown, alternative-science type MacOS which had been on all Macs from the beginning of time up through MacOS 9. The fact that they managed to get Darwin to run *some* of the old Mac software is remarkable. The fact that they didn't make it "fully compatible" was simply inevitable; it would have been just about impossible to maintain full compatibility across that kind of divide. The most amazing fact about all this is that they ... somehow ... maintained compatibility with the old Mac file system. I don't know the details, and I didn't even know they had done so until it came up by accident during a concall with some developers at Apple. Hats off to them, I wouldn't have thought that was possible -- the old FS was very, very different from a modern Unix file system. Anyway, enough of this. (If you haven't guessed, I worked as a Mac programmer for a year or two, way back when, when a lot of their software was written in Pascal -- a very nice language, too bad it died. These days I still do some Mac programming, but only bare-metal type work, down deep in the bowels; I haven't even *seen* a modern Mac in action, and I have never so much as clicked a mouse on a NextStep desktop. I go to work over the Internet and my desktop is Linux. The only Mac physically in the building is an old Powerbook running MacOS 7, which I still have because I couldn't find anyone to give it away to before we moved.)