Overview
The guidance and initialization of the system is the first step of the operating system control, and it is also an important part to embody the system. Linux, as a free quasi-Unix operating system, has performed well in many amateur and small business-processing markets, becoming another mainstream after the Windows series. Understanding the initialization of Linux systems is very helpful for further mastering UNIX systems.
Typically, the initialization of a Linux system can be divided into two parts: the kernel part and the INIT program part. The kernel mainly completes the hardware detection and initialization of the system, and the INIT program mainly completes the system configuration.
The kernel initialization of the detailed
Typically, the computer first uses the LILO program to boot a portion of the kernel (which is not compressed) to boot the rest of the kernel. Lilo program is the most commonly used, but also a more complete Linux system boot, the PC is usually from the hard drive of the boot sector read this part of the program. The details of the LILO program can be referred to other information.
After the kernel is decompressed and loaded into memory, the hardware and device drivers begin to initialize. The following are the specific steps of the kernel initialization system (there is a difference between versions, below is an example of version 2.2.16-22):
(1) The CPU frequency and the display type of the console are detected, and the CPU speed is estimated with BOGO MIPS program.
(2) After the kernel through the peripheral display system memory information: such as 131072k (128M), 127820k surplus, the use of the specific situation: 1048k kernel code, 412k retention, 1728k data. Then it's all kinds of hash table information.
(3) Kernel load disk space limited support, complete CPU detection (including check math coprocessor), and POSIX adaptive detection.
(4) Initialize the PCI BIOS, detect the PCI device of the system, and load TCP/IP network support.
(5) The kernel began to detect various other hardware devices: such as PS/2 port device, serial port device, hard disk, floppy disk, SCSI, etc.
Thereafter, the kernel initiates the INIT program to form the first process of the system. The following is the kernel initialization information (part) of the DMESG record:
Detected 499845 KHz processor.
Console:colour vga+ 80x25
Calibrating delay loop ... 996.15 bogomips
MEMORY:127820K/131072K available (1048k kernel code, 412k reserved, 1728k data, 64k init, 0k Bigmem)
Dentry Hash Table entries:262144 (Order 9, 2048k)
Buffer Cache Hash Table entries:131072 (Order 7, 512k)
Page Cache Hash Table entries:32768 (Order 5, 128k)
Vfs:diskquotas version dquot_6.4.0 initialized
Cpu:intel Celeron (Mendocino) Stepping 05
Checking 386/387 Coupling ... OK, FPU using exception error reporting.
Checking ' hlt ' instruction ... Ok.
POSIX Conformance Testing by Unifix
mtrr:v1.35a (19990819) Richard Gooch (rgooch@atnf.csiro.au)
Pci:pci BIOS R