目录
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家
一、冯诺依曼体系结构
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,正因为提供了将系统调用封装成了一系列库函数,所以使得语言具有跨平台性和可移植性。