资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第3章 进程机制与并发程序设计,*,操 作 系 统,第,3,章 习题课,2024/11/12,1,HZAU 理学院计算机系 姚娟,本章总结,进程的基本概念,(掌握),程序执行的两种方式,顺序执行(概念和特点),并发执行(概念和特点,程序的制约方式,2,种),资源共享(,2,种方式:,OS,统一分配;进程自行使用),进程的定义,定义,基本特征(,动态性、并发性、独立性、制约性、结构性,),与程序的区别,2,进程的状态和进程控制块,(熟练掌握),进程的状态及状态变化图,三种状态(就绪、运行,阻塞),状态变化(图,发生变化的原因),进程控制块,构成,基本内容,组织方式(链式、索引),PCB,是进程存在的唯一标志,3,进程控制,(理解),原语,概念,进程控制原语,创建原语,撤消原语,阻塞原语,唤醒原语,主要理解各种控制原语的功能,4,线程的基本概念,(理解),线程的引入,概念,Thread,,轻量级进程,线程与进程的比较,5,进程调度,(重点),进程调度的职能,了解,进程调度算法,熟练掌握,可分为“非剥夺调度”和“剥夺调度”两种基本方式,先来先服务,轮转调度,分级轮转法,优先数法,各种调度算法的优缺点,调度用的进程状态切换图,理解,6,进程通信,重中之重,临界资源和临界区,掌握,概念,应该遵循的条件(,忙则等待、有限等待、空闲让进,、,让权等待,),同步与互斥,熟练掌握,同步与互斥的,概念,P/V,操作,信号量的概念,如何实现同步与互斥,两个经典的同步,/,互斥问题,熟练掌握,生产者消费者问题,读者写者问题,消息缓冲,了解,7,死锁,重点,产生的原因和必要条件,掌握,死锁定义,两个原因,四个必要条件,预防死锁,掌握,基本思想:破坏四个必要条件中个一个,避免死锁,掌握,安全与不安全状态,了解,银行家算法,应用,死锁的检测与解除,理解,检测:进程资源图的简化,解除:资源剥夺、进程撤销,8,下图给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用,p,、,v,操作描述它。,9,P、V,操作例子,汽车司机与售票员之间必须协同工作,一方面,只有售票员把车门关好了,司机才能开车,因此,售票员关好车门应通知司机开车;另一方面,只有当汽车已经停下,售票员才能开门上下客,故司机停车后应通知售票员.假定某辆公共汽车上有一名司机与两名售票员.汽车当前正在始发站停车上客.试设必要的信号量并赋初值,用,P、V,操作写出他们的同步算法.,10,设信号量:,doorclose=0,busstop=1,driver(),while(1),p(doorclose);,开车,;,到站,;,停车,;,v(busstop);,乘客上下车,;,conductor(),while(1),p(busstop);,开门,;,乘客上下车,;,售票,;,关门,;,v(doorclose);,开车,;,11,银行家算法,在银行家算法中,若出现下述的资源分配情况:,Process Allocation Need Available,p0 1,0,2,3 7,6,6,1 3,0,1,4,p1 2,1,0,1 6,6,5,7,p2 1,0,4,1 3,5,1,5,p3 0,3,2,1 3,1,2,8,p4 3,2,1,0 3,2,2,5,p5 0,1,2,6 2,0,1,2,试问:()该状态是否安全?,(要写出银行家算法的过程),()若进程,p,提出请求,Request(2,0,1,1),后,系统能否将资源分配给它?为什么?,Available,的变化,p5,3,1,3,10,p3,3,4,5,11,p46,6,6,11,p18,7,6,12,p09,7,8,15,p210,7,12,16,(1)安全!,need Available,P1 4,6,4,6 1,0,0,3,如果满足(2,0,1,1)请求,则所有其它请求再也无法满足,造成死锁。,12,
展开阅读全文