From: linstee@dutecaj.et.tudelft.nl (Erik van Linstee)
Subject: Re: Windows 3.1 an "operating system"?
Organization: Delft University of Technology, Dept. of Electrical Engineering
Date: Mon, 23 Nov 1992 13:57:36 GMT

tlilley@jarthur.claremont.edu (Thomas (Ted) Lilley) writes:


>Okay, you lamers, since I'm tired of looking at this stupid BIOS crap, I
>thought I'd try to give you some resolution, although I'm sure I'll just
>be throwing a log on the fire, but what  the heck.

>From "Computer Operating Systems for micros, minis and mainframes", by
>David Barron, Professor of Computer Studies, University of Southampton:

>	"CP/M is made up of three modules, called BDOS, BIOS and CCP.

>	(1) BDOS, the Basic Disc Operating System, .....

>	(2) CCP (Command Control Processor) is responsible for the user
>	    interface...

>	(3) BIOS (Basic Input Output System) is the only part of CP/M that is
>	hardware dependent.  It implements the system calls of BDOS, mapping
>	the hardware-independent interface on to the actual hardware devices
>	in use. Each microcomputer manufacturer supporting CP/M provides a
>	BIOS customized to his particular hardware."
>(p. 26-27)

>	"In CP/M all the hardware-dependent code is gathered into BIOS, and
>	BDOS presents a hardware-independent interface to the user."
>(p. 93)


>Now, obviously, CP/M != DOS.  The above quotes do not prove that the BIOS is
>part of DOS.  However, all arguments that the BIOS *can't* be part of
>DOS because the  BIOS is firmware, or part of the architecture, are wrong,
>else the BIOS could not have been part of CP/M.

But what exactly is CP/M? Whatever it is, the BIOS interface was designed
for it. It wasn't for DOS.
It appears to me that MSDOS is BDOS + CPP in the above scheme.

>In fact, as you can see from the second quote, the BIOS was an attempt at
>modularizing the operating system into hardware dependent and independent
>layers.  The fact that the machine makers distribute the BIOS along with
>the hardware is a matter of efficiency, rather than a separation between
>CP/M and the BIOS as operating system and firmware.  It obviously would be
>infeasible for the CP/M maker to also have to write the BIOS for all hardware
>that could be  used in the system.  By virtue of the fact that "each micro-
>computer manufacturer *supporting* CP/M provides a BIOS", the manufacturer
>has to program to the CP/M specs, much like today's BIOS manufacturer's
>must program to  the standards.  That is because the BIOS is a layer of
>the disk operating system (when I say disk operating system, I do not mean
>DOS in specific.  CP/M is a disk operating system, in contrast to a true
>operating system).

>I would say that the similarities between CP/M and DOS would warrant
>the statement that the BIOS is part of DOS.

I would say not, the BIOS is part of the CP/M design. CP/M defines
the architecture, the BIOS manufacturers design the BIOS implementation.
I do not know of such a DOS architecture design, so let us know if
you can give a similar quote with regards to DOS as you did in the
above.


>But that is another argument.

>Any replies to this letter without constructive (i.e. more than trying to
>tear apart my statements), supported argumentation should be directed to
>/dev/null.

