第1章 导论
1.1 操作系统做什么
计算机系统可以大致分为4个组成部分:
-
计算机硬件(e.g. CPU、内存、I/O): 为系统提供基本的计算资源
-
操作系统: 控制和协调各用户的应用程序对硬件的使用
-
系统程序与应用程序(e.g. 字处理程序、电子制表软件、编译器、网络浏览器):规定了用户按何种方式使用这些资源
-
用户: 不仅包括人,还包括机器和其它电脑
1.1.1 用户视角
- PC用户:
工作/游戏
-> 使用方便,性能次要,不在乎资源使用率
- 大型机/小型机终端用户:
共享资源并交换信息
-> 资源使用要优化,且确保没有用户使用超出其权限以外的资源
- 工作站用户:
不但可以使用专用的资源,而且可以使用共享资源,如网络和服务器及文件、计算和打印服务器
-> 个人使用性能和资源利用率的折中
- 手持计算机用户:
受电源、速度和接口所限,只能执行相对较少的远程操作
-> 方便个人使用,以及如何在有限的电池容量中发挥最大的效用
- 嵌入式系统计算机用户:
无需用户干预就能自行运行,无用户观点
1.1.2 系统视角
操作系统是资源分配器
1.1.3 定义操作系统
操作系统是一直运行在计算机上的程序(内核),其他程序为系统程序和应用程序
内核的功能:
进程管理、内存管理、存储管理
现在移动设备的操作系统除内核外还包含中间件middleware,提供包括数据库、图形处理、多媒体等功能
1.2 计算机系统组织
1.2.1 计算机系统操作
-
一个或多个CPU和若干设备控制器通过共同的总线相连
-
总线提供对共享内存的访问
-
每个设备控制器负责一种特定类型的设备
-
CPU和设备控制器并发工作,并竞争内存周期
-
内存控制器协调对内存的访问
开机过程:
-
开机时先运行引导程序bootstrap program,位于ROM或EEPROM中(只读,称为固件)
-
执行第一个进程,等待事件发生
中断:
-
调用一个通用子程序检查终端信息
-
子程序(通过指针表)调用相应中断处理程序
指针表通常位于低地址内存,这种数组/中断向量可通过唯一设备号来索引
1.2.2 存储结构
DRAM:内存
SRAM:CPU cache
1.2.3 I/O结构
DMA:
I/O和内存间(不经过CPU)直接传输数据
可能丢失数据
1.3 计算机系统体系结构
1.3.1 单处理器系统
有一个主CPU执行一个通用指令级,还有其他专用设备处理器运行受限的指令级
使用专用处理器很常见,不会将一个单处理器系统变成多处理器系统
如果只有一个通用CPU,系统则为单处理器系统
1.3.2 多处理器系统
优点:
-
增加吞吐量(但加速比达不到N)
-
规模经济
共享外设、大容量存储和电源供给
- 增加可靠性
非对称多处理:主-从关系
对称多处理:每个处理器都要完成操作系统中的所有任务