CHS_01.1.5+操作系统引导

简介: CHS_01.1.5+操作系统引导


操作系统的引导

我们会学习操作系统的引导 那你可能看见这个词的时候会觉得莫名其妙不明 绝地

什么是操作系统的引导呢 简单来说就是当你在开机的时候

如何让操作系统在你的电脑上运行起来 这就是操作系统引导

做的事情 那为了解释清楚这个问题 我们首先会介绍在你的磁盘里边

有哪些和操作系统引导相关的一些数据 了解了这些内容之后 我们再来介绍操作系统引导的具体过程

一个新的磁盘

那首先来看一下你的磁盘里边有哪些数据 如果你花钱买了一个新的磁盘

那么这个磁盘的内部刚开始就像你的钱包一样 都是空空的 接下来作为计算机专业的同学

我们都应该有能力把一个新的磁盘给安装到你的电脑主板上

那接下来是不是就可以在这个磁盘里面去安装操作系统了 那如果安装操作系统

安装操作系统后

你的磁盘里边就有可能是这个样子

那先看后面这些部分 你应该很熟悉c d e f盘

那你的操作系统是安装在c盘里的 这个大家都知道好 那除了你能看得见的这些磁盘分区之外

在你的磁盘的开头的位置会流出一片区域 这片区域用于存储

主引导记录英文缩写叫mbr 这里面主要包含了两个重要的东西 首先是磁盘引导程序

这个 我们一会来解释它有什么用 其次是分区表 那顾名思义 这个分区表

其实就是一个数据结构 那这个数据结构里边说明了在你的这个磁盘当中
每一个盘 每个分区分别占多大空间 以及每个分区的地址范围

好 接下来看一下你的c盘里边长什么样 首先 你的c盘安装了操作系统

并且会使用这个c盘来启动操作系统 那在这种情况下 我们就可以把c盘称为

你的这个磁盘的活动分区 那我们再把c盘内部进一步细分

你会看到 有两个比较特别的部分 首先 这儿有一片区域用于存储
引导记录英文缩写叫PBR
这个东西有什么用 我们一会再来解释 然后其次会有根目录相关的数据

那这个根目录就是你双击打开c盘之后看见的那些东西 那根目录里边有可能会包含一些文件夹 有可能会包含一些文件 对吧

那除了这两个部分之外 其他部分我们现在就暂时不做解释 而现在我们已经知道了

一个安装了操作系统的磁盘内部大概长什么样 分为哪些部分

以及c盘的内部可以分为哪些内容好 接下我们来看一下你c盘里面安装的操作系统是怎么一步一步启动的

操作系统引导(开机过程)

那操作系统要启动 操作系统的数据肯定需要被放到储存里边 对吧

好 现在需要给大家补充一个知识 计算机的主存由RAM和ROM两个部分组成

我们平时说手机内存是多少 或者电脑内存是多少 通常说的是RAM 除了RAM之外还有这样的一个部分

这个 ROM芯片被集成在你的电脑主板上 那这个存储芯片里面存储的是BIOS是基本输入输出系统的缩写 反正这个基本输入输出系统 它就是由一系列的程序组成的

那其中最重要的一个程序就是ROM引导程序 又可以称为自举程序

好 那我们知道RAM芯片里面的数据只要一关机一断电

里面的数据就被清空了对吧就空了 但是ROM芯片里面的数据是不会因为断电而丢失的

那这就意味着当我们开机的时候 cpu一旦通上电 那cpu是不是就可以去储存当中

固定的这个位置去找到这个ROM引导程序 也就这自举程序 然后执行这个程序里面的指令一条一条往后执行

那执行这个ROM引导程序的作用是什么呢

它会指示着cpu

去把磁盘的主引导记录把它给读入内存

那刚才我们说主引导记录里边有分区表 对吧 同时还有一个叫做磁盘引导程序的

东西 那么这两个东西现在都被我们读到储存里了 接下CPU是不是就可以去执行这个储存里边的

磁盘引导程序 而磁盘引导程序会根据分区表去判断

c盘所处的位置 接下是不是就可以读入c盘的第一部分的数据

也就是**读入这个PBR引导记录** 这个引导记录本质上也是一个程序

那接下来 cpu是不是就可以去执行这个引导记录里面的程序 那执行这个程序

它的主要作用是会负责找到启动管理器 那启动管理器它又是另一个程序

这个程序通常存放在根目录下面的某个位置 所以接下来从根目录里面找到这个启动管理程序

然后cpu再执行这个启动管理程序 接下来 这个启动管理程序就会完成

操作系统初始化的一系列的工作好 所以操作系统引导的过程 我们大致上可以把分为这样的四个主要步骤

第一步 cpu首先从一个特定的储存地址开始去取指令

因为这个ROM引导程序是存储在某一个特定的位置 固定不变的

那从这个位置开始 一条一条往后执行这些指令 那这些指令就是ROM引导程序 对吧

那通常这个ROM引导程序会先进行硬件的自检 就是检查这个有没有插磁盘
有没有插内存条等等
就是进行硬件的自检 那所有的这些硬件都没问题之后才会进行下一步 也就刚才我们提到的第二步
会把磁盘当中的低块 也就主引导记录给读入内存 同时执行这个磁盘引导程序
并且扫描分区表 找到这个活动分区 也就是安装了操作系统的分区

那只要找到了活动分区的起始地址 接下来就可以去读入这个活动分区的

第一个部分的内容也就是引导记录 把这个引导记录读入内存之后 就可以执行这个引导记录里边的程序

那这个程序完成的事情是会从跟目录下面去找到完整的操作系统初始化程序

也就是我们刚才提到的这个启动管理器 那最后再执行操作系统初始化的这个程序

就可以完成一系列开机的动作 那这就是操作系统引导 也就是开机的过程

好 那关于操作系统引导的过程大家结合这来理解就可以了 那最后给大家拓展一个小东西

如果你用的是windows操作系统的话 那你可以去找一下 你的c盘下面应该会有一个叫做windows的文件夹

然后在这个下面 你会找到一个叫做boot的文件夹 那在这个文件夹下面的东西

就是我们刚才提到的操作系统出发程序相关的那些内容 所以刚才我们说的第四步
本质上就是要从根目录c盘的这个根目录出发 然后找到
操作系统初始化程序 接下来再运行这一系列的程序 从而完成开机的那个动作

搭在开机的时候看见你的那个电脑在转圈圈 什么正在启动 你看见那个画面的时候 其实他背后执行的就是这些个东西

好 那有兴趣的同学可以自己去翻一下你的电脑 学了理论 再结合实践去看一下这些东西

可以让你的记忆更牢固 也会让你对一门学科更有兴趣 好的 那以上就是这个小节的全部内容

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习


相关文章
|
9月前
|
安全 Windows
警告!从ISO映像创建的U盘可能无法完全启动!Unknown引导扇区不支持NTFS文件系统
警告!从ISO映像创建的U盘可能无法完全启动!Unknown引导扇区不支持NTFS文件系统
2306 0
|
Shell Linux
LINUX SHELL读取一个文件,插入到另外一个文件的指定位置
LINUX SHELL读取一个文件,插入到另外一个文件的指定位置
352 0
uboot命令添加记录
uboot命令添加记录
91 0
uboot命令添加记录
|
存储 安全 小程序
PE格式:手工给程序插入ShellCode
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密,病毒分析,外挂技术等,本次实验的目标是手工修改或增加节区,并给特定可执行程序插入一段ShellCode代码,实现程序运行自动反弹一个Shell会话。
361 0
PE格式:手工给程序插入ShellCode