C integral types [was Re: Semi-OT: Why Kids Can't use Computers] (fwd)

D. Hugh Redelmeier hugh-pmF8o41NoarQT0dZR+AlfA at public.gmane.org
Tue Aug 20 02:48:29 UTC 2013


| From: Lennart Sorensen <lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org>

| On Sun, Aug 18, 2013 at 09:46:05AM -0400, D. Hugh Redelmeier wrote:

| > The next generation was interesting too.  The 80286 had a decent on-board 
| > MMU (no paging); almost no sytem ended up using that during the chip's 
| > useful lifetime.  The 68020 (later) had a not-so-great optional separate 
| > MMU chip so Sun built their own.
| 
| I thought OS/2 made use of it.

The 386 was introduced in 1985.  PCs using it came out in 1986.

OS/2 was first released in December 1987, but probably wasn't useful
(text mode only, ...).  Released a year later, 1.1 had a GUI.

So if you wanted to run OS/2, you probably had a 386.  It would
happily run as a 286.  Most 386s spent their lives emulating 8086s and
perhaps 80286s.

PC hardware was cutting edge because that was where the competition
was.

PC operating systems were real lagards because there was no
competition.  I realize that word is ambiguous.  There certainly were
a reasonable number of competing OSes (i.e. competition) but the
actual struggle was so one-sided that it didn't appear to be a
competition.

Reasonable choices of OS for PCs over the years.

- DOS

- From Digital Research: CP/M 86, MP/M (multitasking version), DrDOS

- UCSD Pascal

- various genuine UNIXes (quite a few good ones once the 386 came
  out).  Xenix worked well on 286s (I ran it on an 8086).

- UNIX clones: Coherent, Whitesmith's Idris, Minix, and others I've forgotten

- BeOS

- modern UNIXes: *BSD, Linux, OSX, Solaris

| > So: dirt cheap mass-market 286 systems came out about the same time as
| > cheap 68000 systems.  Comparing 8086 with 68000 isn't completely fair
| > due to the different introduction dates.
| 
| But they were being considered for a new design at the same time.
| So I think the comparison is fair.

After the 68000 became viable, when was an 8088 considered for a new
design of a personal computer that was not meant to be PC-compatible?
I guess we don't actually know.  But if you judge by design wins, I
cannot remember any.  Unfortunately, I don't think that the 286 won
any either, so it really doesn't make my point.

| > Intel's instruction set architecture was inferior to Motorola's.  Not
| > so clear about everything else, which does tend to matter.  The 386
| > instruction set was as clean as the 68k.
| 
| I have written MMU code for the 386.  What a mess.

In what way?

| I must admit I have never looked at the MMU code for the 68k series
| (after all they didn't have it until the 68020 with the optional MMU).
| 
| They are both very much CISC.  I think these days ARM and PowerPC are
| much nicer to work with.

The original ARM MMU had a serious problem.  The cache was tagged with
virtual addresses.  So when you changed the MMU, you had to flush and
invalidate each cache entry.  Oh, and flushing, as befits a RISC
design, took a lot of instructions (one for every cache element?).
That made process switching, if it involved an address space switch (as
in Linux) quite expensive.
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list