冯 • 诺依曼体系结构与操作系统

简介: 冯 • 诺依曼体系结构与操作系统

一、冯 • 诺依曼体系结构

c2d6df134abc49978260abfff6fb38aa.png


1.1 冯 • 诺依曼体系结构推导

计算机的作用就是为了解决问题。首先需要将数据或问题输入到计算机当中,所以计算机必须有输入设备。计算机解决完问题后还需要将计算结果输出显示出来,所以计算机必须有输出设备。要将问题解决就需要用到中央处理器,其中运算器负责算术运算与逻辑运算,控制器控制具体的流程。

对应到C语言当中,算术运算就是了完成一系列的加减乘除,而逻辑运算就对应于一系列的逻辑与、逻辑或,控制功能就对应于C语言当中的判断、循环以及各个函数之间的跳转等等。

be7c672138c04e5394b5e692ccd3f350.png



那么好似没有存储器(内存)这个结构也是可以的,如上图所示。但实际上并不是!!!

输入设备和输出设备相对于中央处理器来说是非常慢的,而根据木桶原理,那么最终整个体系所呈现出来的速度将会是很慢的。


ce3f1a1308a143aa90ab34ab3862d457.png


于是就不让输入设备和输出设备直接与CPU进行交互,而在这中间加入了内存,最终形成了冯 • 诺依曼体系结构。

内存比外设速度快许多,但比又CPU慢。在冯 • 诺依曼体系结构中,内存就处于慢设备和快设备之间,能够起到缓冲作用。

冯 • 诺依曼体系结构运行流程: 用户输入的数据先存储到内存当中,CPU读取数据的时候就直接从内存中读取,CPU处理完数据后又写回内存当中,然后内存再将数据输出到输出设备当中,最后由输出设备进行输出显示。


1.2 内存提高效率

但先将输入的数据交给内存,再由内存将数据交给CPU,这个过程真的比CPU直接从外设中获取数据更快吗?

内存具有数据存储的能力。这也使得软件有了发挥的空间,譬如操作系统可以将可能使用的数据预先加载到内存,以此来提高效率。

同时CPU处理数据和内存加载数据是可以同时进行的。根据统计学原理,当某个数据被访问时,那么下一次有极大可能访问其周围的数据。所以当CPU处理某一数据时,内存可以将该数据周围的数据加载进来,这也使得计算机的效率更高。

输出数据时也是一样,CPU处理完数据后直接将数据放到内存当中,当输出设备需要时再从内存中获取即可,此时CPU就可处理其他的事务(不需要等待外设处理),从而提高效率。这也就有了我们平常所说的缓冲区的概念。

1.3 具体案例理解冯 • 诺依曼体系结构

分析两台电脑使用QQ发送信息的过程,忽略网络处理的细节从而简化模型


b75e84e4979b4e2da5202fae29747a06.png


通过键盘输入信息并将消息加载到内存后,CPU从内存获取到消息后对消息进行各种处理,然后再将其写回内存,此时本地网卡就可以从内存获取已处理好的消息,然后在网络当中经过一系列处理,之后你朋友的网卡从网络当中获取到你所发的消息后,将该消息加载到内存当中,你朋友的CPU再从内存当中获取消息并对消息进行解包操作,然后将解包好的消息写回内存,最后你朋友的显示器从内存当中获取消息并显示在他的电脑上。


1.4 其他认识

◆   常见输入设备:键盘、鼠标、网卡、硬盘、话筒、摄像头、扫描仪等

常见输出设备:显示器、音响、网卡、硬盘、打印机等

注意: 同种设备在不同场景下可能属于输入设备,也可能属于输入设备


◆   站在数据层面上看,CPU只和内存打交道,外设也只和内存打交道。这也是为什么程序运行之前必须先加载到内存的原因。因为可执行程序(文件)是在硬盘上的,而CPU只能从内存中获取数据,所以必须先将硬盘上的数据加载到内存(即必须先将程序加载到内存)。


◆   CPU当中有寄存器,但寄存器不仅仅在CPU中存在,在其他外设当中也是有寄存器的。例如,当我们敲击键盘时,键盘先将获取到的内容存储在寄存器中,然后再通过寄存器将数据写入内存中。


◆   在物理层面上,各个硬件单元之间是通过总线连接的,外设与内存之间的总线为IO总线,内存与CPU之间的总线为系统总线


二、操作系统

2.1 操作系统概念

操作系统的定位: 操作系统其实就是一款进行软硬件资源管理的软件。

设计操作系统的目的:

1. 与硬件进行交互,管理所有的软硬件资源。

2. 为用户程序(应用程序)提供一个良好的执行环境。

2.2 操作系统的上下层

