【Linux基础八】计算机体系结构(冯诺依曼和操作系统)
- 1.冯诺依曼体系结构
- 2.冯诺依曼的优势
- 3.硬件间的交流
- 4.操作系统对硬件资源的管理
1.冯诺依曼体系结构
计算机大部分遵守冯诺依曼体系
- 输入设备:键盘、鼠标、摄像头、麦克风、磁盘、网卡等等
- 存储器:内存
- 中央处理器:CPU、寄存器、各级别缓存
- 输出设备:显示器、扬声器、磁盘、网卡等等
内存和磁盘的区别:
内存是利用电流来实现存储的半导体存储器,能够快速读写,但是价格相对较高,一旦断电,存储在内存中的数据就会丢失
磁盘是利用磁效应来存储数据的设备,比内存的存储容量更大,价格更便宜,但是读写速度较慢,即使在断电的情况下,数据依然可以被保存
计算机中几乎所有设备都有存储功能,只是存储大小有所差别
2.冯诺依曼的优势
计算机体系拥有很多如哈佛架构和向量处理器系统等体系,为何冯诺依曼广泛普及?
这是一张内存分级图:
可以得出结论: 离CPU越近,运行速度越快,价格越高
在硬件层面上,CPU只和内存交互,不能直接和外设交互
内存的速度非常快,可以与CPU的速度匹配,CPU为了总体效率不被拉低,就不会直接和离CPU很远的外设交互
而冯诺依曼体系让临近中央处理器进行复杂数据处理运算,让远处的设备既能存储数据,又能接收数据后传给内存做分析
因此冯诺依曼体系拥有高价值设备用于处理复杂数据,又有低价值设备存储数据和接收数据,二者使该体系下的计算机在价格适中的情况下拥有较高的效率,综合性价比高
3.硬件间的交流
程序=代码+数据
数据由CPU来处理,CPU和内存交互处理完代码和数据后会生成可执行文件,该文件会被保存在外设磁盘中
(磁盘的内容传输到内存以及内存怎样和CPU交互,都由操作系统来完成)
- 微信消息的发送与接收
4.操作系统对硬件资源的管理
操作系统本质是一款软件
举例:学校的教务系统:
每个学生都需要录入信息,校长就写了一个结构体
struct student
{int age;double height;int grade;string name;
}
学生数量庞大信息不易保存查找,校长决定用链表储存学生信息,结构体改进如下:
struct student
{struct student* next;int age;double height;int grade;string name;
}
校长管理的是数据而不是具体的人
结论:
操作系统也不直接管理硬件,而是创建一个个结构体,用来存放硬件的各种信息,再通过数据结构将所有结构体统一管理
先描述,再组织
操作系统的管理主要有:
- 进程管理
- 内存管理
- 文件IO管理
- 驱动管理
操作系统将软件好目的是给用户良好、稳定、高效、安全的使用环境,管理只是实现目的的手段
正如此图展示,每个硬件都有对应的驱动进行管理
操作系统正是通过管理驱动程序来管理下层硬件
操作系统并不相信用户,群众中也有坏人
就像银行,为你提供服务但会有一定的安全保障措施。
在操作系统和用户之间还有系统调用窗口和shell外壳来阻止不轨之徒人直接获取Linux内核中的各种信息