大家好我是沐曦希💕
文章目录
一、冯诺依曼体系结构
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
计算机包含输入设备、输出设备、存储器、中央处理器(运算器+控制器)
至目前,我们所认识的计算机,都是有一个个的硬件组件组成。
输入设备:键盘、磁盘、网卡、鼠标、摄像头等
输出设备:显示器、磁盘、网卡、各种打印机等
存储器:内存(掉电易失)只能作为临时存储
运算器&&控制器:CPU
磁盘属于外存,具有永久性存储能力。
CPU作为计算机的核心,负责计算,速度最快,寄存器次之,内存在次之,而外设是较慢的。
但是CPU只能被动接受别人的指令和别人的数据,那么CPU必须先认识别人的指令(每个CPU被制作都有自己的指令集),才能执行别人的指令,起到计算别人数据的目的。
上面说到CPU的速度很快,而外设的速度很慢,那么CPU直接从外设拿数据效率就降低了,所以数据是从外设加载到内存中的,然后CPU再从内存中读取数据,CPU处理完的数据再返回给内存(产生了缓存),数据再从内存中加载到外设,这大大提高的数据的处理。
所以CPU再读取和写入时候,在数据层面只和内存打交道,为了整体效率。
内存从外设读取和写入数据的过程成为I/O过程(input/output)
对于冯诺依曼体系,我们应该注意:
这里的存储器指的是内存
在数据层面不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)
CPU不和外设直接打交道,和内存直接打交道。外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取。
所有外设有数据需要载入,只能载入到内存中,内存写出也一定是写到外设中
简单来说,就是所有设备都只能直接和内存打交道,提高整机效率
所以程序的运行必须要加载到内存,CPU执行的代码访问数据,只能从内存中读取(这也是体系结构规定的)。
对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上,请解释,从你登录上qq开始和某位朋友聊天开始,数据的流动过程。 从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在qq上发送文件呢?
- 发送消息 --> 接受消息 的数据流动:A 的键盘 --> A的内存 --> A的CPU (加密) --> A的网卡 --> B的网卡 --> B的内存 --> B的CPU (解密) --> B的显示器;
- 发送文件 --> 接受文件 的数据流动:A 的磁盘 --> A的内存 --> A的CPU (加密) --> A的网卡 --> B的网卡 --> B的内存 --> B的CPU (解密) --> B的磁盘;
二、操作系统OS
- 是什么
操作系统是一个进行软硬件资源管理的软件,操作系统包含了进程管理,文件管理,内存管理,驱动管理。
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库, shell程序等等)
- 为什么
操作系统通过合理的管理软硬件资源(手段),为用户提供良好的,稳定的,高效的,安全的执行环境(目的)。
在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的“搞管理”的软件
- 怎么办
- 管理者不需要与被管理者直接交互,依旧能够很好的将被管理者管理起来
比如在学校学生是被管理者,校长是管理者。管理者不需要和被管理者直接交互,依旧能够把被管理者对象管理起来。