Linux 启动过程详解:一步步实现操作系统的唤醒(linux启动详解)
Linux 启动过程详解:一步步实现操作系统的唤醒
启动(Booting)是唤醒操作系统的过程,是操作系统进入可以提供服务给用户之前,为了保证各种资源的正常和可靠使用,完成机器的初始化的过程。Linux 系统的启动过程,从计算机的硬件在接通电源后进入 BIOS 开机运行开始,接着进行启动装置的检测,再从指定的启动设备中加载 Linux 内核,完成Linux 内核初始化操作后,控制权转移给 init ,最后进行 Linux 登录及应用程序的启动,完成 Linux 系统启动过程。
1.BIOS开机运行: 当计算机接通电源后,第一步就是进入BIOS,BIOS由RAM完成读取,运行BIOS中的程序,完成BIOS中设置的所有操作。BIOS启动过程首先检测基本硬件设备,其次检测存储媒体的启动设备,最后从指定的启动设备加载bootstrap程序。
2.bootstrap程序加载: 检测到指定的启动设备后,bootstrap程序负责将基本操作系统加载到内存中,完成操作系统的准备工作。在 CentOS 6.X 系统中,bootstrap 程序是引导GRUB(Grand Unified Bootloader),主要用来在计算机上启动(激活)大多数的操作系统。
3.GRUB的加载:GRUB会在启动时显示引导菜单,并且会加载 Linux 内核,进行最后的准备工作,加载完 Linux 内核文件后,控制权就会交给 Linux 内核, Linux 内核开始运行,各种硬件驱动会被加载,准备扮演操作系统的角色。
4.Linux内核的初始化: Linux内核会检测系统中存在的所有硬件设备,根据硬件设备在内存中分配对应的空间,这一过程称为Linux内核的初始化。
5.控制权转移给init:当完成内核的初始化后,内核会把控制权转移给init程序,init 将载入 Linux 系统的各种服务,读取 /etc/inittab 文件,来确定系统将要启动的级别,比如 Linux 将要以单用户模式或多用户模式启动,并且会根据配置启动一些系统服务。
6.Linux登录及应用程序的启动:当 init 完成服务的加载和启动后,一般会提示你输入用户名和密码登录系统,或者显示启动图形界面。当登录后,init 进程还会根据 /etc/inittab 中的配置文件,继续加载启动其它的应用程序,再加载用户的 shell 程序, Linux 系统的启动过程就完成了。
以上就是 Linux 系统启动的全部过程,可以总结为:BIOS开机运行,加载bootstrap程序,引导GRUB,Linux 内核初始化,控制权转移给 init,Linux 登录及应用程序的启动,如此循环进行,才能实现操作系统的唤醒。