Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!seismo!mcvax!inria!axis!philip From: philip@axis.UUCP Newsgroups: comp.os.minix Subject: Re: Which clones *don't* run MINIX Message-ID: <172@axis.UUCP> Date: Sun, 8-Feb-87 04:45:29 EST Article-I.D.: axis.172 Posted: Sun Feb 8 04:45:29 1987 Date-Received: Mon, 9-Feb-87 04:14:24 EST References: <275@ihnp3.UUCP> <459@moncol.UUCP> <2529@well.UUCP> Organization: Axis Digital, Paris Lines: 29 Keywords: MINIX BIOS COMPATIBILITY Summary: BIOS is rubbish In article <2529@well.UUCP>, hrh@well.UUCP writes: > My apologies if this is a dumb question, by why the design decision to > make MINIX so hardware-dependant. Why wasn't the BIOS used? Does the > BIOS not provide enough functionality? If the problem is just speed, > why not write a slower version for those of us whose chips don't have > the right pedigree? The hardware dependance strikes at one of the > basic tentents of UNIX philosophy. This is explained in the book. It is also almost certainly explaine if you have ever tried to use BIOS calls yourself - certain of them can only be used in certain circumstances, and others leave the machine in an unstable state, which must be rectified by making another BIOS call (with parameters set so that it does nothing) to make the machine stable again .... But, the most important reason (as given in the book) is that the BIOS calls do not use interrupts. So, when your shell does a read(), BIOS loops on the status bit of the serial line UART (for example), and the machine effectively stops for all other processes. BIOS/MSDOS/PCDOS and the rest realy are single process machines, and in general, no part of them is useful in a 'real' computing environment. MINIX does actually make one BIOS call - at startup, to see if the machine has a mono or colour board installed. It also relies upon the BIOS chip to load the bootstrap program. Philip