操作系统第二章 ---- 处理机管理 知识点整理及梳理
- 1. 单道程序系统与多道程序系统
-
- 1.1单道程序系统
-
- 1.1.1程序顺序执行的特征:
- 1.2多道程序系统
-
- 1.2.1程序并发执行的条件
- 1.2.2程序并发执行的特征
- 2.进程
-
- 2.1进程的定义
- 2.2 进程的五个特性
- 2.3 进程与程序的区别
- 2.4 进程的基本状态与转换
- 2.5 进程控制块PCB
-
- 2.5.1 PCB的定义
- 2.5.2 PCB的作用
- 2.5.3 PCB中的主要信息(因系统而异)
- 2.6 进程的队列
- 2.7 进程的互斥
-
- 2.7.1 互斥的相关概念及定义
- 2.7.2临界区的使用原则==☆==
- 2.7.3 互斥的实现
- 2.7 进程的同步
-
- 2.7.1 进程同步和互斥的关系
- 3. 信号量机制
-
-
- 3.1 信号量整型分量S的物理含义☆☆
- 3.2 P、V操作
- 3.3 P(S)操作和V(S)操作的物理含义
- 3.4 使用P、V操作实现几个经典的同步、互斥问题
-
- 4. 死锁
-
- 4.1 产生死锁的原因
-
- 4.2 产生死锁的必要条件
- 4.3 死锁的解决办法
- 5. 处理机调度
-
- 5.1 调度算法
- 5.2 调度时机
- 5.3 调度过程
- 6. 线程
-
- 6.1 线程和进程的比较
1. 单道程序系统与多道程序系统
1.1单道程序系统
单道程序系统在内存中每次仅存在一个程序,该程序运行时独占整个系统的资源,实际上它只会顺序的使用其中的一部分。因此在某一时刻,系统的各个部分只有一部分在工作,这造成了资源浪费从而利用率低。
1.1.1程序顺序执行的特征:
- 顺序性: 由图可知,在程序内部I、C、P操作的顺序是不可颠倒的,各程序之间的顺序也不可以颠倒,需严格按照程序所规定的顺序执行。
- 封闭性:程序在运行时,独占全部系统资源,只有程序本身才能改变系统资源的状态。
- 可再现性: 由于程序不受外部影响,只要初始条件相同,运行的结果就一定相同。
1.2多道程序系统
为了减少单道程序系统的利用率低的情况,引入了多道程序设计技术。多道程序设计指允许多道程序同时进入内存,并允许它们共享资源、并发执行的程序设计技术。采用这一技术的系统称为多道程序系统。 多道程序系统是现代操作系统所采用的最基本、最重要的技术。
在多道程序系统中,程序是并发执行的。
由图可见,各程序的内部操作I、C、P操作未颠倒,但程序之间不再是严格的串行次序。如,当程序1在进行运算操作时,很明显程序2的输入操作不会影响程序之间的关系。因此I、C、P操作在时间上可以重叠。 显然,并发执行的程序失去了封闭性和可再现性。 举个例子,I1与I2都取的同一地址的数值,本意是想让I2是取的程序1运行结束后的。而当C1正在进行运算时还未来得及将运算结果写回,I2却已将还未处理的数据取出进行计算造成了结果的错误。
1.2.1程序并发执行的条件
假设有以下几条语句
语句 | 读集 | 写集 |
---|---|---|
P1:a = x + y; | R(P1) = {x,y} | W(P1) = {a} |
P2: b = z + 1; | R(P1) = {z} | W(P2) = {b} |
P3: c = a + b; | R(P3) = {a,b} | W(P3) = {c} |
P4:d = c -2; | R(P4) = {c} | W(P4) = {d} |
如果两个程序P1,P2满足Bernstein条件,它们便能并发执行,否则不能:
( R ( p 1 ) ∩ W ( p 2 ) ) ∪ ( R ( p 2 ) ∩ W ( p 1 ) ) ∪ ( W ( p 1 ) ∩ W ( p 2 ) ) = { } (R(p1) \cap W(p2)) \cup (R(p2) \cap W(p1) )\cup (W(p1) \cap W(p2)) = \{\} (R(p1)∩W(p2))∪(R(p2)∩W(p1))∪(W(p1)∩W(p2))
发布评论