总结内核设计流派及特点
宏内核(monolithic kernel):又称单内核和强内核,unix,Linux吧所有系统服务都放在内核里,所有功能集成于同一个程序,分层实现不同功能。其实Linux在单内核实现了模块化,也就相当于吸收了微内核的优点
微内核(micro kernel):windows,Solaris,HarmonyOS。简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差。
总结centos 6 启动流程,grub工作流程
1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备的MBR引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根系统文件
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录
10.登录后开始以shell控制主机
GRUB启动阶段
primary boot loader
1st stage:加载MBR的前446字节
1.5 stage:MBR之后的扇区,让stage 1中的bootloader能识别stage 2所在的分区(/boot)上的文件系统(xfs)
secondary boot loader
2nd stage,分区文件/boot/grub
GRUB的作用是为了引导并加载kernel,要加载kernel首先得找到kernel所在的路径,因此首先就得有文件系统,要有文件系统首先要加载文件系统驱动,而文件系统驱动文件的大小远大于446字节(大约400+KB),而MBR之后的扇区可以存放一部分文件系统驱动,此时加载的文件系统驱动是grub2阶段所需文件(/boot下文件)需要的文件系统驱动,此时就可以使用/boot/grub/grub.conf,此配置文件中定义了kernel文件的位置,然后就可以加载kernel。
手写chkconfig服务脚本,可以实现服务的开始,停止,重启
总结systemd服务配置文件
/usr/lib/systemd/system #每个服务最主要的启动脚本,类似之前的/etc/init.d
/lib/systemd/system #ubuntu的对应目录,兼容centos7,8和Ubuntu
/run/systemd/system #系统执行过程中产生的服务脚本,比上面目录优先运行
/etc/systemd/system #管理员建立的执行脚本,类似/etc/rc.d/
总结system启动流程
1.UEFI或BIOS初始化,运行POST开机自检
2.选择启动设备
3.引导装载程序,centos7是grub2,加载装载程序的配置文件
a. /etc/grub.d/
b. /etc/default/grub
c. /boot/grub2/grub.cfg
4.加载initramfs驱动模块,即通过/boot下的简化版linux加载操作系统根所需文件系统的驱动
5.加载内核选项
6.内核初始化,centos7使用systemd代替init
7.执行initrd.target所有单元,包括挂载/etc/fstab
8.从initramfs根文件系统切换至磁盘根目录
9.systemd指定默认target配置,配置文件/etc/systemd/system/default.target
10.systemd执行sysinit.target初始化系统及basic.target准备操作系统
11.systemd启动muti-user.target下的本机与服务器服务
12.systemd执行muti-user.target下的/etc/rc.d/rc.local
13.systemd执行muti-user.target下的getty.target及登录服务
14.systemd执行graphical需要的服务
总结awk工作原理,awk命令,选项,示例
1,主要的作用:
用来处理文本,将文本按照指定的格式输出。其中包含了变量,循环以及数组
2,格式:
- awk [选项] '匹配规则和处理规则 ' [处理文本路径]
主要匹配的是正则表达式
2.标准输出 awk [选项] “匹配规则和处理规则”
- 字符串
- 正则表达式
3. 处理规则
BEGIN{} : BEGIN是在awk处理文本之前运行
// : 使用的匹配规则
{} :循环(每次只处理一行数据)
END{} :当所有的处理全部执行完毕之后,执行END中的相关操作
把/etc/password/中包含root的列打印出来
标签:systemd,target,文件系统,etc,awk,内核,加载 From: https://www.cnblogs.com/m490545607/p/17418956.html