Linux启动流程和Systemd特性

内核设计流派

1.宏内核(monolithic kernel):又称单内核和强内核,
  Unix,Linux把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,
  Linux其实在单内核上实现了模块化,也就相当于吸收了微内核的优点。

2.微内核(micro kernel): 简化内核功能,
  在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,
  每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能有待商讨。
  windows,Solaris,Harmonyos等使用微内核

linux启动流程

参考链接:https://s4.51cto.com/wyfs02/M02/87/20/wKiom1fVBELjXsvaAAUkuL83t2Q304.jpg

1.硬件加电自检

POST: Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测。

主板的ROM: BIOS,Basic Input and Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自检程序等。

主板的RAM:CMOS互补金属氧化物半导体,保存各项参数的设定,按次序查找引导设备,第一个有引导程序的设备为本次启动设备。

2.启动加载器bootloader

bootloader:引导加载器,引导程序
  1.Windows: ntloader,仅是启动OS
  2.Linux: 功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;
           把用户选定的内核装载到内存中的特定空间中解压、展开,并把系统控制权移交给内核。
Linux的bootloader
  LILO: Linux Loader,早期的bootloader,功能单一。
  GRUB: GRand Unified Bootloader, CentOS5,6 GRUB 0.97:GRUB Legacy,CentOS 7以后使用GRUB 2.02
GRUB启动阶段
  1.primary boot loader :
    1st stage: MBR的前446个字节
    1.5 stage: MBR之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统
  2.secondary boot loader : 2nd stage,分区文件/boot/grub/

3.加载kernel

kernel自身初始化过程
  1.探测可识别到的所有硬件设备
  2.加载硬件驱动程序(借助于ramdisk加载驱动)
  3.以只读方式挂载根文件系统
  4.运行用户空间的第一个应用程序:/sbin/init

4.init初始化

init程序的类型
  SysV: init, CentOS5之前
    配置文件:/etc/inittab 
    
  Upstart: init, CentOS6
    配置文件:letc/inittab,letch/init/*.conf
    
  Systemd: systemd, CentOS7
    配置文件:/usr/lib/systemd/system
            /etc/systemd/system

运行级别
运行级别:为系统运行或维护等目的而设定;0-6:7个级别,一般使用3,5做为默认级别

运行级别:
  0:关机
  1:单用户模式(root自动登录), single,维护模式
  2:多用户模式,启动网络功能,但不会启动NFS;维护模式
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值