From: mccall@mksol.dseg.ti.com (fred j mccall 575-3539)
Subject: Re: Windows 3.1 an "operating system"?
Organization: Texas Instruments Inc
Date: Fri, 20 Nov 1992 18:44:42 GMT

In <1992Nov19.210956.8775@nosc.mil> discar@nosc.mil (Joe Discar) writes:


>I've taken the liberty  to rearrange the chronology of the quotes, so you
>could better understand--that you recognize that PC programmers (other than
>myself)  consider the BIOS an intricate part of th operating system.

Gee, why not rearrange all the words while you're at it?  Could
probably have us all supporting your silly contention with only the
expenditure of a little more editing time.  ;-)

>This
>necessitates the belief that an oeprating system is software that provides
>services to user programs--regardless of the actual architecture (e.g., how
>such an OS is designed or layered).

Nothing like a tautological definition, Joe.  

>Joe:
>>
>>[Several levels of old comments deleted]
>>>As I said, for DOS, the BIOS is definitely part of the "operating system."
>>>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.  I, being more a code slinger than a solder
>>>shooter, consider the BIOS software, and therefore part of the OS.
>>>
>>
>>
>>>>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)....
>>>
>>
>>
>>I think you would be hard pressed to quote a textbook which said
>>that any software used by the OS is automatically part of it.

>Douglas Comer _Operating System Design, a XINU approach_, p. 1.

>"Hidden in every computer system is the software that controls processing, 
>manages resources, and communicates with external decices like disks and
>printers.  _Collectively_ [my emphasis], the programs that perform these
>chores are sometimes referred to as the executive, monitor, task manager,
>or kernel.  We will use the broader term OPERATING SYSTEM."

>It is clear at least in one textbook that an operating system is a collection
>of SOFTWARE parts...

No one argued against that.  However, note that it does not say that
ALL SOFTWARE USED BY THE OS IS PART OF IT.


>>>Then why does DOS work on AT&T BIOSless machines?  But the DOS applications that
>>I can't believe you said that... DOS can work on machines without BIOS because
>>DOS does not *need* the BIOS.  BIOS is not part of DOS.  Any program that does
>>not use DOS calls exclusively will not work on such a machine, whether it is


>>using the BIOS or accessing the hardware directly.
>>OK, since I messed up his questions, basically here it is again:
>>"Why do techniques taught in DOS programming manuals not work on systems 
>>without BIOS.
>>
>>This is because DOS has very limited functionallity, and to do some things
>>that every program needs to do it is necessary to either access the
>>hardware directly or use BIOS calls.  Since the BIOS is standardized,
>>naturally the books suggest using it.  

>Right, which is why I am suggesting that the argument is really
>semantic.  When *I* say "DOS" I really mean "DOS that runs on an 100%
>IBM PC compatible"--which is entirely different than the operating
>system "DOS that runs on ant AT&T".  Why?  Because of DOS's reliance on
>the BIOS to perform system functions, the two operating systems are not
>100% compatible.  

Yes, because the underlying architecture is slightly different.  

>The same is *not* true of OS/2 (or Unix) because these
>OS's provide suitable non-platform-specific APIs to system functions.
>But one of the reasons DOS *has* "limited functionality" is BECAUSE
>the designers relied that many operating-system functions would be performed
>directly by the BIOS.  And in this sense, the BIOS is "part of the design
>of the IBM PC Disk Operating System."

It is a DESIGN CONSIDERATION, not 'part of the design', unless they
designed the BIOS when they designed DOS and redesign it with each new
release of DOS -- and we both know that that just isn't happening. 


>>
>>>>DOS is a piece of software to be loaded from disk to provide an
>>

>>
>>>>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.
>>>

>Uh, actually I was being facetious.  Languages are not part of DOS (unless
>you extend an operating system's definition to what is included in the
>"packaging.")  Reference?  Again, Douglas Comer in _Operating System Design_, 
>p. 3 (1.3 WHAT AN OPERATING SYSTEM IS NOT):

