Operating System  

 

 

 

Boot Process

"Boot" means "Bootstrapping". If you express it in plain words, it would mean "Starting something from the very beginning". In practical sense, it is a long sequence of procedures (steps) happening from turning on power to the operating system screen as illustrated below. For most of users, they would not be interested in this process .. they just think this is a long/boring time you have to wait to use the PC. However, if you are interested in how PC (or Smartphone) works, this process would be one of the most interesting / important procedure that you need to understand.

Similary, if you apply the term "Boot Sequence" in the context of Smartphone, it is a sequence of steps (procedures) that happens after you power on the device (A) until you see the screen as shown in (B).

If you recall the process that you see after power on in more detail, you may see a couple of intermediate steps as illustrated below. Describing the overall process just based on a couple of key screens without looking deep inside, it can be described as follow.

    Step (A) : Press Power On Button.

    Step (B) : Right After Power On, you may see various LEDs start blinking on your PC and hear harddisk spinning and see a screen like (B). This is called BIOS screen. You would see many different types of BIOS screen depending on what kind of BIOS is used in your PC.

    Step (C) : After BIOS complete its job, you would see a splash screen for the operating system (Windows 7 in this example). While this screen is on, there are a lot of things happening in the background.

    Step (D) : Finally you would get the first screen of the operating system (in some case, you would see the log in window at this step).

A lot of things are done especially step (B) and (C). Understanding Boot sequence usually mean understanding what's happening at Step (B) and (C). Understanding the full details of this process would take several years of hard work, but for those who are curious about this process or wants to have jobs related to operating system development or programming, it would be crucial to understand this process as much as possible. Don't try to understanding everything overnight, it would just burn you out.

Unless you change your hardware (PC itself) you would see the same BIOS screen, but if you are using different Operating System you would see different screen at step (C) and (D). The process that is happening in (C) gets different as well depending on what kind of operating system you are using. Following is an example for the case when you are using Ubuntu.

Now let's get just a little bit deeper into what's happening during this boot up process. This is an example sequence happening in most of PC /laptop. The sequence would be a little different in Smartphone or other system (e.g, embedded system)

    (1) Power On

    (2) BIOS (Basic Input/Output System) Program Starts (Refer to BIOS page if you are more interested)

    (3) BIOS performs POST (Power On Self Test)

    (4) BIOS reads a specific sector (usually the first sector) of Harddisk and load it into main memory (This is a very small program called Bootloader)

    (5) Bootloader program performs a very short task and then load Operating System code into the main memory and the operating system executes all the necessary programs (mostly device drivers) for users.

If you are using different Operating System, the process happending at step (4) and (5) gets different. For example, refer to Boot Sequence for Linux that I posted.

Reference

[1] An Illustrated Guide to the Boot Sequence.