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.)

Reply via email to