6.3~6.12 每天复习一点儿,仅供参考
第一章 概论
1.操作系统的功能
- 进程管理
- 存储管理
- 文件管理
- 设备管理
- 网络通信与服务
- 安全与防护
2.操作系统的特征
- 并发性:两个或多个程序在同一时间间隔内发生、同时处于活跃的状态的特性
- 共享性:指资源共享。多个并发的程序可以共享计算机的硬件和软件资源
- 随机性:每道程序执行在何时执行、各个程序执行的顺序以及每道程序所需的时间都是不确定的,也是不可预知的
- 虚拟性:将一个物理实体映射为一个或多个逻辑对象
3.多道程序设计
-
多道程序设计的基本思想是在内存同时放入几道程序,使它们交替地执行
-
多道程序的引入使得不同用户的多道程序可以在系统内存中并行运行,它们共享计算机的资源
4. 多道批处理系统
- 多个作业同时运行
- 脱机处理:作业一旦进入系统,用户就不能干扰作业的运行
5.程序接口
- 系统调用
- API
6. 操作接口
- 命令面板
- 图形界面
- 作业控制命令
7.OS体系结构
分层结构:自底向上、自顶向下
第二章 进程管理
1.并发执行的三个特性
-
间断性
-
开放/交互性
-
不可再现性
2.进程特征
- 结构性:
PCB
- 动态性
- 独立性
- 并发性
3. 两类进程
- 系统进程
- 用户进程
- 二者区别:管理、负责、优先级
4. 进程的状态及转换
-
就绪状态
-
运行状态
-
堵塞状态
5.PCB信息
- 进程标识信息:内部标识符和外部标识符
- 现场信息:寄存器中的数值
- 控制信息:PCB是进程存在的唯一标志
6.互斥与同步
- 并发运行的多个进程之间存在两种基本关系——
竞争
和协作
- 竞争会引起
死锁
和饥饿
- 互斥:若干进程因抢占独占性资源而产生的竞争制约关系
- 同步:为完成共同任务的并发进程基于某个条件来协调其运行进度、执行次序而等待、传递信号或消息而产生的协作制约关系
- 同步解决协作,互斥解决竞争
- 互斥也是一种特殊的同步——以一定次序协调地使用共享资源
7. 临界区和临界资源
- 临界资源:某段时间内只允许一个进程使用的资源称为临界资源
- 临界区:必须互斥执行的代码段称为相对于临界资源的临界区
- 临界区调度原则:
- 一次至多一个进程进入临界区执行
- 忙则等待:如果已经有程序进入临界区,其他试图进入的进程应该等待
- 有限等待:进程必须在有限时间内退出临界区
- 临界区实现方法
- 软件
- 硬件:禁止中断法、特殊指令法
8.信号量
信号量表示系统资源的实体,是一个与队列有关的整型变量
两个分量:
- 信号量的值
- 在信号量关联资源上阻塞的进程队列的队头指针
type struct semaphore{
int value;
struct pcb*list;
};
void P(semaphore&s){
s.value--;
if(s.value<0) block(s.list); //阻止本进程并进入s信号量队列
}
void V(semaphore&s){
s.value++;
if(s.value<=0)wakeup(s.list); //唤醒s信号量队列中的一个进程进入就绪队列
}
semaphore mutex=1; //信号量的初值一般为1,表示临界资源未被占用,且其可用数目为1
cobegin
process Pi(){
P(mutex);
临界区
V(mutex);
}
coend
9.PV操作
10. 管程与进程的区别与联系
- 管程把共享变量上的临界区统一起来,临界区分散在每个进程中
- 管程是为管理共享资源建立的,进程主要是为实现系统并发性引入的
- 管程被进程调用,管程和调用它的进程并发工作,而进程之间可以并发工作,并发性是其固有特性
- 管程是语言或操作系统的组成成分,不必创建或撤销,而进程是有声明周期的
11.进程通信
- 进程之间的交换称为进程通信
- 共享内存通信
- 管道通信:管道是连接读、写进程的一个特殊文件,允许进程按
FIFO
方式传输数据
12.进程调度
按一定的策略动态地把CPU分配给处于就绪队列中的某一个进程执行
- 周转时间=完成时刻-提交时刻
T i = T f − T S T_{i}=T_{f}-T_{S} Ti=Tf−TS
- 带权周转时间
W i = 作 业 的 周 转 时 间 T i 系 统 为 作 业 提 供 的 服 务 时 间 ( 运 行 时 间 ) T s i > 1 W_{i}=\frac{作业的周转时间T_{i}}{系统为作业提供的服务时间(运行时间)T_{si}}>1 Wi=系统为作业提供的服务时间(运行时间)Tsi作业的周转时间Ti>1
-
平均作业周转时间
T = ∑ T i n T=\frac{\sum T_{i}}{n} T=n∑Ti -
平均作业带权周转时间
T = ∑ W i n T=\frac{\sum W_{i}}{n} T=n∑Wi
13.调度算法
- 先来先服务
- 短作业优先
- 最短剩余时间优先
- 高响应比优先
- 优先权
14. 死锁产生的必要条件
- 互斥条件
- 请求与保持条件
- 不剥夺条件
- 环路等待条件
15.银行家算法
16. 线程与进程的区别与联系
- 进程是操作系统资源分配和调度执行的基本单位
- 线程是操作系统进程中能够独立执行的实体,是处理器调度和分派的基本单位
- 进程都有若干个线程,至少需要有一个主线程
- 调度
- 并发性
- 系统开销
- 拥有资源
第三章 内存管理
1. 地址转换
-
只要把程序和数据的逻辑地址转换为物理地址,程序才能正确运行,该过程称为地址转换或地址重定位
-
静态:在用户作业装入内存时由装入程序实现才能够逻辑地址到物理地址的转换,地址转换在作业执行前一次完成
-
动态:在程序执行时进行的将逻辑地址转换为物理地址
2.内存管理的功能
- 内存的分配与回收
- 提高内存利用率
- 利用虚拟存储技术“扩容”内存容量
- 内存信息保护
3. 覆盖与交换
-
与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构
-
交换发生在进程或作业之间,而覆盖发生在同一进程或作业内
-
覆盖只能覆盖那些与覆盖段无关的程序段
4.可变分区的内存分配算法
- 最先适应分配算法
- 循环首次适应算法
- 最优适应分配算法
- 最坏适应分配算法
- 快速适应分配算法
5.页式存储管理
6.快表
7.段式存储
8.分段与分页的比较
- 段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见,段起始位置可以从任何地方开始。在分段方式中,源程序经连接装配后仍保持二维结构
- 页是信息的物理单位,与源程序的逻辑结构无关,用户不可见,页长由系统确定,页面只能以页大小的整数倍地址开始。在分页方式中,源程序经连结装配后变成了一维结构
9.页面置换算法
FIFO
:先进先出(最先进入不是缺页调换)OPT
:最佳页面置换算法LRU
:最近最久未使用页面置换算法
第四章 设备管理
1.设备分类
-
按服务功能分类
- 存储类设备
- 输入输出设备
- 通信类设备
-
按每次信息交换的单位分类
- 字符设备
- 块设备
-
按使用特征分类
- 独占设备
- 共享设备
- 虚拟设备
2. SPOOLing
- 基本思想:当某作业或进程请求分配某独占设备时,系统就会分配给它共享设备
- 特点
- 提高了I/O速度,缓和了高速的处理器与低速输入输出设备之间的矛盾
- 将独占设备改造为共享设备,提高了设备的利用率
- 实现了虚拟设备功能,将物理的的单个设备变换为多个对应的逻辑设备
3.设备管理的结构
设备管理描述了设备、设备控制器、设备驱动程序与应用程序之间的逻辑关系
设备控制器起着承上启下的作用,是物理硬件和逻辑软件的桥梁
4.设备控制的方法
- 程序循环查询方式
- 中断驱动方式
- 直接内存访问方式
- 通道方式
5.DMA
- 数据传输的基本单位是数据块
- 所传送的数据是从设备直接送入内存,或者直接读出内存的
- 在传输时CPU参与更少
6.通道分类
- 字节多通道
- 选择通道
- 成组多路通道
7.缓冲技术
-
解决速度不匹配的问题
-
单缓冲
-
双缓冲
-
多缓冲
8.设备驱动程序
驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的程序集合
- 过程
- 接收由I/O进程发来的进程和参数
- 检查用户I/O请求的合法性
- 发出I/O命令
- 及时响应由控制器或通道发来的中断请求
- I/O完成后,由通道(或设备)发出中断请求
- 特点
- 驱动程序指在请求I/O的进程与设备控制器之间的一个通信和转换程序
- 对不同类型的设备配置不同的驱动程序
- 驱动程序与I/O设备所采用的I/O控制方式紧密相关
9.设备独立性
用户程序中不直接使用物理设备名,而只使用逻辑设备名
10.设备分配算法
- 先来先服务
- 优先级高者优先算法
第五章 文件管理
1.文件的分类
- 按逻辑结构
- 流式文件
- 记录式文件
- 按用途
- 系统文件
- 库文件
- 用户文件
- 按性质
- 普通文件
- 目录文件
- 特殊文件
2.文件组织
3.文件的逻辑结构
- 流式文件
- 记录式文件
4. 文件的物理结构
- 连续文件
- 链接文件
- 索引文件
- 多级索引文件
5. 文件共享
- 静态共享:不管用户是否正在使用系统都存在的共享方式
- 动态共享:只有当用户进程存在时才可能发现