The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: norman@nose.cs.utoronto.ca (norman@nose.cs.utoronto.ca)
Subject: [TUHS] Re: Porting Unix v6 to i386
Date: Mon, 04 Feb 2002 17:23:31 -0500	[thread overview]
Message-ID: <200202042224.IAA18805@guardian-ext.bond.edu.au> (raw)

Greg Lehey:

  To repeat what I said earlier: the hardware-dependent code isn't very
  interesting, it's the kernel interfaces.  Minix is not UNIX; BSD is.
  You'll find it easier to adapt a BSD driver to the Sixth or Seventh
  Edition than you will a Minix or Linux driver.

It depends on approach, which depends in turn on intent.

If the intent is to get a system up and running as quickly as possible,
it would probably be best to shoehorn existing code into the existing
old UNIX framework, and code from a current BSD system is probably easier
to do that with than code from Minix (says someone who has looked at
neither within living memory).

If the intent is to learn about the innards of operating systems and
how they interact with hardware, or about the specifics of old UNIXes
or the OS aspects of Intel hardware, it is better to compare different
descriptions of the hardware (whether abstract descriptions in books
or pragmatic ones in code), write your own small test programs to be
run on bare hardware or as special cases within some system that
already runs there, and eventually write your own code or adopt code
that you now understand thoroughly.

Which of these you consider fun depends both on your goals and on your
personal taste.  Both are worthy of respect.

In days long past, when I did a lot of work to make a research version
of UNIX as robust as possible against hardware flaws (recover if possible,
at least explain clearly what broke if not) and to port it to a few new
VAXes of the time, I found the best hardware information to lie in the
VAX/VMS source fiche.  The UNIXes of the day tended either to crash on
the slightest hardware error or to ignore the error and just misbehave
until rebooted.  Stealing code from them would have been easier, but it
wouldn't have done what I wanted.  Reading the VMS sources and treating
them as a hardware reference manual did.  Modern UNIXes doubtless do
better, but the point is that different systems do different things
with the hardware, and if your goal is understanding and not just
function, you will gain more by looking in many places.

An irrelevant but fun anecdote:  it could be argued that the resulting
code recovered too smoothly from errors.  One day I discovered that
one of our systems was running more slowly than usual, though it was
otherwise OK; checking back on the paper console log, I discovered
that several weeks earlier it had had a hard cache error, reported it
and cheerfully turned off the bad half of the cache, and continued on
its way.  So I called Field Service and we scheduled a convenient time
to run diagnostics--yes, the hardware really had failed--and replace
the bad CPU board; but it would have been better to have noticed
earlier.  I watched the console logs more carefully after that.

Norman Wilson
Toronto ON



             reply	other threads:[~2002-02-04 22:23 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-04 22:23 norman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-08-22 20:52 [TUHS] " russ
2002-08-22 21:23 ` Peter Jeremy
2002-08-22 23:56   ` Warren Toomey
     [not found] <20020707154509.A172@muppet.labs.de>
2002-07-08  1:09 ` [TUHS] " Warren Toomey
2002-07-08 10:33   ` Sven Dehmlow
2002-07-08 13:52     ` SZIGETI Szabolcs
2002-07-08 14:15       ` Warren Toomey
2002-06-06 17:02 Mike Haertel
2002-06-11 22:31 ` Peter Jeremy
2002-06-11 22:52   ` Mike Haertel
2002-06-05 18:49 Ian King
2002-06-06  7:07 ` Szigeti Szabolcs
2002-06-06 10:20   ` Warren Toomey
     [not found] <200206050222.g552MHm88208@minnie.tuhs.org>
2002-06-05 11:54 ` John Chung
2002-06-04 11:53 Szigeti Szabolcs
2002-06-04 23:34 ` Warren Toomey
2002-02-15  0:07 John Holden
     [not found] <no.id>
2002-01-30  1:57 ` Aaron J. Grier
2002-01-30  9:18   ` P.A.Osborne
2002-01-30 18:00     ` Sven Dehmlow
2002-01-30 19:50       ` Johnny Billquist
2002-01-30 21:40         ` Michael Davidson
2002-01-31 10:26         ` P.A.Osborne
2002-01-31 18:51           ` Johnny Billquist
2002-02-01 10:27             ` P.A.Osborne
2002-01-31 19:04           ` Mike Haertel
2002-01-30 19:52     ` Mike Haertel
2002-01-30 20:54       ` M. Warner Losh
2002-01-30 22:47         ` Greg Lehey
2002-03-03 12:51       ` Cyrille Lefevre
2002-03-03 20:14         ` Peter Jeremy
2002-03-03 20:46           ` Tim Shoppa
2002-03-03 21:07             ` Peter Jeremy
2002-01-31  9:18     ` Lauri Aarnio
2002-01-31 11:00       ` P.A.Osborne
2002-01-31 16:09         ` Sven Dehmlow
2002-01-31 18:45           ` Lauri Aarnio
2002-02-01  0:42             ` Greg Lehey
2002-02-04 22:12               ` Michael Davidson
2002-02-05 10:42                 ` P.A.Osborne
2002-02-06 16:36                   ` Jeffrey S. Sharp
2002-02-07 10:23                     ` P.A.Osborne
2002-01-30 22:44   ` Greg Lehey
2002-02-14 22:30 ` Aaron J. Grier
2002-02-15  3:08   ` Peter Jeremy
2002-02-15  8:08   ` Lars Brinkhoff
     [not found] <E16WjYq-0005RL-00@mercury.ukc.ac.uk>
2002-02-04  9:33 ` P.A.Osborne
2002-02-04 10:57   ` Warren Toomey
2002-02-04 11:48     ` P.A.Osborne
     [not found] <20020131102843.C19170@apple.ukc.ac.uk>
     [not found] ` <200201311847.g0VIlHj41858@ducky.net>
2002-02-01 10:24   ` P.A.Osborne
2002-01-30 23:51 Grant Maizels
2002-01-30 21:52 John Holden

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=200202042224.IAA18805@guardian-ext.bond.edu.au \
    --to=norman@nose.cs.utoronto.ca \
    /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).