The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: wes.parish@paradise.net.nz (Wesley Parish)
Subject: [TUHS] Gnu/Stallman (was Bugs in V6 'dcheck')
Date: Thu, 05 Jun 2014 21:17:04 +1200 (NZST)	[thread overview]
Message-ID: <1401959824.53903590d25f5@www.paradise.net.nz> (raw)
In-Reply-To: <20140605073112.GD10373@attic.nerdnet.nl>

Which of course raises the question: how did AmigaDOS manage context switches
and the like for its brand of multitasking? I know BYTE explained it in the
early 1990s, but I threw away all my BYTEs a couple of decades ago, and don't
remember the details.

Thanks

Wesley Parish

Quoting Arno Griffioen <arno.griffioen at ieee.org>:

> On Mon, Jun 02, 2014 at 10:24:48AM -0400, John Cowan wrote:
> > Ronald Natalie scripsit:
> > 
> > > Still with all it's flaws, on the 286 and later UNIX actually did
> run in
> > > protected mode, something it took ages for DOS/Windows (one can
> argue
> > > backwards compatibility with the early processors) or Apple (no
> excuse
> > > here, the early Macs were 68000's which had protection) to pick up
> upon.
> > 
> > The original Mac 128K was a 68000 processor, and IIRC memory
> protection
> > didn't arrive until the 68020.
> 
> As mentioned by others the 68010 could, with additional external
> hardware, 
> support memory management.
> 
> The original 68000 (and 8-bit data bus 68008) did already have the full
> 32
> bit instruction and data support of the complete family, but for MMU use
> it 
> lacked one critical feature in the fact that it did not push enough
> page-fault
> information on the stack to re-start an instruction in case of an
> (externally 
> signalled) page-fault.
> 
> So even if you interfaced external MMU logic then a basic 68000 was
> still in 
> trouble when a page fault occurred as it could not 'start over' the 
> faulted instruction.
> 
> The 68010 added the correct stack frames to be able to restart a
> faulted
> instruction and also added the first small performance enhancement in
> the 
> form of a 'loop mode' where the CPU could basically cache a small loop 
> and execute this without incurring addtional memory wait cycles.
> 
> As a result the '010 was usually used in various *NIX machines of the
> era like some SUN2's and various machines (one-offs or low production)
> from other brands.
> 
> Eg. I still have a machine in my collection which is from a small local
> 
> production run that utilises an '010 with a custom, but quite
> rudimentary, 
> MMU based on some simple logic chips and it used to run SVR2. Very
> slowly 
> as it had a whopping 1 Mbyte of RAM and the MMU could give you a virtual
> 
> memory size of 4 Mbyte. 
> 
> I did port MINIX to it and added memory management/protection support to
> 
> the kernel. Ran a lot faster :)
> 
> With the release of the '020 Motorola delivered their own full-blown
> (but 
> still external) MMU in the shape of the MC68851
> 
> Many non-UNIX '020 based machines of the era did not have the MC68851 on
> 
> board at all (eg. most Apples from the time) as it was relatively
> expensive 
> and could incur extra memory latency/cycles being an external unit.
> 
> With the '030 Motorola finally moved the MMU onto the same die as the
> CPU 
> (reducing the latency and cost) and it became more prevalent on more 
> platforms (although the cheaper 68EC030 was available without an MMU and
> 
> used in many machines)
> 
> Bringing this back to UNIX, I used to do some local supporting work at
> CBM for 
> the Commodore UNIX'es that were Amiga, and of course M68k based. 
> 
> The official Amiga 2000 '020 turboboard (or one of the A2500UX'es like I
> have 
> at home :) ) does have both the MC68851 MMU and the MC68881 FPU and
> these
> were used for a, mostly in-house at CBM, SVR3.2 based UNIX version. 
> 
> AmigaDOS of course also ran fine on it, but did not use the MMU.
> 
> The later, general release, SVR4 UNIX version was desgined to run on
> the
> '030 based A3000UX'es, although it still ran on the '020+MMU cards in
> their
> limited (4Mb) DRAM.
> 
> 								Bye, Arno.
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuh s
>  




  parent reply	other threads:[~2014-06-05  9:17 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-02  2:09 Doug McIlroy
2014-06-02  2:24 ` John Cowan
2014-06-02  2:59 ` Warner Losh
2014-06-02  3:17   ` Greg 'groggy' Lehey
2014-06-02  3:37     ` John Cowan
2014-06-02  4:08       ` scj
2014-06-02  5:03       ` Greg 'groggy' Lehey
2014-06-02 12:31         ` Ronald Natalie
2014-06-02  4:04     ` Nick Downing
2014-06-02  4:43       ` John Cowan
2014-06-02  6:23         ` arnold
2014-06-02 17:35           ` John Cowan
2014-06-02 18:44             ` Warner Losh
2014-06-02 18:52               ` John Cowan
2014-06-02  3:18   ` John Cowan
2014-06-02  6:08   ` Steve Nickolas
2014-06-02 12:04 ` Clem Cole
2014-06-02 12:27   ` Ronald Natalie
2014-06-02 13:28     ` Clem Cole
2014-06-02 14:11       ` Tim Bradshaw
2014-06-02 14:25         ` Clem Cole
2014-06-02 14:41           ` John Cowan
2014-06-02 14:50             ` Armando Stettner
2014-06-02 18:27               ` Brantley Coile
2014-06-02 18:52                 ` Dan Cross
2014-06-02 19:10                   ` arnold
2014-06-03  1:45                     ` Brantley Coile
2014-06-02 19:30                   ` John Cowan
2014-06-02 19:54                     ` Dan Cross
2014-06-02 23:37                       ` John Cowan
2014-06-03  1:24                         ` Dan Cross
2014-06-03  2:16                           ` John Cowan
2014-06-03  2:18                             ` Dan Cross
2014-06-02 19:47                   ` Chris Nehren
2014-06-02 20:23                     ` Dan Cross
2014-06-03 18:48                       ` [TUHS] Evolutionary Paths (was Gnu/Stallman (was Bugs in V6 'dcheck')) scj
2014-06-04  1:10                         ` Larry McVoy
2014-06-04  3:42                           ` Greg Chesson
2014-06-05  0:43                             ` Larry McVoy
2014-06-02 21:08                   ` [TUHS] Gnu/Stallman (was Bugs in V6 'dcheck') Charlie Kester
2014-06-03  0:37                   ` Tim Newsham
2014-06-02 20:06           ` Jacob Goense
2014-06-02 14:26         ` arnold
2014-06-02 14:30       ` John Cowan
2014-06-02 14:24     ` John Cowan
2014-06-02 14:29       ` Ronald Natalie
2014-06-02 14:37       ` Clem Cole
2014-06-05  7:31       ` Arno Griffioen
2014-06-05  8:24         ` emu
2014-06-05  9:17         ` Wesley Parish [this message]
2014-06-05 11:26           ` Brantley Coile
2014-06-05 13:34             ` Jesus Cea
2014-06-11 12:10           ` Michael Parson
2014-06-12  1:20             ` Wesley Parish
2014-06-05 15:07         ` Clem Cole
2014-06-05 18:26           ` Ronald Natalie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1401959824.53903590d25f5@www.paradise.net.nz \
    --to=wes.parish@paradise.net.nz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).