【Linux】冯诺依曼体系结构与操作系统概念理解

文章详细介绍了冯诺依曼体系结构,包括五大设备的功能和内存的重要性,解释了数据在网络中的流动。此外,文章还探讨了操作系统的概念,强调了操作系统在硬件管理中的角色,通过决策与执行的概念,阐述了管理的本质。操作系统通过系统调用与库函数提供服务,同时保护自身不被直接访问,确保了系统的安全和稳定。

在这里插入图片描述

在这里插入图片描述

本篇博客全站热榜最高排名:5
本地图片
本地图片

一、冯诺依曼体系结构

1、体系概述理清

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系

  • 在冯诺依曼体系结构主要由五种设备组成,分别是:输入设备、存储器、运算器、控制器和输出设备,它们各司其职,都做着它们各自的工作

在这里插入图片描述

[ 细说五大结构 ]

  • 首先要来讲的就是我们能直接接触到的东西,也就是两个输入、输出设备
    • 【输入设备】:向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁,例:键盘、话筒、摄像头、网卡、磁盘
    • 【输出设备】:是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作,例:显示器、声卡、网卡、磁盘

对于输入输入设备和输出设备,我们统称为外围设备,对于外围设备而言,都比较慢,就比如说【磁盘】,不过虽然它比较慢,但是价格并不贵,三五百块钱就可以买到一块512G的硬盘,贵一点的话可能像固态硬盘价格在900 ~ 1200不等,但是它们都有一个优点就是:存储容量大、可以长久保存数据不丢失!

  • 可以看到,对于上面所列举的输入和输出设备中,同时出现的就是网卡和磁盘这两样,我们主要来说说磁盘这个东西。因为我们要通过输入设备将输入都输入到计算机中,那计算机肯定要对这些数据去进行一些处理,此时这些数据肯定是要一直存放在计算机中的,所以肯定要和东西将我们输入到计算机中的数据都保存起来,这个时候就需要使用到一些存储器了,此时我们就要来讲讲存储器了,它分为内存和外存,不过一般我们都称之为内存
    • 【内存】: 用于存放电脑运行中的原始数据、中间结果以及指示电脑工作的程序,断电后会丢失容量小,速度快
    • 【外存】:用来存放一些需要长期保存的程序或数据,断电后也不会丢失,容量比较大,但存取速度慢
  • 既然可以存储我们输入进去的数据了,那要如何去处理这些数据呢?此时就需要使用到运算器
    • 【运算器】:计算机中执行各种算术和逻辑运算操作的部件,。运算器的基本操作包括加、减、乘、除四则运算等等
  • 当运算器运算完成之后,就会经过输出设备将处理后的结果展现给用户,这就是用户与计算机之间的交互过程
  • 不过上面这些从输入到存储到计算,再到输出的过程,计算机去如何去执行的呢?靠什么去控制这种种行为?此时就要使用到控制器
    • 【控制器】: 完成协调和指挥整个计算机系统的操作

对于上面的运算器和控制器,我们将其合称为【中央处理器】,即cpu。它是计算机的大脑、也是核心部分,很多控制信号都要经过CPU才能执行

2、内存的重要性

  • 经过我上面这一番讲解,相信读者对冯诺依曼的基本体系有了一个概念了,不过一定会有同学提出这样的疑问:既然计算机只是从外界接收数据,然后处理我们输入的数据再把结果反馈给我们,那也可以不用存储器呀!

在这里插入图片描述

  • 在上一小节中,我们讲到了输入设备和输出设备,它们统称为外围设备,对于像【磁盘】这种外围设备来说虽然它有着大容量的内存,但是读写速度却非常慢,机械硬盘读写速度平均60---80M每秒;固态硬盘不同品牌型号之间,平均大约在150---300M每秒

  • 但是对CPU来说,也就我们上面说到过的运算器 + 控制器,它的运算速度读者可以自行去网上看看,那比磁盘不知道要快出多少倍了。那一个写入很慢,一个读入很快,真的可以兼容吗?

在网上有流传着一个东西叫做【木桶效应

  • 什么叫木桶效应呢,也就是这个木桶的承水量不取决于木桶中最长的那块板,而取决于最短的那块板
  • 对应我们上面所说磁盘与CPU:一个输入,一个读取;一个慢,一个快,虽然二者的维度不同,但计算机还是会按照慢的那个来执行,也就是说整体的效率就以外设为主了

在这里插入图片描述

那这一个快。一个慢,该怎么办呢?

  • 此时就还是需要使用到冯诺依曼体系结构中的【存储器】,也就是我们俗称的内存,因为对于内存这个东西,它虽然比CPU来得慢一些,但是却比磁盘快多了,它们三者的速度大概可以像下面这样对比
    • CPU —— 纳秒(ns)
    • 内存 —— 微秒(us)
    • 外设 —— 毫秒(ms)
  • 可以看到CPU是纳秒级别的速度,但外设却是毫秒级别的,它们之间要进行交互的话还是太Crazy了🤣所以就有了内存这个东西,可以作为中介

