16.启动流程、模块管理与Loader

一、 Linux的启动流程分析

1. 启动流程:

1. 加载 BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置;

2. 读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);

3. 依据 boot loader 的配置加载 Kernel ,Kernel 会开始侦测硬件与加载驱动程序;

4. 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯;

5. init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行的作业环境 (如网络、时区等);

6. init 运行 run-level 的各个服务之启动 (script 方式);

7. init 运行 /etc/rc.d/rc.local 文件;

8. init 运行终端机模拟程序 mingetty 来启动 login 程序,最后就等待使用者登陆啦;

 

2. BIOS, boot loader 与 kernel 加载

(1) BIOS, 开机自我测试与 MBR

个人计算机架构下,你想要启动整个系统首先就得要让系统去加载 BIOS (Basic Input Output System),并通过 BIOS 程序去加载 CMOS 的资讯,并且通过 CMOS 内的配置值取得主机的各项硬件配置。

 

(2) Boot Loader 的功能

• 提供菜单:使用者可以选择不同的启动项目,这也是多重启动的重要功能!

• 加载核心文件:直接指向可启动的程序区段来开始操作系统;

转交其他 loader:将启动管理功能转交给其他 loader 负责。

           § 加载核心侦测硬件与 initrd 的功能

         

(3) 虚拟文件系统 (Initial RAM Disk) 一般使用的档名为 /boot/initrd。

 

3. 第一个进程 init 及配置档 /etc/inittab 与 runlevel

1)Run level:运行等级

          • 0 - halt (系统直接关机)

• 1 - single user mode (单人维护模式,用在系统出问题时的维护)

• 2 - Multi-user, without NFS (类似底下的 runlevel 3,但无 NFS 服务)

• 3 - Full multi-user mode (完整含有网络功能的纯文字模式)

• 4 - unused (系统保留功能)

• 5 - X11 (与 runlevel 3 类似,但加载使用 X Window)

• 6 - reboot (重新启动)      

    

     2)§ init 的处理流程

事实上 /etc/inittab 的配置也有点类似 shell script 啦,因为该文件内容的配置也是一行一行的从上往下处理的, 因此我们可以知道 CentOS 的 init 依据 inittab 配置的处理流程会是:

1. 先取得 runlevel 亦即默认运行等级的相关等级 (以鸟哥的测试机为例,为 5 号);

2. 使用 /etc/rc.d/rc.sysinit 进行系统初始化

3. 由於 runlevel 是 5 ,因此只进行『l5:5:wait:/etc/rc.d/rc 5』,其他行则略过

4. 配置好 [ctrl]+[alt]+[del] 这组的组合键功能

5. 配置不断电系统的 pf, pr 两种机制;

6. 启动 mingetty 的六个终端机 (tty1 ~ tty6)

7. 最终以 /etc/X11/perfdm -nodaemon 启动图形介面啦!

 

4. init 处理系统初始化流程 (/etc/rc.d/rc.sysinit)

开始加载各项系统服务之前,得先做好整个系统环境,我主要利用 /etc/rc.d/rc.sysinit 这个 shell script 来配置好我的系统环境的


1. 取得网络环境与主机类型:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值