如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
操作系统教学软件(一)目录概述1.进程的概念2.进程的状态及构成进程的基本状态:2.阻塞:等待某事件的发生。3.就续:等待的事件发生了,此时等待的是处理机。间片用完后,还没有发生阻塞,该进程要进入就续状态,让出处理机。2)当有一个高优先级的进程进入就绪状态时,正在执行的进程被停止,让高级进程执行。执行挂起又可以细化为就绪挂起和阻塞挂起如图所示:进程的控制原语3)阻塞原语:(block)执行状态转换到阻塞状态。由进程自身使用。4)唤醒原语:(wakeup)由阻塞状态转换为就续状态。由进程的合作者执行。3)挂起原语:(suspend)使进程进入挂起状态,它可由进程,系统,或其它进程来执行。4)激活原语:(activate)解除挂起,由系统或父进程执行。互斥的实现锁操作法:给每个临界资源安装一把锁。让进程不同时进入临界区。锁即两个函数:lock(flag)和unlock(flag)定义flag=0时锁开,flag=1时锁关。注意:开锁与关锁操作都必须用原语来实现。信号量机制:1)信号量S的含义:S>0(绿灯):进程继续执行。S<=0(红灯):进程停下等待。S值越大,灯越绿,表示通过进程的能力越强S值越小,灯越红,表示通过进程的能力越小,且由于这个信号量而处于等待状态的进程个数越多。此时|S|代表等待进程的个数。2)信号量的操作:P(S):1.检查信号量的操作,如信号量S>0(绿灯),进程继续执行;如信号量S<=0(红灯),进程等待。2.使信号量向红的方向转换。V(S):1.使S值向绿的方向转化,就是使S的值变大,执行S=S+1。2.唤醒因S而阻塞的进程。3)P(S),V(S)的使用:1.用于互斥:此处S表示是否可以进入临界区,S值大于0时可以进入,S值小于等于0时不可以进入。S的最大值为1,S的初值也应为1。THEN当前进程阻塞。}V(S):{S:=S-1IFS>0THEN进程前进。IFS<=0THEN唤醒因S而阻塞的一个进程。}5)P(S),V(S)应用的步骤:1.确定互斥,同步操作的规程。2.确定操作的流程。3.确定信号量的个数和含义。4.确定信号量的初值。5.确定P(S),V(S)在程序中的位置。6)信号量机制的典形例题;例:答:1)规则:只有buffer有数据时才get,只有buffer空时才get。2)流程:3)确定信号量个数与含义:S1:是否为空。S2:buffer是否有数据。4)初值:S1=1S2=05)S2