一.Linux操作系统的引导过程

Linux基础之Linux操作系统的引导过程-Centos7

  • A.开机质检

服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测。

  • B.MBR引导

当从本机硬盘中启动系统时,首先根据硬盘的第一个扇区中MBR(Master Boot Record,主引导记录)的设置,将系统控制权传递给包含操作系统引导的文件的分区。

  • C.GRUB菜单

对于Linux操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示菜单给用户选择,并根据选项加载Linux内核文件,需要注意。CentOs7采用的是GRUB2启动引导器。

  • D.加载Linux内核

Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件和操作系统之间,负责资源的分配与调度。内核接过系统控制权以后,将完全掌握整个Linux操作系统的运行过程。在CentOS系统中,默认内核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”。

  • E.init 进程初始化

为了完成进一步的系统引导过程,Linux内核首先将系统中的“sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程,最后等待用户进行登录。

系统初始化进程及文件

  • A.init进程

Linux操作系统中的进程使用数字进行标记,每个进程的身份标记号称为PID。在引导系统的过程中“sbin/init”是内核第一个加载的程序,因此init进程对应的PID号总是1。
init下的进程称为它的子进程,而init称为它们的父进程这些子进程还会不断地生成新的进程,依次不断繁衍下去,最终构成一颗枝叶繁茂的进程树,为用户提供服务。
init进程为这棵树的树根,所以init进程不允许轻易终止。需要切换不同的运行状态时可以向init进程发送正确的执行参数,由init自身来完成相关操作。

  • B.systemd概述

systemd是Linux操作系统的一种init软件,CentOs7系统中采用全新的systemd启动方式,取代了传统的sysvinit。systemd启动方式使系统初始化时诸多服务并行启动,提高了开机效率。
CentOS 7系统中“/sbin/init”是“/lib/systemd/systemd”的链接文件。换言之CentOS 7系统中运行的第一个init进程是“/lib/systemd/systemd”。systemd守护进程负责Linux的系统和服务,systyemctl用于控制systemd管理的系统和服务状态。

  • systemd将其管理的资源组织成各种类型的单元(Unit)

systemd的单元类型:

service unit:文件扩展名为.service,用于定义系统服务
target unit:文件扩展名为.target,用于模拟实现“运行级别”
device unit:文件扩展名为.device,用于定义内核识别的设备
mount unit:文件扩展名为.mount,定义文件系统的挂载点
socket unit:扩展名为.socket,用于表示进程间通信用到的socket文件
snapshot unit:文件扩展名为.snapshot,用于管理系统快照
swap unit:文件扩展名为.swap,用于表示swap设备
automount unit:扩展名为.automount,文件系统自动挂载点设备
path unit:文件扩展名为.path,用于定义文件系统中的文件或者目录

CentOS运行级别:

runlevel查看运行级别
0关机,1单用户模式无需输入密码,2、3、4多用户文字模式,5完整的图形模式,6重启。
切换运行级别:

  • 方法1:使用 init 加数字

  • 方法2:使用 systemctl isolate 和init7个级别对应的英文单词

     0=target
     1=rescue.target
     2/3/4=multi-user.target
     5=graphical.target
     6=reboot.target
    
修改默认级别:systemctl  get-default  返回默认级别
ln  -sf  /lib/systemd/system/multi-user.target   /etc/systemd/system/default.target

服务控制及优化启动过程

  • 服务的控制:

手工操作服务:
systemctl 指令 服务名称
指令: status查看状态
stop停止服务
start启动服务
restart重启服务(慎用)
reload(修改了服务的配置文件后,可以用reload重读配置文件即可,无需重启)

  • 优化启动过程

Linux操作系统中包含了大量的服务程序,这些服务程序根据切换运行级别启动或停止。其中有不少系统服务程序可能不是用户需要的,但默认也运行了。那么如何控制开机自动运行的服务,以减少系统资源的占用,提高系统运行效率呢?

  • 调整自启动模式:
    ntsysv命令:图形界面配置所有服务(需要跟随启动级别)
    ntsysv --level 35
    在命令行输入ntsysv进入图形化界面,前面带有*为自动启动,可以↑↓移动位置按Space(空格)就改为了关闭了自动启动。按F1可以查看选中服务的说明信息。按TAB键移动到确定退出
    在这里插入图片描述
    systemctl命令:非图形界面
    systemctl 指令 服务名称
    指令:enable启用,disable禁用,is-enabled 查询是否自动启动
    例如 systemctl is-enabled atd.service(所有服务信息 /lib/systemd/system目录扩展名service)
    systemctl enable atd.service 设为自动启动
    systemctl disable atd.service 禁用自动启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值