@操作系统篇
文章目录
- 一、冯诺依曼体系结构
- (1) 硬件数据流动角度,在数据层面:
- (2)程序运行为什么要加载到内存?
- 二、操作系统(Operator System)
- (1) Why 要有操作系统?
- (2)如何理解 “管理” ?
一、冯诺依曼体系结构
/*-->输入设备-->存储器-->输出设备-->^ | ^ ^| V | || -----| |运算器| ||_____| |______||控制器|-----
*/
- 数据是要在计算机的体系结构中进行流动的,流动过程中进行数据的加工处理。
- 数据从一个设备到另一个设备,本质是一种拷贝。数据在**外设(输入/输出设备)**读取的速率很慢,而CPU处理数据的速率很快,所以,数据在设备之间拷贝的效率决定了计算机整机的基本效率。
- 增加存储器的伟大作用:存储器相当于是一个巨大的缓存,在提高数据传输的效率的同时,又不会太大增加生产的成本,具有划时代的意义。
- 存储金字塔:距离CPU越近,效率越高,成本越高,容量越小。
(1) 硬件数据流动角度,在数据层面:
- CPU不和外设打交道,CPU只和内存打交道。–>所以数据要先加载到内存,才能被CPU执行。
- 外设的数据,不是直接给CPU的,而是先加载到内存。
(2)程序运行为什么要加载到内存?
-
因为冯诺依曼体系结构规定了这么做。
-
程序=代码+数据。 程序的”数据“要想被执行都要被CPU访问。
-
程序没有被加载到内存的时候在外设(磁盘)里。
-
CPU只能和内存打交道,从内存中读取代码和数据,不能直接访问外设。
-
所以程序要想运行必须加载到内存。
二、操作系统(Operator System)
- 操作系统是一款对软硬件资源管理的软件。
- 操作系统的内核:进程管理,内存管理,文件管理,驱动管理。
- 其他程序(例如:函数库,shell程序)
(1) Why 要有操作系统?
- 与软硬件交互,对下:要对软硬件资源进行管理(手段),对上:要为用户提供一个良好的(稳定的,安全的,高效的)运行环境(目的)。(以人为本)
- OS是层状划分的结构,对上要为用户提供良好的运行环境,对下要管理好软硬件。
- 用户——用户操作接口——system call(系统调用接口)——操作系统——驱动程序——底层硬件。
- 任何想要访问硬件的程序,都必须要经过操作系统。
(2)如何理解 “管理” ?
-
管理是对数据的管理。
-
先描述,在组织。
-
计算机管理硬件:
- 先描述起来:用struct 结构体。
- 在组织起来:用链表或其他高效的数据结构。(容器的本质就是数据结构,将数据高效的组织起来。)