CHS_01.1.5+操作系统引导

news2025/1/19 13:15:21

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等技术内容,立即学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1370301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

qt 实现登录界面

#include "mainwidget.h"MainWidget::MainWidget(QWidget *parent): QWidget(parent) {this->setWindowTitle("有道笔记");this->setWindowIcon(QIcon("C:\\Users\\18801\\Desktop\\ydIcon\\icon")); // this->setStyleSheet("…

esp32UART串口外设(Arduino)

通用异步接收器/发送器 (UART) 介绍 通用异步接收器/发送器 (UART) 是一种硬件功能,它使用广泛采用的异步串行通信接口(如 RS232、RS422 和 RS485)处理通信(即时序要求和数据成帧&…

torch.nn.CrossEntropyLoss()

torch.nn.CrossEntropyLoss(weight=None,size_average=None,ignore_index=-100,reduce=None,reduction=mean,label_smoothing=0.0) 计算过程 nn.CrossEntropyLoss()=nn.LogSoftmax()+nn.NLLLoss() import torch import torch.nn as nnloss_func = nn.CrossEntropyLoss() pre…

Windows11快速安装Android子系统

很多小伙伴想在电脑运行一下安卓程序,或则上班用手机摸鱼不方便,用电脑又没有想要的手机软件,那么怎么用电脑来安装安卓软件呢? 首先设置地区 安装Android子系统的前提需要安装 Amazon Appstore 这个应用,内地不能下载…

【CV】计算两个向量的夹角,并使用 OpenCV 可视化弧线

背景 基于人体/动物,骨骼点数据,计算关节角度 1. 原理 计算两个向量的夹角,我们已三个点为例,BA 向量和BC向量,求 B 的角度。若为四个点,延长交叉即可。 2. 效果 效果图如下 3. 核心代码 def comput…

vue2源码解析之第一步(对数据进行劫持)

###环境搭建 第一步 创建项目: npm init -y 第二步 安装对应的插件: npm i rollup rollup-plugin-babel babel/core babel/preset-env --save-dev 第三步 全局下创建rollup配置文件 rollup.config.js import babel from rollup-plug…

JVM工作原理与实战(十一):双亲委派机制

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、双亲委派机制 1.双亲委派机制详解 2.父类加载器 3.双亲委派机制的主要作用 二、双亲委派机制常见问题 总结 前言 ​JVM作为Java程序的运行环境,其负责解释和执行字…

CDN的介绍以及加速内容传输原理

目前在公司的开发过程中,发现很多存储在oss的静态资源(图片,安装包)的链接中域名都使用了cdn域名,后面了解到这个cdn域名的主要作用是加速资源的访问,于是抽空了解了一下CDN加速原理。 目前使用得比较多的是…

【大厂算法面试冲刺班】day0:数据范围反推时间复杂度

常见算法的时间复杂度 规定n是数组的长度/树或图的节点数 二分查找:O(logn) 双指针/滑动窗口:O(n) DFS/BFS:O(n) 构建前缀和:O(n) 查找前缀和:O(1) 一维动态规划:O(n) 二维动态规划:O(n^2) 回溯…

Java后端返回的MySQL日期数据在前端格式错误的解决方法,区分jackson和fastjson

写在前面 在写web项目的时候经常会遇到后端返回的MySQL日期数据(date)类型在前端显示不正确的情况,有的时候会出现一串数字的时间戳,有的时候显示为日期晚了一天。 这是因Json给前端返回数据的时候格式问题造成的 解决方法 其实总结起来就是一句话在…

【Docker】私有仓库

目录 1.搭建 2. 上传镜像 3.拉取镜像 1.搭建 1.拉取私有仓库的镜像 docker pull registry 2.创建私有仓库容器 docker run -id --nameregistry -p 5000:5000 registry 3.打开浏览器,输入地址(http:私有仓库服务器ip:5000/v2/_catalog) 出现如图表示私…

Python - 深夜数据结构与算法之 Two-Ended BFS

目录 一.引言 二.双向 BFS 简介 1.双向遍历示例 2.搜索模版回顾 三.经典算法实战 1.Word-Ladder [127] 2.Min-Gen-Mutation [433] 四.总结 一.引言 DFS、BFS 是常见的初级搜索方式,为了提高搜索效率,衍生了剪枝、双向 BFS 以及 A* 即启发式搜索…

1.1数算选择题(循环队列、二叉树、查找、堆、顺序表、生成树、哈夫曼树、排序)

循环队列 front:头指针 rear:尾指针 m:循环队列的长度 元素个数(rear-frontm)%m 19-114048%408 11-194032%4032 二叉树 入度出度,n-1n0n1n2-1n12n2,有n21n0,对于完全二叉树,度为1的节点要…

挑战Transformer的新架构Mamba解析以及Pytorch复现

今天我们来详细研究这篇论文“Mamba:具有选择性状态空间的线性时间序列建模” Mamba一直在人工智能界掀起波澜,被吹捧为Transformer的潜在竞争对手。到底是什么让Mamba在拥挤的序列建中脱颖而出? 在介绍之前先简要回顾一下现有的模型 Transformer:以其注意力机制而…

重学JavaScript高级(八):ES6-ES12新增特性学习

ES6-ES12新增特性学习 ES6–对象字面量增强 属性的简写方法的简写计算属性名 let name "zhangcheng" //我想让sum作为obj的key值 let objKey "sum" let obj {//属性名的简写name//等同于name:name//方法的简写running(){}//等同于running:function()…

RT-DETR 更换骨干网络之 MobileNetV3 | 《搜寻 MobileNetV3》

论文地址:https://arxiv.org/abs/1905.02244 代码地址:https://github.com/xiaolai-sqlai/mobilenetv3 我们展示了基于互补搜索技术和新颖架构设计相结合的下一代 MobileNets。MobileNetV3通过结合硬件感知网络架构搜索(NAS)和 NetAdapt算法对移动设计如何协同工作,利用互…

使用 Open3D 的 3D LiDAR 可视化:用于自动驾驶的 2D KITTI 深度框架-含数据集+源码

3D LiDAR传感器(或)3维 光探测和测距是一种先进的发光仪器,能够像我们人类一样在3维空间中感知现实世界。这项技术尤其彻底改变了地球观测、环境监测、侦察以及现在的自动驾驶领域。它提供准确和详细数据的能力有助于增进我们对环境和自然资源的理解和管理。 在这篇权威研究…

仿stackoverflow名片与b站名片实现(HTML、CSS)

目录 前言一、仿stackoverflow名片HTMLCSS 二、仿b站名片HTMLCSS 素材 前言 学习自ACwing - Web应用课 一、仿stackoverflow名片 HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport&…

【hyperledger-fabric】使用couchDB

简介 本文章主要参考来自于官方文档使用CouchDB以及 https://www.bilibili.com/video/BV1Li4y1f7ex/?spm_id_frompageDriver&vd_source2c5f2831e1c63d3a20045b167ae044e6 B站视频&#xff0c;还是非常感谢up主提供了学习的思路。 为什么要使用couchDB&#xff1f; 原文…

如何将Redis、Zookeeper、Nacos配置为Windows系统的一个服务

说明&#xff1a;当我们在Windows上开发时&#xff0c;不可避免的会用到一些中间件&#xff0c;如Redis、Zookeeper、Nacos等等&#xff0c;当在项目中使用到本地的这些服务器时&#xff0c;我们需要把本地的服务器启动&#xff0c;会开启下面这样的一个窗口。 Redis服务器&am…