From mboxrd@z Thu Jan 1 00:00:00 1970 From: P.A.Osborne@ukc.ac.uk (P.A.Osborne) Date: Tue, 5 Feb 2002 10:42:44 +0000 Subject: [TUHS] Re: Porting Unix v6 to i386 In-Reply-To: <3C5F074B.5080802@pacbell.net>; from MichaelDavidson@pacbell.net on Mon, Feb 04, 2002 at 02:12:27PM -0800 References: <02013117091301.00697@linux> <200201311845.UAA17935@mole.nixu.fi> <20020201111256.A538@wantadilla.lemis.com> <3C5F074B.5080802@pacbell.net> Message-ID: <20020205104244.C25428@apple.ukc.ac.uk> On Mon, Feb 04, 2002 at 02:12:27PM -0800, Michael Davidson wrote: > I am inclined to think that *none* of the other operating systems that > have been mentioned > - Linux, Minix, BSD UNIX etc - are of much use *except* as a reference > for how to do > certain things with the hardware (and they probably aren't even very > good for that purpose) I feel that Linux and *BSD are possibly overkill for reference as a device driver model. Mainly because they have evolved so far on from what Vx is and they were even in the earliest days. I DO feel however that the source of a current PC system could be a good example of how to talk to the floppy, keyboard etc etc at the lowest level ie performing the read, write etc etc. So because of its small size and the fact that it doesn't have hundreds of people editing the code then say MINIX could be very usefull as a "how did they read from the floppy drive"; NOT how did they do process scheduling. So for example taking the source for the RK driver from V6 rk.c: If we were say in a PC version to call the floppy drive RK (why not?), then the aim would surely be to rewrite the appropriate functions so they are specific to the PC floppy drive. > UNIX has come a *long* way since V6 and V7, and a modern BSD device > driver with > support for disk partitioning schemes, bad block mapping and > who-knows-what-else is a > very different beast from the V6 rk11 driver. Of course it is. Otherwise I would still be using a magnet to edit the hard disk the hard way. I don't think for one minute we should provide that level of sophistication. Instead we should aim at getting a "1970s version of Unix" running on a PC. So initially the teletype becomes the screen and the keyboard and the disk unit becomes say the floppy drive. Later things can be expanded to talk IDE/SCSI whatever - but at that point you are evolving the "1970s version of Unix" on a stage further - which at present is not what I (at least) consider a goal of any potential porting project to be. It becomes part of a wish list. At present I would be extremely happy with being able to put a 1.44MB floppy disk in a PC and watch the PC boot an early Unix, provide a shell and be able to use a few tools. I don't think that initially we should aim for any more than that. My apologies if I am raining on anyones parade or this mail has gone out of context to the one I am replying to, or is even turning into a rant. Sorry if I am irritating anyone. > To me, at least, the "obvious" way to get a V6 or V7 disk driver working > is to do exactly > what almost everyone used to do when faced with this problem - you start > with > something like the rk11 driver, study it until you understand how it > works (or at least > think that you do ...) and then modify it to talk to your particular > piece of hardware. Exactly. That way you waste less time mucking around. > From that perspective, what you *really* need is good documentation for > the PC > hardware that you are going to be dealing with - ie interrupt > controller, dma controller, > floppy controller, ide interface etc. The PC Indispensible Hardware Book ISBN: 0201596164 is dead good for this. A quick look at Amazon reveals that there is a new edition - which is going to cover hardware we are unlikely to use - so an earlier edition may be found fairly cheaply. Besides I am not forking out for another copy just yet - the wifes course books are crippling my bank account as it is. :-) Regards Paul