计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。
Any problem in computer science can be solved by another layer of indirection.
计算机体系
计算机系统软件体系结构的设计要点:整个体系结构从上到下都是按照严格的层次结构设计的。不仅是计算机系统软件整个体系是这样的,体系里面的组件(比如操作系统本身、很多应用程序、软件系统甚至是很多硬件结构)也是按照这阵=种层次的结构组织和设计的。
- 接口:每个层次之间相互通信需要的一个通信的协议。
- 接口是被精心设计过的,尽量保持稳定不变的。
- 除了硬件和应用程序,其他的都是所谓的中间层,每个中间层都是对它下面的那层的包装和扩展。
操作系统做什么
- 提供抽象的接口
- 管理硬件资源
CPU使用进阶:
- 多道程序
- 分时系统
- 多任务系统(抢占式CPU分配方式)
硬盘结构:
硬盘的节本存储单位为“扇区”,每个扇区一般为512字节。
一个硬盘往往有多个盘片,每个盘片分两面,每面按照同心圆划分为若干个磁道,每个磁道划分为若干个扇区。
进程的总体目标是希望每个进程从逻辑上来看都可以独占计算机资源。
内存
- 隔离:虚拟地址空间、物理地址空间
- 分段
- 分页