本文主要是介绍Linux启动过程白话(0.1版,留个大坑可能填可能不填了),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LINUX启动过程白话及进程树
1. 按下开机键
主板加电。
2. 通用寄存器置位
多数是置0,重要的是CS、IP两个寄存器。
注意一个概念“常转移”,还有CS、IP如何置位
3. BIOS加载进来
检查硬件状态,同时为这些硬件分配资源
“硬件深度遍历,有一个枚举”
4. BIOS调用
访问主引导表,分别指向硬盘上所装系统的副引导分区。将对应的boot分区中的数据取出来,按着其指示的地址去加载系统的内核(通过修改CS、IP的方式进行)
5. 启动操作系统
建立起硬编码的所谓的第一个进程(0进程),只有内核态
这时相当于服务已到位(就差客人了),于是1进程(拉客经理)启动。1进程为各个终端(也就是用户)根据需要创建进程(访问了系统配置表、配置文件)。1进程根据终端为依据,来创建对应的进程,来获取用户的登陆信息。一旦成功后,它就会通过Shell或者桌面GUI来代表这个用户(Shell会访问用户配置文件),接下来就在这个Shell或者桌面的承上启下中来实现对计算机的使用,同时来为应用程序提供服务。
思考题:“以上各个配置文件的存放地点?”
(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)
visitor tracker
这篇关于Linux启动过程白话(0.1版,留个大坑可能填可能不填了)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!