[comp.os.minix] Hardware Dependance

matt@inuxf.UUCP (02/07/87)

> 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.
> 
> 
> -- 
> The opinions expressed are my own, but you're welcome to share them.
> Harry Henderson (freelance technical editor/writer).

It seems to me that since MINIX was designed as an educational tool,
it may have been thought to be more educational to be able to see actual
driver code instead of a BIOS call using a software interrupt.  Not much
to be learned there except the inefficiencies of MSDOS lower layers :-).

moraes@utcsri.UUCP (Mark A. Moraes) (02/11/87)

> > 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.
> > 
> > 
> > -- 
> > The opinions expressed are my own, but you're welcome to share them.
> > Harry Henderson (freelance technical editor/writer).
> 
> It seems to me that since MINIX was designed as an educational tool,
> it may have been thought to be more educational to be able to see actual
> driver code instead of a BIOS call using a software interrupt.  Not much
> to be learned there except the inefficiencies of MSDOS lower layers :-).

I suspect the main reason BIOS was not used is that it is
not re-entrant - at least 2.0 is not. That promptly makes
serious UNIX stuff impossible, or at least darn dificult!
It is probably much cleaner to start at the lowest level .

Mark Moraes.

matt@inuxf.UUCP (02/13/87)

> > > 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.
> > > Harry Henderson (freelance technical editor/writer).
> > ( --ME-- )
> > It seems to me that since MINIX was designed as an educational tool,
> > it may have been thought to be more educational to be able to see actual
> > driver code instead of a BIOS call using a software interrupt.  Not much
> > to be learned there except the inefficiencies of MSDOS lower layers :-).
> 
> I suspect the main reason BIOS was not used is that it is
> not re-entrant - at least 2.0 is not. That promptly makes
> serious UNIX stuff impossible, or at least darn dificult!
> It is probably much cleaner to start at the lowest level .
> 
> Mark Moraes.

On a little reflection this seems to be obvious.  I shot from the hip on my 
above response (the 'educational tool' theory) and was wide of the target. 
I still think my point is valid though.  A student will learn more from 
viewing driver code than a simple software interrupt.


 Matt Verner   				UUCP:  ...ihnp4!inuxc!matt
 AT&T Graphics Software Labs		AT&T:  (317) 844-4364
 Indianapolis,  IN

           "The whole point of this sentence is to clearly
             explain the point this sentence is making."

scott@tg.UUCP (02/14/87)

In article <4114@utcsri.UUCP> moraes@utcsri.UUCP (Mark A. Moraes) writes:
>I suspect the main reason BIOS was not used is that it is
>not re-entrant - at least 2.0 is not. That promptly makes
>serious UNIX stuff impossible, or at least darn dificult!
>It is probably much cleaner to start at the lowest level .
>
>Mark Moraes.

This is something I was wondering about since it was mentioned a couple
of weeks ago.  How is the BIOS not re-entrant?  I could understand the
argument against using the ROM because it is slow, or that in a it will
not function correctly multi-user environment because it will not
interleave requests, or even better use of the hardware can be gained
without the BIOS.  But, without actually seeing the BIOS code, I can't
see how it is not re-entrant.

I think just an email note explaining is appropriate unless there are
alot of people interested in this.

Scott Barman
{philabs, pyrnj}!tg!scott

pingel@wang7.UUCP (02/21/87)

Please note that rom code uses static variables in low core.  See 40:42 for
7 bytes of floppy controller status.  This is referanced on line 134, and
lines 2903 - 2961 of rom listing in IBM Technical Referance manual.
Furthermore, there is no locking around this code via interrupt disables.

This is just one example.

-- 
Lee Pingel, M/S 014790			  harvard!vaxine!ima--+
Wang Laboratories Inc.			decvax!wanginst!wang--+---wang7!pingel
1 Industrial Ave.			  appollo!vaxine!ima--+
Lowell, MA 01851                            harvard!masscomp--+