Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I've learnt a great deal from your replies. Many thanks for that!
jal wrote:
If I understand your question correctly, you are assuming that the BIOS is used by the OS, and you are asking whether the OS could perform the BIOS tasks itself?
JAL
This is the essence of what I was asking in my original post: could an OS be designed to include functionality that would replace the BIOS altogether? And in the way I imagined this scenario, I meant a complete replacement: could an OS be developed that would allow someone to actually remove the existing BIOS chip from the board, without fear of losing the ability to use the board, because some code in the OS would take over all of the BIOS duties? It seems like modifying the BIOS programming itself is a better idea if one wanted to extend the functionality of older hardware, but that there will always be a non-BIOS related limit as to how far that functionality could be improved. I didn't know either of these things before I asked. It is good to learn new things.
Developers do amazing work, and the modern world wouldn't exist without your efforts. Thank you all again for your input!
I don't think you understand that the operating system goes away when you power off the computer, and that the BIOS/Firmware/whatever remains (read-only, mostly) in memory. When you power on the computer, the BIOS takes over, initializes the hardware, and loads a bootloader. The bootloader uses the BIOS to do stuff such as reading harddisks and printing to the BIOS console. Once the kernel has been loaded into memory, the bootloader switches to protected mode/long mode, and the kernel takes over. This is the point where the operating system completely stops using the BIOS and reinitializes most hardware with its own drivers and the operating system is in full control of the computer. Until the next power off.
(Of course, this is not the entire truth, and the kernel is able to call the BIOS through nasty hacks, but it uses its own drivers whenever possible, and the BIOS is a ***load of **** for kernel usage.)
You can replace the BIOS in some systems, but this doesn't count as replacing the BIOS with some operating system, as the replacement is likely some fancy bootloader like coreboot. You *cannot* remove the BIOS chip from the computer because the computer is hardwired to run in, and if there is no BIOS (or something that pretends to be one), then the system cannot possibly boot.
OldGuy63 wrote:could an OS be designed to include functionality that would replace the BIOS altogether?
The answer to that is "no"
The answer is yes and it's technical name is "flashing utility".
The most appropriate answer however is: Don't bother with anything of the sort. It's silly.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Combuster wrote:The answer is yes and it's technical name is "flashing utility"
Yeah, but still most of the useful functions of a modern BIOS (intializing hardware, booting OS, providing PS/2 and other USB device emulation) wouldn't be covered by what we normally would call an "OS". And even the less useful functions (providing a "driver" interface to some of the hardware) aren't necessarily part of the OS, depending on the kind of OS and whether you'd consider drivers to be a part of it...