【Linux】冯诺依曼体系结构及操作系统架构图的具体剖析

目录

一、冯诺依曼体系结构

1、结构图

2、结构图介绍:

3、冯诺依曼体系的数据流动介绍

4、为什么在该体系结构中要存在内存?

二、操作系统架构图介绍

1、操作系统架构图

2、解析操作系统架构图

3、为什么要有操作系统?

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家

点击跳转到网站

一、冯诺依曼体系结构

1、结构图

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

我们先认识一下结构图:

今天我们先讲解红线过程。

2、结构图介绍:

(1)中央处理器(CPU):包括运算器和控制器;

(2)输入设备:如话筒、摄像头、键盘、鼠标等等;

(3)输出设备:声卡、显卡、网卡、显示器等等;

(4)存储器:一般指内存:内存具有掉电易失的性质,即如果突然断电的话,内存中的数据就会全部没了;

(5)这些设备都是相互独立的,有些设备只做输入,有些只做输出,有些即做输入,又做输出;

(6)这些设备又是相互连接的,通过主板上的总线相互连接;

(7)使用总线将这些设备相互连接不是目的,而是一种手段,具体目的是为了设备之间的数据流动,数据流动的本质就是设备之间进行数据的来回拷贝,拷贝的整体速度是决定计算机效率的重要指标;

3、冯诺依曼体系的数据流动介绍

首先通过输入设备,如键盘,输入数据到内存中,然后内存又将数据给CPU进行运算处理,然后将运算后的数据返回给内存,内存又输出到输出设备,如显示屏;

这里我们可以想到在我们学习C语言的时候听过一句话:

程序在运行的时候,必须把程序加载到内存。

这就是冯诺依曼体系这么规定的:

在数据层面,CPU与内存打交道,外设只和内存打交道。

4、为什么在该体系结构中要存在内存?

因为如果直接将CPU和输入输出设备连接的话,输入输出设备的效率是非常低的,即使CPU效率非常高,但最终效率会以这两者之前效率最低的为主,这就导致计算机最终效率会非常慢。所以引入了内存,因为有了内存,可以将内存看成一个巨大的缓存,输入设备可以将数据预先加载到内存,CPU需要的时候直接从内存中取,而CPU处理后的数据也可以存储在内存中,输出设备需要的时候就从内存中直接取。这就可以使计算机的效率变成了以内存效率为主。引入内存,不仅提高了效率,相比CPU还比较便宜,这就大大提高了性价比,使得普通人可以用得上计算机。

二、操作系统架构图介绍

1、操作系统架构图

操作系统是一个进行软硬件资源管理的软件,他是第一个被加载的软件。

那么什么叫做管理呐?

管理中一般有三个对象分别做一件事:

管理者:做决策

中间者:保证管理决策落地到被管理者

被管理者:做执行

特点:先描述,再组织

(1)管理者和被管理者,不需要见面。管理的本质不在于对对象做管理,而是在于对对象的信息数据做管理。管理者的核心是根据数据做决策。

(2)管理者通过中间者拿到被管理者的数据。

(3)管理者在面对大量的被管理者的时候,数据量必然是非常大的,此时管理者通常会将数据放到常用数据结构,如链表中进行管理。

下面的知识我们就以链表为例:

2、解析操作系统架构图

根据第一点中介绍的管理的知识,操作系统也是这样管理的:

(1)操作系统是无法直接访问底层硬件的,而是通过访问驱动程序,从而去操作底层硬件,比如我们插入U盘的时候,通常会显示 "驱动程序已驱动"。

(2)同理,我们顶层的用户也是无法直接访问操作系统的,而是需要通过操作系统提供的系统调用接口去间接访问操作系统,而为了方便用户使用,又将系统调用接口封装了一下,从而形成了用户操作接口,比如我们常见的C-lib(C语言标准库函数)。

(3)、系统调用由操作系统提供,库函数由设计者提供。

3、为什么要有操作系统?

(1)对下层管理好软硬件资源 ------手段;

(2)、对上层提供一个良好的运行环境 ------目的;

良好的运行环境一般包括:稳定、高效、安全;

这套系统是任何操作系统都适用的,不管是windows还是linux,正因为提供了将系统调用封装成了一系列库函数,所以使得语言具有跨平台性和可移植性。

相关推荐
只想安静的写会代码16 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
susu108301891116 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
r***F26216 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
smaller_maple17 小时前
linux问题记录1
linux·运维·服务器
报错小能手18 小时前
讲讲libevent底层机制
linux·服务器
PhoenixAI820 小时前
显示器共享多主机切换的软件解决方案
计算机外设·显示器
代码AC不AC21 小时前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构
大柏怎么被偷了21 小时前
【Linux】进程等待
linux·运维·服务器
偶像你挑的噻1 天前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
松涛和鸣1 天前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法