操作系统原理知识点
用于期末复习
第二章
2.1 进程的基本概念
- 程序顺序执行时的特征:
①顺序性②封闭性③可再现性
- 程序并发执行时的特征:
①间断性②失去封闭性③不可再现性
- 前趋图(有向无循环),→代表前趋关系,没有后继的结点为终止节点
要求①会画前趋图,②会描述前趋关系
例1:
(①画前趋图) 图中包含三个前趋关系:S1→S3,S1→S3,S3→S4(②描述前趋关系)
补充知识:S1,S2,S3都是S4的前趋,S3是S4的直接前趋
例2: 对一个作业的输入,计算,输出:
Ii→Ci→Pi对一批作业进行处理时,可使它们并发执行 前趋图:
前趋关系5个: Ii→Ii+1,Ii→Ci,Ci→Ci+1,Ci→Pi,Pi→Pi+1
- 进程的特征:
1)结构特征2) 动态性 3) 并发性 4) 独立性 5) 异步性
- 进程定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
- 进程的三种基本状态:
①就绪(Ready)状态
②执行状态
③阻塞状态。
- 进程除基本状态之外还有创建状态和终止状态、挂起状态。
- 创建状态
(1)为新进程创建PCB,填写PCB信息,分配资源
(2)将进程转入就绪状态。 - 终止状态
(1)等待OS做善后处理
(2)将PCB清零。 - 挂起状态
(1)引起挂起状态的原因可能有:
① 终端用户的请求。
②父进程请求。
③负荷调节的需要。
④操作系统的需要。
(2)进程状态的转换:
- 状态装换图
12.挂起状态不参与CPU的竞争
13. PCB是操作系统在实现对进程管理中的非常重要数据结构,也看作是进程的组成部分:
- PCB是进程存在的唯一标志,每个进程的PCB独一无二,不会与其他进程重复
- PCB是OS中最重要的记录型结构,OS用PCB对并发进程进行管理和控制,PCB常驻内存,OS专门开辟PCB区将所有的PCB组织成若干个链表或队列。
- PCB中的主要信息:
①进程标识符
② 处理机状态
③ 进程调度信息
④ 进程控制信息
- 进程调度信息
① 进程状态
② 进程优先级
③ 进程调度所需的其它信息 进程调度算法有关
④ 事件 如:阻塞原因
- 进程控制信息
① 程序和数据的地址
② 进程同步和通信机制
③ 资源清单 除CPU外的、进程所需的全部资源及已经分配到该进程的资源的清单;
④ 链接指针 本进程 PCB 所在队列中的下一地址。
- PCB的组织方式
(1)线性方式
(2)链接方式
(3)索引方式
2.2 进程控制
- 进程控制是进程管理最基本的功能
- 进程控制任务:创建、终止、状态的转换等
- 进程控制一般由OS内核中的原语来实现
- 进程的创建原语CREAT,创建步骤:
(1) 申请空白PCB。
(2) 为新进程分配资源。
(3) 初始化进程控制块。
(4) 将新进程插入就绪队列 - 进程正常结束:Holt指令产生一个中断,去通知OS本进程已经完成。
- 进程的异常结束是运行期间出现错误,进程的外界干预结束原因有父进程原因或操作系统干预
- 进程的阻塞原语BLOCK,唤醒原语WAKEUP
- 进程的挂机原语suspend,激活原语active
2.3 进程同步
- 进程同步是为了保证多个进程能有条不紊的运行
- 进程同步机制:硬件同步机制、信号量机制、管程机制
- 进程同步机制的主要任务:协调相关进程的执行次序。使并发进程按一定规则共享系统资源。可再现性。
- 间接相互制约关系:源于资源共享,产生互斥问题。
- 直接相互制约关系:源于进程间合作,产生同步问题。
- 临界资源:在一段时间内只允许一个进程访问的资源。必须采用互斥方式实现资源共享。
- 临界区遵循的原则:①空闲让进②忙则等待③让权等待④有限等待
2.4 经典进程的同步问题 (重点)
- 生产者—消费者问题 (The proceducer-consumer problem)
- 哲学家进餐问题(The Dining Philosophers Problem)
- 读者–写者问题(The Reader & Writer Problem)
2.5 管程机制 (不考)
2.6 进程通信
- 进程通信:进程之间的信息交换。
(1)低级通信:进程间的同步互斥。信息量少、通信效率低。
(2)高级通信:进程间高效地交换大量的信息。 使用方便。 - 进程通信的类型3种:
(1)共享存储器系统
①基于共享数据结构的通信方式。
②基于共享存储区的通信方式。
(2)管道通信:发送进场、接收进程
①互斥
②同步
③确定对方是否存在
(3)消息传递系统
①直接通信方式
②间接通信方式
2.7 线程
- 线程是调度和分派的基本单位。轻型进程。(LWP) Thread
- 线程的属性:
(1)轻型实体。
(2)独立调度和分派的基本单位。
(3)可并发执行。
(4)共享进程资源。 - 进程与线程的比较
(1)调度的基本单位
(2)并发性
(3)拥有资源
(4)独立性
(5)系统开销
(6)支持多处理机系统 - 线程控制块 TCB。
- 线程的三种基本状态与进程一样。①就绪状态②执行状态③阻塞状态。
- 多线程系统下进程的属性:
(1)作为系统资源分配的单位。
(2)可包括多个线程。
(3)进程不是一个可执行的实体。 - 线程间的同步与通信:
(1)互斥锁(两种状态:开锁、关锁)
(2)条件变量(通常都与一个互斥锁一起使用)
(3)信号量机制(私用、公用) - 线程的实现方式:内核支持线程、用户级线程
第三章 处理机调度与死锁
3.1 处理机调度的基本概念
- 按调度层次:分为
(1)高级(作业)
(2)中级(内存)
(3)低级(进程):
①非抢占方式
②抢占方式 - 按OS类型:
(1)批处理调度
(2)分时调度
(3)实时调度
多处理机调度
3.2 作业与作业调度
3.3 进程调度
3.4 实时调度
3.5 产生死锁的原因和必要条件
3.6 预防死锁的方法
3.7 死锁的检测与解除
第四章 存储器管理
4.1 存储器的层次结构
4.1.1 多层结构的存储器系统
存储器:速度快、容量大、价格低
- 通用的计算机系统
三层:
六层:
- 可执行存储器:寄存器、主存储器
- 访问机制:
(1)Reg/Mem :load/store
(2)慢disk :I/O设备(中断、设备驱动、设备??)
4.2 程序的装入和链接
编译——链接——装入
4.2.1 程序装入
4.2.2 程序链接(目标模块、库函数→装入模块)
4.3 连续分配存储管理方式
连续分区分配分为四类:
补充:
4.4 对换
4.5 分页存储管理方式(目的:提高内存利用率)
4.5.1 页面
- 页面(页):进程的逻辑地址分成若干个大小相等的片。编号从0开始。
不能太大:页面碎片过大,利用率低。
不能太小:页与块映射过于复杂。
- 物理块(页框):内存空间分成与页面大小相同的存储块。编号从0开始。
4.5.2 页表(存放在内存)
- 作用:实现从页号到物理块号的地址映射
- EAT(内存访问有效时间)
①访问一次内存时间为t,那么计算机执行一条指令所需的时间至少为t。
②分页式存储管理:至少2次访存(1次转换地址,1次取指令) - 两级或多级页表:用户程序太大的情况下再分页
4.5.3 地址变换机构
- (逻辑地址→物理地址)即(页号→块号)
- 地址变换任务借助与页表完成
- 快表:把页表(部分,程序的执行具有局部性原理)放到Cache中来提高访存速度
①命中:λ+t ②未命中:λ+t+t
命中率在80%以上,访存时间公式:aλ+(1-a)(λ+t)+t
EAT的三种情况: