1. 冯诺依曼体系结构
我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。
一般来说,计算机分为输入设备、输出设备、存储器、运算器&&控制器
关于冯诺依曼,需要强调与解释的东西:
我们知道,CPU的速度是最快的,里面配有寄存器也是最快的,内存是较快的,而外设是较慢的:
内存存在的意义在于:
而我们所说到的IO(输入输出既input和output)就是从内存的角度上看,把数据从输入设备存入内存的过程叫做input,把内存中的数据输出到输出设备的过程叫做output,这就是IO的过程
对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。
2. 初识操作系统
2.1 操作系统是什么?
操作系统是一个对软硬件资源进行管理的软件
操作系统的定位:是一款专注于管理的软件
2. 为什么要有操作系统
为了更好的管理一台计算机的软硬件资源
通过合理的管理软硬件资源(手段),为用户提供更好良好的(稳定的,高效的,安全的)执行环境(目的)
3. 操作系统是怎么管理的
举个例子:大家作为学生,与自己学校的校长打过交道吗?应该很少有,但是大家又作为这个学校的学生被校长管理着,那么校长是怎么做到的呢?
是通过对数据的管理来管理学生的
所有的管理,本质是对数据做管理,管理的方法是先描述再组织
计算机管理软硬件资源的方式:
- 描述起来,用struct结构体
- 组织起来,用链表或其他高效的数据结构
计算机体系结构图
4. 系统调用(System Call)
在开发角度上看,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发
这对应着用计算机体系结构图中的户操作接口和system call,我们或者说用户不是直接和操作系统进行操作交流的,需要通过调用各种接口间接地进行交流