1b744db272534b7290b54b41d06a06fd.png


其实可以将将整个系统类比为一个银行系统进行理解。


底层硬件就是银行内的基础设施,如座椅、电脑、保险箱等。这些物品平时都是员工进行使用,使用这些硬件的员工我们就可以看作是驱动程序。

在一个银行系统里员工也是需要被管理的,管理员工的便是银行行长(操作系统)。而系统调用接口就像是银行提供的一个个窗口,可以供外面的顾客使用,顾客也必须通过系统调用接口才能访问内部,而不能直接操作内核、硬件等。

但在现实情况中,有些用户并不会使用窗口(第一次来银行的客户),这时外面的工作人员就会询问你要办理什么业务,这些工作人员就可以看作是用户调用接口。工作人员了解到你要办什么业务后,会告诉你具体告诉你要如何领票排队、具体去哪个窗口。所以用户操作接口内部还是会调用系统调用接口的。

我们可以发现操作系统并不直接与硬件交互,就像行长不会修电脑。但是为什么要设计成这样呢?

譬如,若操作系统自己来完成键盘的读取操作,那么只要键盘读取方式发生了改变,那么操作系统的内核源代码就需要进行重新编写,这对操作系统来说维护成本太高了。

于是在操作系统与底层硬件之间增加了一层驱动层,驱动层的主要工作就是单独去控制底层硬件。例如,键盘有键盘驱动,网卡有网卡驱动,硬盘有硬盘驱动,磁盘有磁盘驱动。驱动简单来说就是去访问某个硬件,访问这个硬件的读、写以及硬件当前的状态等等,驱动层就是直接和硬件打交道的。而驱动一般是由硬件制造厂商提供的,或是由操作系统相关的模块进行开发的(例如网卡)。

此时操作系统就只需关心何时读取数据,而不用关心数据是如何读取的了,也就是完成了操作系统与硬件之间的解耦。

2.3 管理理念:先描述,再组织

操作系统具体是如何管理的,我们今天先不谈,先谈谈操作系统的管理理念: 先描述,再组织

以校园中的管理举例,校园中可以大致分为三类人: 学生(被管理者)、老师(执行者)、校长(决策者)

在校园中学生几乎是不会看见校长的(操作系统不直接与硬件交互),他只进行决策。可是他不与学生交互,是如何管理学生的呢?

譬如校长想选出三名学生代表在元旦晚会上发表讲话,就让老师将成绩单拿给他,校长从中选出了成绩前三名的学生并让老师告诉这三名学生。在这个过程中,校长并没有与学生交互却管理到了学生,就是根据数据进行的管理。

实际上,学校将我们每个学生的各种信息都进行了管理,基本信息、成绩信息以及健康信息等等。每一套信息就描述了一名学生,校长通过对这些信息的管理就能做到对学生的管理。当学生的数量较多时,校长可以将全部学生的信息组织起来(链表、顺序表、树等)。此时校长对各个学生的管理,实际上就是对数据结构的增删查改。

目录
相关文章
|
2月前
|
缓存 Linux Shell
Linux进程解析(冯诺依曼体系结构,操作系统,进程初步解析)
Linux进程解析(冯诺依曼体系结构,操作系统,进程初步解析)
53 1
|
2月前
|
虚拟化
操作系统体系结构和内存分层
操作系统体系结构和内存分层
15 0
|
8天前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
12 0
|
18天前
|
安全 Ubuntu Linux
软件体系结构 - 操作系统
【4月更文挑战第10天】软件体系结构 - 操作系统
24 1
|
2月前
|
存储 缓存 供应链
『Linux升级路』冯诺依曼体系结构与操作系统
『Linux升级路』冯诺依曼体系结构与操作系统
|
2月前
|
缓存 Linux Shell
【linux】体系结构和os管理
【linux】体系结构和os管理
17 0
|
4月前
|
存储 缓存 安全
冯·诺依曼体系结构和操作系统
冯·诺依曼体系结构和操作系统
31 0
|
21天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
32 0
|
22天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
2月前
|
Linux 数据安全/隐私保护 虚拟化
Linux技术基础(1)——操作系统的安装
本文是龙蜥操作系统(Anolis OS) 8.4 的安装指南,用户可以从[龙蜥社区下载页面](https://openanolis.cn/download)获取ISO镜像。安装方法包括物理机的光驱和USB闪存方式,以及虚拟机中的VMware Workstation Pro设置。安装过程涉及选择语言、配置安装目标、选择软件集合和内核,设置Root密码及创建新用户。安装完成后,可通过文本模式或图形化界面验证系统版本,如Anolis OS 8.4,标志着安装成功。

热门文章

最新文章