Linux Startup Process - Overview of Typical Process

Overview of Typical Process

In Linux, the flow of control during a boot is from BIOS, to boot loader, to kernel. The kernel then starts the scheduler (to allow multi-tasking) and runs the first userland (i.e. outside kernel space) program Init (which is mostly responsible to run startup scripts for each runlevel), at which point the kernel goes idle unless called externally.

init (short for initialization) is a program for Unix-based computer operating systems that spawns all other processes. It runs as a daemon and typically has PID 1. The boot loader starts the kernel and the kernel starts init. If one were to delete init without a replacement, the system would encounter a kernel panic on the next reboot.

In detail:

  1. The BIOS performs hardware-platform specific startup tasks
  2. Once the hardware is recognized and started correctly, the BIOS loads and executes the partition boot code from the designated boot device, which contains phase 1 of a Linux boot loader. Phase 1 loads phase 2 (the bulk of the boot loader code). Some loaders may use an intermediate phase (known as phase 1.5) to achieve this since modern large disks may not be fully readable without further code.
  3. The boot loader often presents the user with a menu of possible boot options. It then loads the operating system, which decompresses into memory, and sets up system functions such as essential hardware and memory paging, before calling start_kernel.
  4. start_kernel then performs the majority of system setup (interrupts, the rest of memory management, device initialization, drivers, etc.) before spawning separately, the idle process and scheduler, and the Init process (which is executed in user space).
  5. The Init process executes scripts as needed that set up all non-operating system services and structures in order to allow a user environment to be created, and then presents the user with a login screen.

On shutdown, Init is called to close down all user space functionality in a controlled manner, again via scripted directions, following which Init terminates and the Kernel executes its own shutdown.

Read more about this topic:  Linux Startup Process

Famous quotes containing the words typical and/or process:

    The books may say that nine-month-olds crawl, say their first words, and are afraid of strangers. Your exuberantly concrete and special nine-month-old hasn’t read them. She may be walking already, not saying a word and smiling gleefully at every stranger she sees. . . . You can support her best by helping her learn what she’s trying to learn, not what the books say a typical child ought to be learning.
    Amy Laura Dombro (20th century)

    I believe that history might be, and ought to be, taught in a new fashion so as to make the meaning of it as a process of evolution intelligible to the young.
    Thomas Henry Huxley (1825–95)