windows - Why don't computers start loading the OS earlier in the boot process?

07
2014-07
  • Coldblackice

    I was reading an article referred to me from another thread on the Windows OS boot process, and while reading, I couldn't help but wonder --

    When a computer turns on, why can't it start loading the OS earlier on in the boot process?

    Regarding the gradual unfolding of a computer's boot processes from power-on -> OS loaded, why are there so many "hoops" to jump through in the boot process? It seems like the BIOS has to point to this location, this location can then read that location, that location can then load this location, this location runs this to load that location, etc., progressively higher and higher level. Even accessing a hard drive, it seems like there are multiple incarnations of "drivers" that need to be used until the highest-level drivers within the OS can take over.

    I can sort of understand why it's necessary for a lifeless piece of machinery be able to go from a powerless, very low-level functionality and climb the ladder to higher functionality (with analogies like needing to start in lower gears to work up speed toward higher gears), but as far as computers go, I don't particularly understand the specifics of why it can't be done in less "hoops". I'd guess it's a large part of what the BIOS->UEFI transition is for -- a higher-level intermediary between powerless low-level hardware and higher-functioning OS abilities...?

    I think I can catch the drift analogy-wise, but if anyone can provide specifics, it'd be much appreciated.

  • Answers
  • Milind R

    Because your OS is stored on disk.

    You need to read it off it and put it into memory. Interacting with hardware is not easy. Interacting with them with high-performance is hard. So you do it awkwardly and slowly with BIOS services, then load your own drivers for disk access, then set up the rest of your OS stuff in memory. Meanwhile you NEED a display, to see what's happening and debug any issues. So you need to use BIOS services for that. Same for keyboard. And the network, if you want to boot off an installation image on the network. And a SCSI controller, if your boot disk is connected to it. And your CD/DVD drive, if you want to boot from it. And so on....

    If there was a way to directly put the kernel + drivers into memory, then booting would immediately be a relic. And that day won't be far off, since we now have non-volatile RAM.

    With UEFI, we have a more standard platform to build on. It will not be hard to have a non-volatile ram stick in the first slot, and normal DDR SDRAM in the others. The processor can be redirected to any memory location to execute by the firmware. The kernel initialization code can be kept at a specific location. The entire set up of registers and interrupts and drivers will take a fraction of a second if it's already in memory.

    I await this day.


  • Related Question

    boot - Computer not booting. BIOS not loading, buzzing nouse
  • Questioner

    I was installing open Suse 11.2 on a computer which had xubuntu installed. I went through the installation process when the screen went funny, many blocks of different colours. A bit like when a Gameboy cartridge was dirty - the best comparison I could think of!! Anyway it was like this for a few minutes and it sounded like nothing was happening so I assumed it crashed thus I turned off the PC. Only thinking it was a installation failure and I needed to reinstall it again or install something else if the disk was corrupt.

    However when I turned the machine back on the computer makes a buzzing noise and the screen is blank - the BIOS does not load. I have absolutely no idea what to do here! If this was a hard drive problem, the BIOS screen would still load right? Would replacing the hard drive fix the issue as I would have no problem doing so if that was a solution.


  • Related Answers
  • ChrisF

    It sounds like a graphics problem - and a complete failure at that if you're not getting the bios screen.

    Can you put another graphics card in or use the onboard graphics chip as a test?

    If you're using a graphics card make sure it's seated in the slot properly.

  • Isxek

    It sounds more like a video display issue, initially. Have you tried turning off the machine, unplugging the power cord, and reseating the video card?

    If the video card is built-in, you might want to shut down the PC and let it cool off for at least 20 minutes or so. Try turning the machine on and then see what happens.

  • mothis

    Your computer probably overheated. If you are lucky, there was no permanent damage. Try letting it cool off for ~20 minutes. Another possible cause is that you may have just adjusted your BIOS settings in such a way as to make your computer unstable. If so, you have to reset your BIOS. The method for doing this varies from motherboard to motherboard. Most modern ones have a jumper somewhere (It might be screened onto the board. If not, check the manual), but you might have to remove the backup battery (it's the small round one. DON'T try to force it out. On many motherboards, they are soldered down or otherwise permanently attached).

  • Brian

    What kind of Buzzing? Is it beeping? If it is beeping, refer to your Motherboard's manual. They list what types of errors/hardware failure is by what kinds of noise is emitting from the case speaker.