>"First, an operating system is not a language or a compiler, even though
>vendors usually supply compilers with their systems...."

>However, if DOS itself used the BASIC ROM directly for an OS-related
>function (such as File Management or string processing), the BASIC ROM would
>indeed be part of the operating system.

No, it is part of SYSTEM FIRMWARE, which is not part of the operating
system, even if you classify firmware as software.


>>
>>
>>Uh, so is what you're saying that if you're *using* BASIC then it's part of
>>the OS?  BASIC is indeed now part of DOS, rather than the BIOS (although for
>>a while it was in both places, but only the DOS version could use the disk)
>>but this just means they have added BASIC to DOS and removed it from the 
>>BIOS.  It certainly does not mean that the BIOS is part of DOS.
>>
>>I really doubt that DOS ever depended on the BASIC ROMs.  Therefore, they are
>>certainly not part of DOS.  
>>

>I didn't intentionally sugggest they were.  Fred had, and I was trying to say
>that if DOS depended on it (which is doesn't), but if it did, it would be part
>of the operating system.

Yes, and you were still incorrect.  Just as you are incorrect in
saying that I brought them up.  I didn't.

>>[stuff deleted]
>>>>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
>>I can't believe you said that... DOS can work on machines without BIOS because
>>DOS does not *need* the BIOS.  BIOS is not part of DOS.  Any program that does
>>not use DOS calls exclusively will not work on such a machine, whether it is
>>using the BIOS or accessing the hardware directly.
>>

>Ahhh, but twhen I say "DOS" I refer to DOS running on a PC.  DOS on a PC is
>just as much "DOS" as DOS on an AT&T only from a general sense (much as
>my Wife and I belong to the same class "Man") but if the API changes because
>of the existence (or absense) of the BIOS, they are, technically, different
>operating systems (much as you and I are "Men" but we are different men).
>I don't know if I'm being clear... but the problem appears to be semantic.
>As you said, because of the design of DOS, many DOS programmers call the BIOS
>directly because the BIOS is part of the standard "DOS"--it is valid
>to consider that, if the yare programming DOS, the BIOS calls are there.

And so is all the hardware.  So what?

>>"Why do techniques taught in DOS programming manuals not work on systems 
>>without BIOS.
>>
>>This is because DOS has very limited functionallity, and to do some things
>>that every program needs to do it is necessary to either access the
>>hardware directly or use BIOS calls.  Since the BIOS is standardized,
>>naturally the books suggest using it.  

>This is because DOS's functionality only provide further enhancement to
>services provided in the BIOS.  If the functionality was already adequate
>in the BIOS, DOS does not attempt to duplicate it--relying on the fact that
>if the programmer wants to do that function he can call the BIOS.  In other
>words, the API provided for by the BIOS is inherited by DOS.

Yes, DOS *USES* the BIOS (and other system firmware).  That does *NOT*
make that firmware part of DOS.

>>
>>>>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?
>>>
>>
>>I would say that it is not valid, since that very statement implies that 
>>the BIOS pre-existed DOS.

>The BIOS did pre-exist DOS.  PC's ran just fine without a disk operating
>system, thank you... the BIOS (and BASIC) provided ample functionality
>at the time.

>>
>>["is BIOS hardware or software" statement deleted, since it is getting
>>  awfully repetitive]
>>

>But you still don't see the quandry.  If BIOS is hardware, it is not part of the
>OS.  If it software, then it is part of the OS (an OS being [Douglas p. 1]
>"Collectively, the *programs* that perform [process control, resource
>management, etc.]"

No, the fact that firmware can be considered 'software' does NOT make
it 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.
>>>There is the echo of another argument: several people have installed
>>>OS/2 on various machines--and could not boot because of BIOS problems (yet,
>>>may I point out that such "BIOS" problems do not exist on other operating
>>>systems such as Windows+DOS or DOS).  There are two schools of thought:
>>>(1)  The hardware is non-compliant (this is what most OS/2 advocates
>>>assert).  or (2)  OS/2 still needs ironing out (this is what the trade rags
>>>basically say).  Which is right?  Are incompatibility problems an issue with
>>>the hardware or with the software?
>>>
>>
>>That fact that OS/2 does not work with some BIOSs (just what is the plural of
>>BIOS?) implies that BIOS is part of the computer architecture. No one ever said
>>that OS/2  could not load on a machine because it had a DOS conflict because
>>DOS is an operating system, and OS/2 replaces it.

>Or implies that OS/2 is not designed to use the BIOS resources correctly.
>Look at the trade rags (November PC Magazine) is it OS/2's fault that
>it doesn't work on MAchine X?  At least some writers allude to it: or it
>wouldn't be an issue of which operating system is better.  But before I get
>flamed for THIS too: in the OS/2 architecture the BIOS is more hardware than 
>software--since the BIOS is only used (to my knowledge, how about DOS windows?)
>in that grey area called "booting".  In DOS, the BIOS is clearly software
>that has been integrated into DOS.

Nonsense.  The BIOS is *FIRMWARE* (or software) WHICH DOS RELIES ON.
That does ****** NOT****** make it part of DOS, anymore than the CPU
microcode is 'part of DOS', even though DOS relies on it being there. 

>>
>>
>>[referring to BIOS]
>>>>It is part of the PC architecture.
>>>>
>>>>
>>>
>>>So is DOS, so is OS/2, so is Windows.  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.
>>>
>>>
>>
>>>>>>>DOS<<<<<< is part of the PC architecture????? And OS/2 and Windows??
>>Blech!

>It depends on how you view an architecure.  Is the architecture the
>foundation?  The frame?  The walls? the ceiling lights?  If my PC is
>set up *only* to boot OS/2--and all software that I ever use or design to
>use uses OS/2--couldn't OS/2 be considered part of *my* PC architecture?

Yes, and if you view red as green you will probably get a lot of
traffic tickets.

>Architecture: \ar-ke-tek-cher\... 2  a: formation or construction as or as
>if as tje result of a conscious act   b: a unifying or coherent form or
>structure...

>	       Webster's 9th New Collegiate Dictionary

Here we go looking up technical terms in the college dictionary again ...

>>
>>I think maybe you should read Hennesey and Patterson for a definition of
>>computer architecture.
>>
>>You will probably find that the definition does not include every operating
>>system available for the computer.
>>

>Neither does the definition include every computer.  Any given definition 
>of  particular computer architecture is only valid for that instance.

No, but when one talks about a 'computer architecture', one is using a
specific term.  One that is NOT defined in your college dictionary.
The bits thatare included in a 'computer architecture' aren't just
random odds and sods; people who know what they're doing know what the
term means.

>One could say "*Generally* the BIOS is part of the PC architecture" but
>that is not altogether true.  At JPL I helped in the development of a
>biometric experimental machine based on the "PC architecture" where we
>ripped out the BIOS altogether and replaced it with our own  program.

Sure it is.  That's why the 'generally' is there.

>>
>>Doesn't it seem more logical that if you replace one operating system (DOS)
>>with another (OS/2, UNIX, anything) that the parts of the computer which
>>remain constant (video hardware, CPU, diskdrive, *BIOS*) are not part of
>>the operating system?
>>
>>It seems to me that your idea that BIOS is part of the operating system
>>leads to a number of inconsistancies.
>>
>>

>Only if you consider it part of the machine and not software in its own
>right.

Horse hockey!  The BIOS *is* part of the machine.  You can change it,
just like you change a disk drive.  It is *firmware*, and even though
it is software, firmware is generally regarded as part of the
ARCHITECTURE.  Operatins sytems are not.  Neither is firmware
considered 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.