引导过程和服务
宏内核(monolithic kernel):又称单内核和强内核,Unix,Linux把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,Linux其实在单内核内核实现了模块化,也就相当于吸收了微内核的优点。
一、引导过程
1.Linux操作系统引导过程
1.开机自检
通过bios程序检查硬件是否正常,然后根据bios中的启动项设置,去找内核文件,如果硬件出现问题则会卡在开机界面提示不同报错。
boot开机启动顺序:你可以把内核文件放在何处?
1硬盘 2移动设备,u盘,移动硬盘,光驱 3网络启动
2.mbr
运行放在MBR扇区里的启动 GRUB引导程序,MBR引导:第一阶段grub引导及加载分区表
mbr:因为grub太大,第一个扇区存不下,所有的grub程序,所以分成2部分引导硬件找到内核文件
3.grup
grub菜单:第二阶段grub加载内核文件到系统内存中运行起来,内核文件置:/boot/grub2/grub.cf(centos 7)(根据grup配置文件(grup.cfg)中记录的位置,去找到内核文件(高级语言))
4.加载内核(kernel)
把内核运行在内存中,加载内核:加载完毕进入操作系统
内核接过系统控制权以后,将完全掌控整个 Linux 操作系统的运行过程。在 CentOS 系统中,默认的内核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”。 总结:把内核和镜像文件系统加载到内存中 可以使用
5.启动进程(init进程初始化)
启动操作系统后需要启动进程,启动第一个祖宗进程
为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内 存中运行(运行中的程序称为进程),init 进程负责完成一系列的系统初始化过程,最后等待用户进行登录 总结:加载硬件驱动程序,内核把init进程加载到内存中运行。
centos7:systemd
?传统init依赖于串行执行Shell 脚本启动服务,导致效率低下,系统启动速度较慢 ? ?排对
? ? ?串行启动:一个一个按顺序启动
systemd能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度 ? 大家一起
? ? ? 并行启动:全部一起启动
?
文字描述:?
二、操作系统运行级别
1、0关机??
init 0是关机
2、1单用户 类似windows的急模式
init 1是单用户安全模式
3、2、3 、4都是字符界面
init 2、init 3 、init 4都是字符界面,但init 4(没用过),init2少些功能(nfs)所以常用的是init 3级别
4、 5 图形界面
init 5是图形化界面
5、?6重启
init 6是重启
???????
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!