Computers have a problem in that they need at least a small operating system to load the main operating system from storage. BIOS and now UEFI are tiny OS that do that. They load from a piece of non volatile memory on the motherboard, run the hardware to find the OS, load that, then give it control over the system.
You have all your pieces (CPU, hard drives, RAM, graphics card, …) Connected to your motherboard.
The motherboard itself is just a piece connecting them all so they can talk to each other.
The BIOS is a little piece of software that runs directly on the motherboard itself, to check all the components and let’s them work properly together.
Basic functions a Bios/motherboard does is like the start button and reste button, and also you can set which hard drives should be checked for an operating system (like windows).
So you press the start button, then your motherboard gets the input to start, so the bios starts as well and is checking in your settings which hard drives are connected and redirects the start i put to them as well, now it’s up to the hard drive to start the operating system.
The name is mostly historic – today it’s the legacy “boot rom” which contains code that makes the CPU initialize all parts of the hardware including making access to storage devices possible so you can boot your OS. Today uEFI has taken over but it’s often still called the BIOS even though well, it’s not even though some functionality is shared like getting the hardware initialized so a boot of an OS can be done.
Back in the really old days (1980ies) where we used chisels instead of keyboards, PCs were even more primitive. The “OS” like MS DOS didn’t really have all the code needed to access hardware, so the BIOS would be called by MSDOS to read from the drive, access the parallel/serial port for printers etc. – with the onset of OS/2 and Windows 3.x/Win95 that changed and where game-developers in the past would bypass the BIOS, the OS now did it all and the BIOS was only used to prepare the hardware for booting the OS.
The BIOS code was (is) extremely dumb/basic. Partly because there’s very little room in memory during POST so you cannot add a lot of advanced stuff – but hardware manufactures found a way by making the Bios an OS and making it load extensions into memory like your OS does – and presto you had pretty GUI ‘bios’ screens to configure everything, see fan speed, temperatures etc. However, getting to this point still requires the very small and dumb code. As a result virus creators found it to be an easy way to own your computer – destroying it and doing other nasty things with it. In those days it was very common to get a floppy or CD from “a friend” with some cool software on it, and if you happened to turn on the computer with that in the computer, it would try to boot on it, and the dumb BIOS would load anything that looked like a boot program. Including VIRUS “bios” code. UEFI was created to counter that – and was immediately abused by MS to ensure only microsoft branded OSes were allowed to boot on the hardware – today Microsoft is still signing all keys including those that allow Linux to boot – it good to be the first so you can control the market legally I guess. That’s to say, that unless the OS presents/matches an approved key it’s not allowed to boot with UEFI. A lot smarter than the BIOS ever was. Of course if you turn that off you’re back to the dumb “I don’t care what you load” method of the old BIOS.
When you turn your computer on, the operating system hasn’t turned on yet. Considder this, if you build a computer, with a new hard drive, how do you install the OS? The bios is the start up system manager built into the mother board not the hard drive. This is where you can adjust the system”@ clock, and tell the computer where to boot from.
If you set the boot drive to be a plugged in USB stick or cd rom drive, then you’d be able to run an os instal program.
Also, if you os isn’t running right, you can set the boot menu to start in safe mode.
The bios is also how you can build and manage a raid set up, depending on the motherboards capabilities.
For diagnostic purposes, you can monitor real time voltage settings, and make tweaks to ram timings/ speed and cpu clock settings, assuming the motherboard supports adjustments.
There is a small cell battery called the cmos battery that keeps just enough of a charge active on the board to allow bios settings to remain even when the computer is powered down and unplugged. The motherboard has no built in permanent storage, only temporary cache and ram, without power to these areas, settings would not be saved and the bios would revert to its factory settings, destroying any raid set ups in the process.
Latest Answers