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

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

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

相关文章

频率的高低与辐射强度有关系吗?

摘要: 频率的高低和辐射强度之间存在一定的关系。 一般而言,频率越高,辐射强度越大,即电磁辐射的能量越大。这是因为电磁波的能量与其频率成正比。在电磁波谱中,如X光和伽玛射线具有高频率和强辐射强度,可以破坏构成 .…

番外篇 中国古代的操 作系统

番外篇中国古代的操作系统 在古代中国,仿佛已经存在一套古老而神秘的操作系统机制。 这个东方国度中,有一位名叫小李子的忙碌人物,他的工作就如同是执行各种指令的“人肉CPU”。 这个国家还有一个特殊的人物,即皇帝,他…

1.4.1机器学习——梯度下降+α学习率大小判定

1.4.1梯度下降 4.1、梯度下降的概念 ※【总结一句话】:系统通过自动的调节参数w和b的值,得到最小的损失函数值J。 如下:是梯度下降的概念图。 我们有一个损失函数 J(w,b),包含两个参数w和b(你可以想象成J(w,b) w*x…

服务器配置SSL证书到nginx基于Fdfs存储服务器或者直接阿里云绑定SSL

1.如果用FDFS存储服务器内置nginx设置SSL证书 1.验证当前nginx是否存在 http_ssl_modulehttp_ssl_module模块 如果存在直接配置就行 server {listen 80 default backlog2048;listen 443 ssl; server_name 域名; ssl_certificate /usr/local/nginx_fdfs/ssl/xxxx.top.crt; ssl…

Unity报错:[SteamVR] Not Initialized (109)的解决方法

问题描述 使用HTC vive 头像进行SteamVR插件的示例场景进行测试,发现头显场景无法跳转到运行场景(Unity 项目可以运行,仅出现警告)。 具体如下: [SteamVR] Not Initialized (109) [SteamVR] Initialization failed…

OpenHarmony自定义Launcher

前言 OpenHarmony源码版本:4.0release 开发板:DAYU / rk3568 DevEco Studio版本:4.0.0.600 自定义效果: 一、Launcher源码下载 Launcher源码地址:https://gitee.com/openharmony/applications_launcher 切换分支为OpenHarmony-4.0-Release,并下载源码 二、Launcher源…

2024.1.9 基于 Jedis 通过 Java 客户端连接 Redis 服务器

目录 引言 RESP 协议 Redis 通信过程 实现步骤 步骤一 步骤二 步骤三 步骤四 引言 在 Redis 命令行客户端中手敲命令并不是我们日常开发中的主要形式而更多的时候是使用 Redis 的 API 来实现定制化的 Redis 客户端程序,进而操作 Redis 服务器即使用程序来操…

mysql生成到当前时间的时间序列,报表按时间补0

生成本月每日的时间序列 SELECT DATE_FORMAT(date_add( CONCAT(YEAR(Date(curdate())),‘-0’,MONTH(Date(curdate())),‘-’,‘01’), INTERVAL ( cast( help_topic_id AS signed) ) DAY ) ,‘%Y-%m-%d’ ) FROM mysql.help_topic WHERE help_topic_id < DAY ( curdate( ) …

利用Type类来获得字段名称(Unity C#中的反射)

使用Type类以前需要引用反射的命名空间&#xff1a; using System.Reflection; 以下是完整代码&#xff1a; public class ReflectionDemo : MonoBehaviour {void Start(){A a new A();B b new B();A[] abArraynew A[] { a, b };foreach(A v in abArray){Type t v.GetTyp…

SaaS先驱Salesforce发展史

Salesforce是云计算和SaaS领域的先驱&#xff0c;大致经过5个不同发展阶段 第一个阶段&#xff1a;SaaS CRM发展初期 Salesforce成立时间是1999年&#xff0c;其SaaS业务的Idea的灵感起源于IaaS巨头亚马逊。初期标榜的竞品Siebel早期投入高、很难上手、功能过于复杂、实用性不强…

使用Excel批量给数据添加单引号和逗号

表格制作过程如下&#xff1a; A2表格暂时为空&#xff0c;模板建立完成以后&#xff0c;用来放置原始数据&#xff1b; 在B2表格内输入公式&#xff1a; ""&A2&""&"," 敲击回车&#xff1b; 解释&#xff1a; B2表格的公式&q…

WebRTC实现1对1音视频通信原理

什么是 WebRTC &#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是 Google于2010以6829万美元从 Global IP Solutions 公司购买&#xff0c;并于2024年01月10日将其开源&#xff0c;旨在建立一个互联网浏览器间的实时通信的平台&#xff0c;让 WebRTC…

计算机毕业设计---ssm实验室设备管理系统

项目介绍 ssm实验室设备管理系统。前台jsplayuieasyui等框架渲染数据、后台java语言搭配ssm(spring、springmvc、mybatis、maven) 数据库mysql8.0。该系统主要分三种角色&#xff1a;管理员、教师、学生。主要功能学校实验设备的借、还、修以及实验课程的发布等等&#xff1b;…

再不收藏就晚了,Axure RP Pro 各版本大集合

Axure RP Pro下载链接 https://pan.baidu.com/s/1hRJRY6t0ZONKhdwvykAc3g?pwd0531 1.鼠标右击【Axure RP Pro9.0】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;选择【解压到 Axure RP Pro9.0】。 2.打开解压后的文件夹&#xff0c;鼠标右击【Axu…

2024啦,致敬最可爱的技术人!!

大家可以关注我的公众号和视频号“架构随笔录”。 ​作为一个开源爱好者&#xff0c;我花费了大概1整天的时间去整理了国内外主流的互联网公司在Java后端领域的开源输出成果&#xff0c;顿时感悟太多&#xff0c;总是觉得这些贡献开源的技术人及对应技术公司确实太不容易了&am…

golang并发安全-select

前面说了golang的channel&#xff0c; 今天我们看看golang select 是怎么实现的。 数据结构 type scase struct {c *hchan // chanelem unsafe.Pointer // 数据 } select 非默认的case 中都是处理channel 的 接受和发送&#xff0c;所有scase 结构体中c是用来存储…

前端monorepo大仓权限设计的思考与实现

一、背景 前端 monorepo 在试行大仓研发流程过程中&#xff0c;已经包含了多个业务域的应用、共享组件库、工具函数等多种静态资源&#xff0c;在实现包括代码共享、依赖管理的便捷性以及更好的团队协作的时候&#xff0c;也面临大仓代码文件权限的问题。如何让不同业务域的研…

12. SSM整合

1.新建一个maven项目,添加web支持 创建项目 设定项目名 右键添加框架支持: 添加web应用支持: 完成后目录结构: 2.添加jar包依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0…

RealSense Depth Cameras with ROS1 安装和启动教程

首先进入下面的网址&#xff1a; https://dev.intelrealsense.com/docs/ros1-wrapper 进入该链接后&#xff0c;点击最右边的“忍者神龟” 继续点进去 继续点进去后&#xff0c;终于来到了下载安装教程页面&#xff1a; 下面开始命令行代码的搬运&#xff1a; 一、ROS安装&am…

JavaScript高级程序设计读书记录(九):继承

1. 继承 继承是面向对象编程中讨论最多的话题。很多面向对象语言都支持两种继承&#xff1a;接口继承和实现继承。前者只继承方法签名&#xff0c;后者继承实际的方法。接口继承在 ECMAScript 中是不可能的&#xff0c;因为函数没有签名。实现继承是 ECMAScript 唯一支持的继承…