文档介绍:: .
在多道程序运行时,操作系统对处理机的管理就是通过对进程的管理来实现的。代表性的。
•调度算法的设计原则
1) 公平
2) 提高资源利用率
3) 对资源的均衡使用
4) 提髙该系统的吞吐量
5) 响应时间短 几种调度算法:
(1 >先来先服务算法 小作业可能回等待时间比较长。
(2) 基于优先级的调度算法
优先数==(等待时间)2-(要求运行时间)-输出量
(3) 分时和优先级相结合的作业调度
333进程调度
1 •进程的状态转换和进程控制块
1・进程的三种基本状态
进程在运行过程中有3种基本状态。这些状态与系统调度占有处理机密切相关。所以又称它 们为进程调度状态。
•运行状态(Running)
当一个进程已分配到处理机,它的程序正由处理机执行时,称此进程处于执行状态。
•就绪状态(Ready)
如果进程已具备执行条件,但是因为处理机已由英他进程占用,暂时不能执行而等待分配处 理机,称此为就绪状态。
•等待状态(Blocked,阻塞状态)
进程因等待某一事件(如等待某一输入,输出操作完成)而暂时不能运行的状态称为等待状 态,此时即使CPU空闲,它也无法使用。
• •进程控制块的组成:
进程名
特征信息
进程状态信息
调度优先权
通信信息
现场保护区
资源需求
进程实体信息
族系关系
其他信息
2. 进程控制
进程控制:系统使用一些具有特泄功能的程序段来撤消进程以及完成进程各状态间的转换, 从而达到多进程髙效率并发执行和协调,实现资源共享的目的。
这种控制是通过原语来实现的。
原语:是机器指令的延伸,是由若干条机器指令构成的用以完成特立功能的一段程序。
原语是操作系统设计的、不可中断的程序,即具有原子性的程序,它用于实现某种独立功能 并可以被其他进程调用。
为保证操作的正确性,原语在执行期间是不可分割的,在许多机器中为了实现上的方便,规 定在执行原语操作时,要屏蔽中断,以保证原语操作的不可分割性。
用于进程控制的原语有:
1. 进程创建原语
2. 进程调度原语
3•进程阻塞原语(进程等待原语)
4. 进程唤醒原语
5. 进程撤销原语
3. 进程调度算法
(1) 优先数法
(2) 轮转调度法
(3) 分级调度法
1•进程的同步和互斥
(1)同步与互斥
•进程之间的相互制约关系
由于进程是并发执行的,多个进程之间必然存在着各种形式的制约关系。一般来说, 并发进程之间存在两种形式的制约关系。
1)资源共享关系,又称为间接相互制约关系,指进程之间本来彼此无关,但因为共享系 统资源,如CPU、内存、I/O设备等而产生的相互制约关系。
2)进程合作关系,又称为宜接相互制约关系,指多个进程之间具有合作关系,用于完成 共同的任务,如同一个作业的输入、计算、输出进程之间必然是相互合作的关系,他们必须 按照一定的次序运行。
•所谓进程同步,是指对多个相关进程在执行次序上的协调,操作系统中用于保证这种协调 关系的相应机制称为进程同步机制。
•对于资源共享关系的进程,应该保证多个并发进程互斥访问临界资源;而对于相互合作的 进程,应该保证他们在执行次序上的协调。
•临界资源
临界资源是依次只能被一个进程访问的资源。独占设备、内存中的公共数据结构、公 共变量等都是临界资源。
•临界区
在并发进程中,对共享变量操作的那段程序叫临界区。
•进程互斥
一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不 允许交叉执行的单位执行。即不允许两个以上的共享该资源的并发进程同时进入临界区称为 互斥。
例如:进程pl,p2都需要使用打印机,如果让它们同时使用,则两个进程的输出交织在 一起,打印出的结果无法使用。为了解决这一问题,进程使用之前先要提出申请,一旦系统 将打印机分配给它,就一直由它独占使用,英它申请使用打印机的进程则必须等待。 例如:Pi:Ri—count;
P2R2—count;
Pi:R] jRi +l;count-*-Ri;
P2:R2—R2 +l;count—R2;
虽然Pi > P2P都对count作了加1»但count中只增加了 1。
procedure T1(x) var x:integer; begi n
read(x); 临
if x>=1 _ 界
then x:=x-1; 区 write(x); end;
procedure T2(x) var x:in