如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
1.进程的概念前趋图前趋图进程定义进程的特征(五个基本特征)进程的特征(五个基本特征)进程的特征(五个基本特征)进程的特征(五个基本特征)进程的特征(五个基本特征)2.进程的三种基本状态具有挂起状态的进程状态图进程的创建状态进程的终止状态练习练习3.进程控制进程控制块(ProcessControlBlock)进程控制块的作用随操作系统的不同,PCB的格式、大小以及内容也不尽相同。一般地,在PCB中大致应包含4方面的信息。进程描述信息CPU状态信息进程调度信息进程控制信息进程控制常用的进程控制原语进程的创建进程的终止进程的阻塞与唤醒进程的阻塞进程的唤醒进程的唤醒进程的挂起与激活进程的激活(active)在多道程序设计环境里,同时会创建多个进程。当计算机系统只有一个CPU时,每次只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。为了对这些进程进行管理,操作系统要做两件事。(1)把处于相同状态的进程的PCB,通过各自的队列指针链接在一起,形成一个个队列。(2)为每一个队列设立一个队列头指针,它总是指向排在队列之首的进程的PCB。在单CPU系统,任何时刻系统中都只有一个进程处于执行状态,因此执行队列中只能有一个PCB;系统中所有处于就绪状态的进程的PCB排成一队,称其为“就绪队列”。一般地,就绪队列中会有多个进程的PCB排在里面,它们形成处理机分配的候选对象。如果就绪队列里没有PCB存在,则称该队列为空;所有处于阻塞状态进程的PCB,应该根据阻塞的原因进行排队,每一个都称为一个“阻塞队列”。比如等待磁盘输入/输出进程的PCB排成一个队列,等待打印机输出进程的PCB排成一个队列等。所以,系统中可以有多个阻塞队列,每个阻塞队列中可以有多个进程的PCB,也可以为空。下图是进程各队列的示意图。PCB表:系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表常用的组织方式有链接方式和索引方式两种。链接结构索引结构练习练习进程同步1基本概念2实现临界区互斥的基本方法临界区(criticalsection):临界段,在每个进程中访问临界资源的那段程序代码。注意:临界区是对某一临界资源而言的,对于不同临界资源的临界区,它们之间不存在互斥。如有程序段A、B是关于变量X的临界区,而C、D是关于变量Y的临界区,那么,A、B之间需要互斥执行,C、D之间也要互斥执行,而A与C、B与D之间不用互斥执行。进入区:临界区前检查临界资源是否被使用的代码段。退出区:临界区后将临界资源恢复未被使用的代码段。剩余区:上述三个区以外的代码区域。同步机制应遵循的准则互斥与同步的实现一种卓有成效的进程同步工具信号量机制由“信号量”和“P,V操作”两部分组成。信号量就是一种特殊变量,它用来表示系统中资源的使用情况,它只能由两个标准原语所访问,分别记作P操作原语,V操作原语,P,V操作是由操作系统提供的可供外部调用的两条原语。1整型信号量的概念2记录型信号量:2记录型信号量:信号量机制:P操作说明V操作说明关于信号量及其P、V操作,有如下几点说明。(1)对于信号量当其值大于“0”时,表示系统中对应可用资源的数目;当其值小于“0”时,其绝对值表示因该类资源而被阻塞的进程的数目;当其值等于“0”时,表示系统中对应资源已经都被占用,并且没有因该类资源而被阻塞的进程(2)P操作和V操作是两个原子操作,它在执行时是不可中断的。也就是说,只要进入了P操作和V操作,这两个动作就必须顺序地做完,中间不能被打断。(3)从P(S)的定义可以看出,调用它的进程有两个出路。如果对信号量当前值减1后,信号量值大于等于0,则该进程继续运行下去;否则它就被阻塞,直到有别的进程通过做V(S)来唤醒它。但是从V(S)的定义可以看出,调用它的进程的状态不会改变。无论对信号量当前值加1后的结果如何,调用它的进程最终都是继续运行下去。(4)注意,如果一个进程在做P操作后被阻塞,到关于信号量的队列上去排队等待,其含义是将进程的PCB到此队列上排队。AND型信号量Swait(S1,S2,…,Sn)ifSi≥1and…andSn≥1then//满足资源要求时的处理;fori∶=1tondoSi∶=Si-1;endforelseplacetheprocessinthewaitingqueueassociatedwiththefirstSifoundwithSi<1,andsettheprogramcountofthisprocesstothebeginningofSwaitoperation//某些资源不够时的处理;调用进程进入第一个小于1信号量的等待队列Si.queue;阻塞调用进程;endifS