那有了内存后则怎么使用呢?

  • 因为有了内存的存在,虽然它掉电易失,但还是局部短时间的存储,因此外设可以将数据暂存到内存中,此时,CPU后面想要去处理这些数据的话直接去内存中拿就可以了,无需再与外设进行交互造成不兼容的问题

CPU中不是有个叫寄存器的东西吗?也可以起到临时存储的功能,为什么不直接用它呢?

  • 因为寄存器太贵了,只要是贵的东西就不会让我们广泛去使用。内存可以适配和外设之间的效率,既能够完成我们需要的功能,而且性能还不怎么差,它还便宜

【总结一下】:

  • CPU的速度是很快的,外设的速度是很慢的,因为有了内存,CPU以后在进行数据计算的时候,根本不需要访问外设了,而只要直接伸手向内存要就可以了

3、从硬件层面看软件

对于上面讲得大部分都是理论,可能会比较难懂一些,本小节我将从硬件层面看软件,使用硬件的行为来解释软件

  • 当我们使用C/C++编写完代码后都会编译生成可执行程序,对于这个可执行程序,其实就是一个文件,那既然是文件的话,它就存放在磁盘中,对于磁盘我们上面说了,就是一种外设。那此时就引出了下面这个问题

💬 为什么要执行我们的程序要先加载到内存?

  • 我们自己的代码和数据、编译好的指令,是要由CPU去执行的,在上一小节我们讲到CPU它只会伸手向内存要数据,而我们的可执行程序是一个文件,文件存放在磁盘中,所以这就解释通了为什么我们的程序要先加载到内存中,因为CPU只会去内存中读数据,体系结构决定了这一切!

知道了上面这点我们还可以来拓展一下

💬 开机的时候为什么要加载操作系统呢?

  • 也是同样的道理,操作系统的底层也是各种指令和数据,这些都是需要CPU去解析的,它解析完了操作系统才能正常运行起来,但是CPU只能到内存中去拿数据,所以在开机的时候把操作系统率先加载进来CPU就方便很多了,不需要再和外设去进行交互,这样就太慢了

在这里插入图片描述

通过以上的两个问题解答,相信你对CPU和内存之间的关系应该是非常了解了,知道了数据为什么要加载到内存中,即Why,但是我现在想问什么时候加载,也就是When

  • 也是用运行我们的程序来举例:在Windows中,我们只需要双击可执行程序,那么它就会加载到内存中了;在Linux中,我们使用./就可以运行一个可执行程序,也代表它加载到内存中

4、理解数据在网络中的流动

清楚了整个冯诺依曼体系结构,知道了大部分的计算机都是基于这种结构,那么现在我通过一个场景带你带你真实地体会一下这种体系结构在实际中的应用

现在你在上网,使用QQ向你的朋友发送了一句“在吗”,那此时这个数据在网络中进行流动的呢?假设你们的电脑都是基于冯诺依曼体系结构,需要有这么一个输入、处理、输出这么一个流程

  • 下面是我画的一个流程图,可以看到就是两个冯诺依曼体系结构中间使用网络进行了互连,在这里我们先不考虑网络的问题,只谈数据是如何在各个器件中流动的

在这里插入图片描述

流程细说

  • 当你使用输入设备,比如:键盘,在QQ的聊天框中发送了一句“在吗”的时候,这条信息就被读取到了计算机内部,被暂时存放在了【内存】中,接着CPU就会到内存中去读取数据,解析里面的指令然后由【运算器】进行运算,接下去通过【控制器】将这些信息由【输出设备】,例如:网卡,转发到网络中进行传输,网络内是如何传输的这里就不细讲了,涉及要一些 网络协议 相关的内容
  • 因为你朋友的电脑也是基于冯诺依曼体系的,所以也会存在【输入设备】,例如:网卡,将网络中传输过来的数据输入到它的计算机中,也是将其存放到内存中,然后一样CPU去内存中拿出这些数据再进行处理,转换成我们可以识别的样子,通过【输出设备】,例如:显示器,将消息打印在你朋友的屏幕。之后你的朋友再发送一句“在的”,也是同理经过这样的传输,继而你们就实现了相互通信

5、拓展

在了解了数据如何基于冯诺依曼体系结构在网络中进行流通,接下去我来拓展一些小知识🔍

📖早些年的计算机,因为芯片本身的集成能力比较差,有时候在进行数据读取的时候时间输入设备的数据直接打给CPU的,CPU读取完数据后再把数据写到内存中缓存起来,后面在合适的时候再让CPU从内存里拿出数据

📖不过随着时代的发展,计算机内部除了CPU这个芯片,还有第二张芯片交DMA,它只负责将外设的数据搬到内存中,这个过程就不用CPU参与了,所以目前认为CPU不会和外设直接沟通。

📖虽然CPU在数据层面不会和外设直接交互了,但是有些控制信号还要交互了,比如说外设要给C

评论 181
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烽起黎明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值