1、冯诺依曼体系结构
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。
这五个部分也可以划分为四个部分(输入、输出、存储器、CPU(运算器+控制器))。
输入:键盘、话筒、摄像头、磁盘、网卡。。。
输出:显示器、话筒、音响、磁盘、网卡 、显卡。。。
CPU(运算器+控制器):
存储器:内存
在冯诺依曼体系结构中,为什么要有内存?
a.技术角度:
CPU的运算速度>寄存器的速度>L1~L3Cache>内存>>外设(磁盘)>>光盘磁带。从数据角度,外设几乎不和CPU打交道,直接和内存打交道。CPU也同样如此。内存在我们看在就是体系结构的一个大的缓存,适配外设和CPU速度不均的问题!
b.成本角度:
造假成本:寄存器>>内存>>磁盘(外设)因此使用较低的成本能够获得较高的性能--性价比。
几乎所有的硬件,只能被动的完成某种功能,不能主动的完成某种功能,一般都是要配合软件完成的(OS+CPU)。
2、操作系统(Operator System)
操作系统是一款软件,搞管理的软件。 任何计算机系统都包含一个基本的程序集合,称作操作系统(OS)笼统的理解,操作系统包括:
- 内核(进程管理,内存管理,文件管理,驱动管理)
- 其他程序(例如函数库,shell程序等等)
设计操作系统的目的
- 与硬件交互,管理所有的软硬件资源
- 为用户程序(应用程序)提供一个良好的执行环境
系统调用和库函数
- 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供接口,叫做系统调用。
- 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有新得开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。