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: Thu, 19 Nov 1992 10:51:46 GMT

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 thought of "being a part of" only sounds silly if you idiotically try
>>>>>to "partition" a particular piece of software instead of viewing the 
>>>>>entire system.  My business makes use of computer distributors... this does
>>>>>not mean my business if a part of a particular computer distributor
>>>>>(or vice versa) but that both agencies are PART of the SAME DISTRIBUTION
>>>>>SYSTEM.
>>>>
>>>>>Likewise, although a BIOS can be written, developed, and tested by one
>>>>>agency--and the OS software is written, developed, marketed, etc. by another
>>>>>agency--when the OS is running on top of the BIOS, they are part of the
>>>>>same operating SYSTEM.  Likewise the hardware/operating system/application
>>>>>are all part of the Computer SYSTEM.  If dBASE III Plus decides to bypass
>>>>>DOS to make a video call--it doesn't mean that dBASE III Plus is not
>>>>>a DOS application.
>>>>
>>>>>Like always, you and I are arguing semantics.
>>>>
>>>>No, like always, you are making up your own definitions and then
>>>>insisting they they are the 'right' ones.  They aren't.
>>
>>>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.
>>
>>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.

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

So where does that leave the CPU? It's part software so is it
partially 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)....

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


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

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

So isn't the on-board BIOS? Doesn't it drive the parallel port, the serial
port, the keyboard? Doesn't any BIOS (Basic Input Output System) drive
the device it comes with? Like the VGA BIOS drives the video hardware?
Like the on-board BIOS drives the hardware it comes with?
If you answer this no, I cannot but think this is getting silly.


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

It is irrelevant. It is piece of the architecture. No definition of
architecture requires it to be either software or hardware.


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

The same reason why Unix works on different platforms. Because it was
implemented on such a machine. It just proves DOS doesn't need the BIOS
doesn't it?

>rely on techniques taught in the Waite Group's Programming MS-DOS book
>break on such systems?

Because the techniques fail maybe? Like because they depend on hardware
specifics instead of letting DOS take care of that?
Do I wonder why my assembly code for writing a filled square on the
PC screen doesn't work on the SUNs or IBMs or DECs around here?
Even though they support DOS emulation?


>>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 its not. It can be done, but it would be very silly. I would certainly
not employ a person who would even think of doing such after having
learned about operating systems.


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

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

It is an architectural problem. I have to seperate yet another piece
of code incorporated into the ROM in which the BIOS resides.
Nowadays many, if not all BIOS makers, include code in their BIOS
ROM to allow you to control the hardware. This is the piece of code
that can cause problems for OS/2 or other systems because it doesn't
setup the hardware correctly. It is not the actual BIOS, which is
the piece of code that provides an interface to the keyboard, parallel
port(s) and serial port(s), the timer and such.
So, if the piece of code in the BIOS ROMs which isn't part of the BIOS
doesn't set the hardware up properly, OS/2 might be in trouble, DOS
might be in trouble or any other OS might be in trouble. OS/2 most
likely will be because it so much depends on very strict timing, unlike
DOS which probably won't even notice the difference.


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

I just broke my wooden shoe, this is getting to silly.

>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

It does not need the BIOS to boot, it uses the bootstrap loader to
do that. So its in the same ROM as the BIOS is, big deal. Can't you
grasp what the BIOS is? Its the Basic Input Output System, not the
bootstrap loader, nor the built-in hardware setup program.
They only reside in the same ROM because that is efficient, not necessary.

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

It is the PC architecture. DOS doesn't break when the BIOS isn't
even there, as you said yourself earlier about those AT&T BIOSless
machines. The apps break because they bypass DOS. As will any app
that relies on the characteristics of a system, instead of on the
OS.


>>>>
>>>>>>
>>>>>>So, which has the 'better' BIOS; DOS or OS/2.  They are identical, but
>>>>>>one of them is better if you go by the way Joe measures 'better'.
>>>>
>>>>>The BIOS is the same no matter what.  The foundation design for two
>>>>>homes can be identical too (same concrete, same thickness, same layout), but
>>>>>the homes that sit on top of them could be vastly different.  If you think
>>>>>that having the same foundation (regardless of how that foundation is used)
>>>>>makes two software packages identical, then you are even more silly than
>>>>>this entire thread.  :)
>>>>
>>>>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)...  :-)
>>
>>I think you are getting confused by this BIOS thing.
>>Every computer system needs some mechanism to start it. In general
>>a computer system is build of the CPU, ROM, RAM and IO. The ROM
>>contains the code to allow the system to load an operating system.
>>On Disk Operating Systems, like MSDOS is, this generally means, a
>>piece of code to access a disk which might contain further code
>>to initialise the hardware and load the system. This is a very small
>>piece of code.
>>On the PC architecture this piece of code is pointed to by a pointer
>>at FFFF:FFFC which, obviously, resides in ROM. Also the PC architecture
>>provides a means of accessing the hardware through a Basic Input
>>Output System, also in ROM. Now guess what, both of these pieces
>>of software are in ROM, the same ROM in fact. On piece being the
>>bootstrap loader, the other being the BIOS. Two seperate issues
>>but since the bootstrap loader is only a small piece of code it
>>is not mentioned and those one or two ROMs are just refered to as
>>the BIOS, while it actully is the BIOS and the bootstrap loader.

>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

Again, it doesn't use the BIOS to boot.

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

No proof at all. Disable the harddisk after you booted OS/2, if it
still functions fine after that and OS/2 apps don't break, then
the harddisk isn't part of OS/2. Well it is, cause my system doesn't
function when I disable it.



>>
>>Now why this effort to illustrate the architecture and point out
>>such a minor generalisation? Well, when an operating system
>>provides all the code necessary to access the hardware thereby
>>replacing the BIOS code, it doesn't need the BIOS at all, not

>But DOS doesn't replace the BIOS code... in fact, DOS programmers RELY on
>the fact that the BIOS is there (since it is assumed it must be since they're
>running DOS).  The issue is not quite as clear for OS/2.

And why do they assume that? Right, because DOS was initially created
for the PC architecture, of which the BIOS is a part. As soon as DOS
is prted to other platforms though, those apps will break, and the
apps that go through DOS to accomplish the same won't.

>>even to bootstrap, even though the bootstrap loader is in the same
>>package as the BIOS is so you can't just take *the* BIOS out.
>>What you can do is copy the bootstrap code into another ROM, leave
>>it empty otherwise and stick that in. The operating system will
>>function just as merily, not even knowing the BIOS is gone or there
>>even was such a thing.
>>
>>
>>Erik van Linstee
>>Delft University of Technology
>>Department of Computer Architecture
>>(I don't normally include this, but just to prevent people
>>from following up saying, well what do you know. So now you know)
>>
>>
>>-- 
>>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)


Newsgroups: comp.os.os2.advocacy