>Ted
>In article <1992Nov20.181936.23620@mksol.dseg.ti.com> mccall@mksol.dseg.ti.com (fred j mccall 575-3539) writes:
>>In <1992Nov18.184602.13761@nosc.mil> discar@nosc.mil (Joe Discar) writes:
>>
>>>In article <1992Nov18.105730.27496@donau.et.tudelft.nl> linstee@dutecaj.et.tudelft.nl (Erik van Linstee) writes:
>>>>discar@nosc.mil (Joe Discar) writes:
>>>>
>>
>>The following was apparently originally aimed at me, but I didn't get
>>the original post.
>>
>>>>>Gee, stop your idiotic blabbing--you are very quick to say that I make up
>>>>>my own definitions, yet you never post what yours are.  OK, Mr. Wizard,
>>>>>what is an Operating System?  What is a Computer System? What is
>>>>>a System?  Answer or shut up (I'm tired of these uneducated, closed-minded
>>>>>posts).  BTW.  Before you even try to blast me about what I mean by
>>>>>"operating SYSTEM" <--- same emphasis as my previous post...
>>>>
>>>>>System  (sis-tem), n.  1.  An assemblage or combination of things or parts
>>>>>forming a complex or unitary whole.
>>>>
>>>>>		       Random House College Dictionary.
>>>>
>>>>>Okay, Spassky, your move.
>>
>>Let me get this straight.  You're using HALF the phrase FROM A
>>DICTIONARY DEFINITION to arrive at you obviously incorrect definition
>>of 'operating system' and you categorize what *I* say as "idiotic
>>blabbing"?   BWwwwaaahhaaaahaaaaahaaaa!
>>
>>In case you haven't figured it out yet, Joe, you can't use a college
>>dictionary to get definitive definitions of technical phrases.
>>
>>>>
>>>>Well, I'm not Spassky, but I'll move anyway. If you were to change the
>>>>phrase "operating system" into "computer system" you're right. Cause
>>
>>>No, actually if you consider that no matter which textbook you reference--an
>>>operating system is *software* that accomplishes x,y,z functions--then an
>>>OS, being a "system" can be thought of as an assemblage of *software* that
>>>forms a "complex or unitary whole" (implied: to perform the functions of
>>>an OS).  Therefore an "operating system" only includes software (the drivers,
>>>the APIs, etc.) whereas a "computer system" includes both hardware and 
>>>software.
>>
>>Semi-true so far.  However, not all software is part of the operating
>>system.  Certain low-level hardware specific things most definitely
>>are NOT part of the operating system -- they are part of the hardware
>>architecture the COMPUTER SYSTEM ARCHITECTURE.
>>
>>>As I said, for DOS, the BIOS is definitely part of the "operating system."
>>
>>Well, you said that, but that doesn't make it true.  And it isn't.
>>The microcode in the CPU is software -- is it part of the operating
>>system?  Not hardly.
>>
>>>Is it a part of OS/2?  Only to boot--unless it is used for something else,
>>>such as a DOS VM window (which I am not certain it is).  Is the BIOS software?
>>
>>
>>
>>>As I stated before, lots of people argue if firmware is hardware or software.
>>>If it is hardware, then the BIOS is NOT part of the operating system (but
>>>part of the "computer system")--if it's software, then the BIOS can be 
>>>considered part of DOS.  
>>
>>It could also be considered part of a moose, wehther it's software or
>>not.  However, considering it such doesn't make it a fact.
>>
>>>I, being more a code slinger than a solder
>>>shooter, consider the BIOS software, and therefore part of the OS.
>>
>>Sorry, no cigar.  The BIOS is specific to the ARCHITECTURE, not the
>>operating system.  What do you consider the microcode inside the CPU?
>>Are we to believe that that is part of DOIS as well?
>>
>>>>that's what you appear to be referencing here. You seem to argue that
>>>>the components that make the system work are part of that system. Well,
>>>>that depends on what system you're considering. You say that the operating
>>>>system is the collection of parts that let the apps use the hardware.
>>
>>>I say that an operating SYSTEM is a collection of *software* parts that let
>>>the apps use the hardware (I am not trying to change the textbook definition
>>>of an OS, all of which agree that an OS is software)....
>>
>>Generally true, but FIRMWARE is not considered part of the operating
>>system (unless the whole operating system is blown into a PROM or
>>something. 
>>
>>>>If so, you would have to include the hardware in that. Dos uses the
>>>>BIOS and that makes it part of DOS you say, now I ask you, where does
>>>>the D in DOS stand for? 
>>
>>>... so therefore I cannot include "hardware" in that--since THAT would
>>>change the definition of an operating system.
>>
>>So what about the microcode?  [Are you tired of hearing that yet?]
>>
>>>>Or, early IBM machines had the Basic interpreter
>>>>included in the BIOS, does that make Basic part of DOS? If it does,
>>>>I have a deficient DOS cause I never had Basic on it. And what about
>>
>>>And if you were using those DOS utilities (BASIC and BASICA), yes you would
>>>have a deficient DOS.  Now, of course, DOS doesn't depend on the BASIC
>>>ROMs, so therefore the BASIC ROMs are no longer a part of DOS... as it's
>>>running.
>>
>>Ok, now BASIC is part of DOS (actually, it's an application that runs
>>using DOS).
>>
>>>>the BIOS on the video card, or the harddisk controler? Are they all
>>>>part of DOS. Clearly not. DOS uses them because they are there, as
>>
>>>Are drivers a part of OS/2?  The BIOS on a video card functions identically
>>>to a software driver loaded from disk.
>>
>>Drivers are 'software' -- even so, they aren't 'part' of the operating
>>system, per se -- they are device drivers FOR the operating system for
>>a specific piece of hardware.
>>
>>>>it uses the microcode on the CPU. The Operating System nucleus is the
>>>>first layer above the architecture it is built on (generally the hardware)
>>
>>>And again, we reach a semantical issue: is the BIOS software or hardware?
>>
>>The BIOS is software, but it is NOT part of the operating system.
>>
>>>>and the architecture DOS was built on is the IBM PC, a machine
>>>>consisting of a 8086 CPU, several parts for the interrupt mechanism,
>>>>an io controler, a data bus and a BIOS to provide an interface to the
>>>>hardware then available.
>>>>That is the architecture.
>>
>>>Then why does DOS work on AT&T BIOSless machines?  But the DOS applications that
>>>rely on techniques taught in the Waite Group's Programming MS-DOS book
>>>break on such systems?
>>
>>>>DOS is a piece of software to be loaded from disk to provide an
>>>>abstraction from the hardware so users can load applications, manipulate
>>>>files and use the harware to their avail.
>>>>That is the operating system called DOS.
>>
>>>Correct.  A good OS should insulate the programmer from the lower software 
>>>layers.  But is it not still valid to design an OS that doesn't perform
>>>such insulation--in other words, to make the BIOS API an inherent part of
>>>DOS?
>>
>>No.  DOS can be written TO the BIOS, but that doesn't make the BIOS
>>part of DOS.
>>
>>>>To seperate pieces, combined together being a useful computer system.
>>
>>>Or the software parts into an Operating System.  Semantics:  Is the BIOS
>>>software or hardware?
>>
>>All 'software parts' aren't in the operating system.  The BIOS is
>>software, and not a part of the operating system.
>>
>>>>
>>>>To say it once again, the BIOS is not part of DOS, is not part of OS2,
>>>>is not part of Xenix, is not part of Linux, is not part of BSD386,
>>>>is not part of ...
>>
>>>This is only true, again, if you do not consider the BIOS a piece of software.
>>
>>Nonesense.  Your contention is only true if you say that any software
>>that has to do with hardware is part of the operating system.  So, if
>>I write a game under DOS that bypasses DOS and the BIOS and goes
>>directly to the hardware for video output, is that game now part of
>>DOS (or is DOS now part of the game)?  In no case is that game an
>>'operating system', even though it bypasses one portion of the
>>operating system. 
>>
>>>>It is part of the PC architecture.
>>>>
>>>>
>>
>>>So is DOS, so is OS/2, so is Windows.  
>>
>>NONSENSE!  Installable software, whether it is an operating system or
>>not, is NOT part of a hardware platform architecture.
>>
>>>I believe (as I said before in a 
>>>previous post) that the issue of the BIOS being a part of OS/2 is not
>>>quite clear since OS/2 "uses" the BIOS only to boot (and I am uncertain if
>>>OS/2 depends on the BIOS to perform DOS windows).  But the BIOS is 
>>>definitely part of the DOS architecture--which is why DOS software breaks
>>>if the BIOS is not very close to 100% PC compliant.
>>
>>The phrase 'DOS architecture' is semantically null.  Software doesn't
>>have an 'architecture' -- it RUNS on one.
>>
>>>>>>
>>>>>>Yes, the BIOS *IS* the same, but by your definitions, one of DOS and
>>>>>>OS/2 must be 'better' because you can make more money with it.
>>>>>>Therefore, using your 'bent' definitions of 'best', the one you can
>>>>>>make the most money with must have the 'best' BIOS, even though they
>>>>>>are in fact identical.
>>>>
>>>>>I have never said that one BIOS is better than another (gawd, do you need to
>>>>>take reading lessons too? :)  I simply said that they are a foundation (or
>>>>>at least in use by) standard PC operating systems; DOS uses the BIOS
>>>>>extensively, OS/2 uses it to boot.  The argument hasn't been which OS has the
>>>>>"best" BIOS--but rather, whether the BIOS can be thought of as part of an
>>>>>operating system.  You must be thinking of another thread (or not thinking
>>>>>at all)...  :-)
>>
>>Certainly.  Since your definition of 'best' devolves to financial
>>advantage for Joe Discar, surely the decision that OS/2 or Windows is
>>'best' also says that the BIOS (which you claim is part of them) must
>>also be 'best'.
>>
>>>Right.  But as I said, since OS/2 only uses the BIOS to boot, the 
>>>classification isn't clear.  However, if it depends on the BIOS after it
>>>boots, then the BIOS is part of OS/2.  There is a simple test for this,
>>>of course, simply disable the select line on the BIOS ROM after OS/2
>>>has booted--and if it still runs without fail, and OS/2 applications
>>>don't break, then the BIOS is NOT part of OS/2.
>>
>>Gee, simply rip the microcode out of the CPU and see what runs.  That
>>microcode must then be part of the operating system.  Except, of
>>course, that it isn't.
>>
>>Another question for you, just to see if we can get you to think about
>>this issue.  Suppose I implement a clone of the 80386 CPU entirely
>>using PALs.  Now EVERYTHING is 'software'.  Is the computer now part
>>of the operating system?
>>
>>-- 
>>"Insisting on perfect safety is for people who don't have the balls to live
>> in the real world."   -- Mary Shafer, NASA Ames Dryden
>>------------------------------------------------------------------------------
>>Fred.McCall@dseg.ti.com - I don't speak for others and they don't speak for me.


-- 
Erik van Linstee   |   Delft University of Technology   |   I'll be back ... 
----
   We are god, 'cause only we can create the idea of his existence
   in our holy brains...  (Yello)