08-引导过程与服务控制

8.1 Linux 操作系统的引导过程

        系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux操作系统的引导过程将完成一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备。 

        8.1.1 引导过程总览

                Linux 操作系统的引导过程一般包括以下几个阶段:开机自检、MBR 引导、GRUB 菜单、加载 Linux 内核、init 进程初始化。

                1.开机自检
                        服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU(Central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。
                2.MBR 引导
                        当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(Master Boot Record.主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR 记录中的引导信息调用启动菜单(如 GRUB)。
                3.GRUB 菜单             
                        对于 Linux 操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux 内核文件,然后将系统控制权转交给内核。需要注意的是,CentOS7采用的是 GRUB2 启动引导器。
                4.加载 Linux 内核
                        Linux 内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux 操作系统的运行过程。在 CentOS 系统中,默认的内核文件位于“/bootvmlinuz-3.10.0-514.el7.x86 64”。
                5.init 进程初始化
                        为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init 进程负责完成一系列的系统初始化过程,最后等
待用户进行登录。

8.1.2 系统初始化进程及文件

        1.init 进程
                Linux 操作系统中的进程使用数字进行标记,每个进程的身份标记号称为PID。在引导Linux 操作系统的过程中,“/sbin/init”是内核第一个加载的程序,因此 init 进程对应的 PID 号总是为 1。nit 进程运行以后将陆续执行系统中的其他程序,不断生成新的进程,这些进程称为init进程的子进程。反过来说,init 进程是这些进程的父进程。当然,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务。
从以上描述可以看出,init 进程正是维持整个 Linux 操作系统运行的所有进程的“始祖”因此init 进程是不允许被轻易终止的。需要切换不同的系统运行状态时,可以向init 进程发送正确的执行参数,由init 自身来完成相关操作。
        2.Systemd 概述
                Systemd 是 Linux 操作系统的一种 init 软件,CentOS7系统中采用了全新的 Systemd启动方式,取代了传统的 SysVinit。Systemd 启动方式使系统初始化时诸多服务并行启动,大大提高了开机效率。CentOS7系统中“/sbinfnit”"是“/lib/systemd/systemd"的链接文件。换言之,CentOS7系统中运行的第一个init 进程是"/lib/systemd/systemd"。systemd 守护进程负责 Linux的系统和服务,systemctl 用于控制 Systemd 管理的系统和服务状态。Systemd 将其管理的资源组织成各种类型的单元(Unit),表 8-1 中列出了 Systemd 使用的各种单元类型。

Linux 系统服务是指运行在后台并提供特定功能的应用程序,如网站服务、FTP 服务等。Linux 通过将不同的系统服务进行搭配组合来协同满足不同的功能需求。不同的服务组合其实现的功能也各不相同,就好比不同的药方能医治不同的病症一样。
早期 Linux 操作系统中的 SysVinit 机制,默认包括七种不同的服务搭配方式,其中每一种搭配方式称为运行级别,类似于 Wndows 系统中的正常启动、安全模式、不带网络连接的安全模式等。这些运行级别分别使用数字 0,1,…,6来表示。为了向下兼容 SysVinit系统,Systemd 使用了相应的 target(目标)模拟了 SysVinit 的运行级别,表 8-2 中列出了运行级别所对应的 target,并说明了各种 target 的含义及用途。

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值