【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,正因为提供了将系统调用封装成了一系列库函数,所以使得语言具有跨平台性和可移植性。

相关推荐
牧以南歌〆2 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
夜月yeyue3 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
kfepiza3 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
cuijiecheng20184 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
独行soc6 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*7 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn7 小时前
Linux命令的命令历史
linux·histsize·histfile
jingyu飞鸟8 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
世事如云有卷舒8 小时前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
2401_858286119 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb