1

Before anything, I know BIOS is getting deprecated! I've just come across this term "bootstrap program" in Silberschatz OS textbook and I've realized that it does a pretty similar thing to BIOS, looking at the explanations found on the internet, e.g:

The BIOS in modern PCs initializes and tests the system hardware components, and loads a boot loader or an operating system from a mass memory device. Wikipedia

I want to know whether they are the same or are two different things?

(I also want to mention that I believe "bootstrap program" must NOT be the same thing as boot loader, so please don't talk about the difference between boot loader and BIOS, that's already on SU and is not my question, TYIA.)

Simon.B
  • 13
  • Check out these links: https://stackoverflow.com/questions/1254542/what-is-bootstrapping and https://www.techopedia.com/definition/3328/bootstrap – kenn Apr 15 '18 at 14:51
  • Based on the things I see in these links the term "bootstrap program" is used inaccurately in Silberschatz, maybe in order to simplify the understanding. Thank you. – Simon.B Apr 15 '18 at 15:22

1 Answers1

0

Just on the subject of your comment to your own question:

Based on the things I see in these links the term "bootstrap program" is used inaccurately in Silberschatz, maybe in order to simplify the understanding.

— I would have thought it more correct to say that the bootloader is a sub-section of the total bootstrap program, which specifically deals with the loading of other higher layers ( eg: operating system ), just as the POST is a sub-section of the total bootstrap ( which must precede the main part ) ...

... or in other words:

  • bootstrapping is a whole process;
  • the total “bootstrap program” is a collection of smaller programs and systems ( ie: it’s not all in one place, just a significant part is on the BIOS chip );
  • POST is always before anything else ( kind of like an “initialisation” section of the old procedural coding method prior to the days of object-oriented/relational/functional coding, where all programs could be defined by a simple procedural flowchart: init > mainloop > end );
  • next comes the main bootstrap program which prepares default generic device drivers and other lower layer systems prior to ( and required for ) OS loading;
  • the bootloader is then kind of like the end or terminal part of that simple bootstrap program flowchart, where control is handed over to a default or selected operating system ( or some other functional end point like a diagnostic system );
  • BIOS is simply an older format for housing part of the init ( aka POST — the rest of which is hardcoded/hardwired elsewhere ), and the rest of the main ( bootstrap ) programs, plus the link to info stored on hard disk about which operating systems are installed, and how to hand over control to the default or user selection ... with UEFI being a more recent format to replace the old BIOS format.
Mr.President
  • 359
  • 1
  • 3
  • 12