> On May 28, 2024, at 5:49 PM, Mike Katz <bit...@12bitsbest.com> wrote: > > Paul, you said: > I'd say an OS is a software system that runs on bare metal (or equivalent, > like a VM) and offers a set of services intended to make creating and running > applications easier. In that sense, RT-11 SJ or OS/360 PCP are operating > systems, just as Linux is. QRQ is on the edge (it's written for a single > application). Similarly, I would not call FIG-FORTH an OS, nor those other > FORTH systems, though admittedly it's also a bit fuzzy. > > 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. > > On the IBM-PC most boards (that were not just multi I/O or RAM boards) came > with their own drivers in ROM as well and were even called bios extensions. > The big difference between the PC and the HP-41C that the PC needed to load > the file system handler (and others as time when on) from disk to run. > Whereas the HP-41C never needed to "bootstrap" from some kind of media. > > 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.
It also contained a simpler assembler/loader as well as operator console services. > To spark even further debate, does an operating system require file system > capabilities. Many do not. This furthers my supposition that the BIOS is > really the operating system and what you are calling an operating system is > merely an application using the BIOS API for the required services.🙂 Does something need file system features to be an OS? Certainly not. Many RTOS have plenty of stuff in them to be judged an OS without much debate, yet are used in embedded products where a file system is not needed. For that matter, one of the first and properly famous operating systems, Dijkstra's THE operating system that gave us semaphores, ring design, and various other things, did not have a file system. > My comments are not intended to inflame but rather to cause further > discussion. paul