On Tue, 28 May 2024, Paul Koning via cctalk wrote:
If the file system and basic I/O functions drivers are in ROM what is the 
difference between a BIOS and an Operating System.
Technically speaking, for some, the BIOS offers a hardware abstraction level to some more 
generic software that runs on top.  BIOS means Basic Input Output System.  Is that 
restricted to the console only?  Some systems run their entire "Operating 
System" out of ROM?
Well, sure.  The memory used is irrelevant to what the software does (other 
than details like mutability, so if you have ROM you have to separate the R/W 
data from the rest, while if it's all in RAM that isn't necessary).  Operating 
systems have been found in ROM, RAM, drums, tapes, and any number of other 
memory devices.
Let's take a very simple computer, the HP-41C Calculator.  The internal 12K or ROM 
handled all of the keypad I/O, display I/O, math functions and programming functions.  
Each device added contained all of it's drivers in ROM.  There was never an 
"Operating System" to load but with additonal hardware/software modules even 
reading and writing to floppy disks and mini data cassettes was supported.  The 12K main 
ROM and how the expansion hardware/ROM integrated into it was definitely an operating 
system.
. . .
By your definition many BIOS's are really operating systems.  And if I really 
want to pick nits, what you defined as an Operating System is really an 
application that uses the BIOS Operating System.  Yes, I know, not all BIOS's 
have enough functionality to qualify as an operating system.
A BIOS is more likely a helper, providing bootstrap services and some I/O 
support.  That goes back to the first BIOS, around 1958 in the Electrologica 
X-1.  In fact, that's an interesting one: it was written by Dijkstra as his 
Ph.D. project to abstract the then very new and daunting problem of dealing 
with interrupts.  The BIOS would do this, and other code could then use those 
APIs to do I/O more easily without worrying about asynchronous pain.

"DOS est omnis divisa in partes tres: BIOS, BDOS, Command processor"
In CP/M, MS-DOS, there are three layers of the OS,

BIOS is the hardware management layer.
It consists of ROM(s), supplemented by files loaded at boot time (IO.SYS or IBMBIO.COM) ROM VS disk file(s) is irrelevant; Poqet (MS-DOS 5.00) and Atari Portfolio (Atari imitation MS-DOS) put the entire OS in ROM. Different hardware requires a different BIOS, but not necessarily changes in the upper layers. BIOS also includes the initial layer of the bootstrap code, that loads the boot sector of the disk into RAM and sends control to it.

BDOS is the file management layer, and the central/core layer of the OS
(MSDOS.SYS or IBMDOS.COM)
Many BDOS functions (Int 21h) call BIOS functions.

Command processor (COMMAND.COM) communicates with the user, parsing commands, rendering messages, launching programs, and calling functions in BDOS. In theory, all communication between user and OS or hardware is through COMMAND.COM, or running application programs. In actuality, "going through channels" as a "well behaved program" isn't adequate performance, so many/most prograams bypass one or more layers of the OS. MS-DOS/PC-DOS documentation included explanation of what was required to write your own replacement for COMMAND.COM!


Windows 1x, 2x, 3x took over the functions of COMMAND.COM.
Windows NT, 9x, etc. blurred the boundaries of the layers.

--
Grumpy Ol' Fred                 ci...@xenosoft.com

Reply via email to