操作系统理论基础
操作系统
计算机系统
基本组成
- 处理器
--|地址寄存器
--|缓冲寄存器
- 内存
- I/O模块
--|地址寄存器
--|缓冲寄存器
- 系统总线

指令执行
- 程序计数器PC
保存下一次要取的指令地址
- 指令寄存器IR
正被执行的指令
- 处理器执行指令
处理器-存储器---处理器-I/O---数据处理---控制
- 累加器AC
临时存储
- 程序状态字PSW
当前进程状态信息,包括内存使用、条件码、和中断位、内核/用户等状态信息。
中断
- 中断分类
程序中断
时钟中断
I/O中断
硬件失效中断
- 中断和指令周期
中断处理程序
中断阶段
- 中断处理
中断激活事件处理。
key1:处理单中断,禁止发生其它中断,没考虑系统优先级和中断请求信号。
key2:定义中断优先级,允许高优先级打断低优先级。
存储器
存储分级:一级缓存、二级缓存
缓存平均存储时间:命中率,平均存储时间
存储访问的局部性原理
程序指令访存和数据访存成簇状,在处理器和内存间提供小容量速度快的高速缓存。(字>>块>>高速缓存槽)
时间局部性(访问最近使用存储器单元的趋势)v.s. 空间局部性(多簇存储器单元顺序访问指令的趋势)
缓冲区:磁盘高速缓存技术。
性能提高方法:
- 磁盘成簇类;
- write-out数据磁盘高速缓存。
高速缓存设计
- 高速缓存大小
小的高速缓存性能影响大。
- 置换算法
LRU算法,置换高速缓存中最长时间未被访问的块。
- 块大小
高速缓存与内存间的数据交换单位。块大小与命中率先逐增后减小。
- 写策略
规定何时发生存储器写操作。高速缓存一致性问题,通过硬件实现。
- 映射函数
函数灵活,减少置换出的块被再次利用的可能。
- 高速缓存的级数
虚拟存储器
磁盘高速缓存
I/O操作分类
- 可编程I//O
通过I/O模块,确定I/O操作是否完成。
- 中断驱动I/O
I/O模块准备好数据交换后,打断处理器执行。
- 直接内存存取(DMA)
组成:判断请求读写,涉及I/O设备地址,读写开始存储单元,读写需要字数。
DMA相对处理器总线竞争有优势,处理器暂停一个总线周期,等待DMA模块。
多核/多处理器
- 对称多处理器SMP
交互单元为单数据元素,进程间高度协作。
- 多核计算机
芯片多处理器组装在单硅片上。
QPI:快速通道互联,实现多处理器芯片间高速通信,每次连接包含专用双向线路。
操作系统
系统结构
- 控制程序
- 用户/计算机接口
- 资源管理器
分层:
-|软件
--|应用软件
--|系统软件
----|系统应用
----|操作系统
------|Shell
------|内核(并发、共享、虚拟、异步)
------|GUI
结构分类
- 简单结构
单一硬件平台
- 分层结构
硬件,中间n层,用户界面,每层依赖于下一层,可移植。
- 微内核结构
尽可能把内核功能放到用户空间,用户模块通信使用消息传递。
- 外核结构
内核将资源管理交给应用程序,程序决定资源处理,保护与控制分离。
- 虚拟机管理器
单独机器接口转换为多种系统接口。
系统分类
- 分时操作系统
同时允许多用户通过主机终端交互式使用计算机,共享主机资源,操作系统以时间片为单位,轮流为用户提供服务。
- 批处理操作系统
作业分批提交给操作系统,由系统控制进行处理。系统利用率高,系统吞吐量大,平均周转时间长,无交互能力。
内存保护、定时器、特权指令、中断。
- 多道批处理系统
涉及内存管理
新设计思路
微内核
分布式操作系统
多线程(线程和进程的区别)
面向对象设计
对称多处理(SMP):多处理器的存在对用户是透明的。
系统设计
- 并发进程或线程
- 调度
- 同步
- 内存管理
- 可靠性和容错性
理论发展
- 进程
错误产生原理:
不正确的同步(出现信号丢失等);
失败的互斥;
不确定的程序操作(程序调度顺序异常);
死锁。
进程组成:
一段可执行的程序;程序所需要的相关数据(变量、工作空间和缓冲区等);程序的执行上下文(进程状态,管理控制进程所需内部数据)。
分页系统,进程由页组成,分页系统实现进程中的虚地址和内存中的实地址动态映射。载入进程缺页的配置方法叫做虚存。虚地址,内存和外存的地址转换。
设计开发开销很小的地址转换机制和减少各级存储器间通信量的存储分配策略。
- 调度和资源管理
公平性、有差别的响应性、有效性(大吞吐量、小相应时间)
优先级、时间片轮转、短程队列调度。
容错性
- 概念
系统、部件发生软硬件错误时正常运行的能力。
- 指标
可靠性R(t),平均失效时间MTTF,平均修复时间MTTR。
现代操作系统