欢迎来到天天文库
浏览记录
ID:46978884
大小:1.64 MB
页数:60页
时间:2019-12-02
《进程概念2进程控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章进程管理基本内容(一)进程与线程进程概念进程的状态与转换进程控制进程组织进程通信:共享存储系统;消息传递系统;管道通信。线程概念与多线程模型基本内容(二)进程同步进程同步的基本概念实现临界区互斥的基本方法软件实现方法硬件实现方法信号量管程经典同步问题生产者-消费者问题读者-写者问题哲学家进餐问题2.1.1程序的顺序执行及特征一、程序执行有固定的时序。(图2-1)二、顺序执行的特征:顺序性、封闭性、可再现性程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。2.1进程的基本概念I1C1P1I2C2P22.1.2前趋图前趋图(PrecedenceGraph
2、)用于描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系。前趋图是一个有向无循环图DAG(DirectedAcyclicGraph)。2.1.2前趋图表示方式:结点:表示一条语句、一个程序段或一个进程P1,p2有向边:--->={(p1,p2)
3、p1必须在p2开始前完成}P1为初始结点,P9为终止结点该前趋图,存在下面的前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9例:九个结点的前趋图2.1.3程序的并发执行一、多个程序的并发执行(可
4、能性分析)I1I2I3I4C1C2C3C4P1P2P3P4t程序的并发执行(2)二、特征间断性失去封闭性:主要由共享资源引起不可再现性:例子:有2个循环程序A和B,它们共享一个变量N程序A每执行一次时,都要做N:=N+1;B则每次要执行Print(N),然后再做N:=0.设N的初值为n。若程序A,B以不同的速度运行有以下三种不同的结果程序的并发执行(3)N:=N+1在print(N)和N:=0之前,则N值分别为n+1,n+1,0.N:=N+1在print(N)和N:=0之后,则N值分别为n,0,1.N:=N+1在print(N)和N:=0之间,则N值分别为n,n+1,
5、0.所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。2.1.4进程的特征与状态1、进程的特征与定义2、进程的三种基本状态3、挂起状态4、创建与终止状态1.进程的特征和定义一、定义:进程概念,60年代初,由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。进程有很多各式各样的定义,如:一个具有一定功能的程序关于某个数据集合的一次运行活动。进程是一个程序与其数据一道通过处理机的执行所发生的活动进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位总的来说:
6、进程是程序的一次执行过程1.进程的特征和定义二、特征1.结构特征为了控制和管理进程,系统为每个进程设立一个进程控制块-PCB。进程:由程序段、数据段及进程控制块三部分构成,总称“进程映像”。2.动态性由“创建”而产生,由“调度”而执行;由得不到资源而阻塞;由撤消而消亡。(而程序是静态的)。1.进程的特征和定义3.并发性只有建立了进程,才能并发执行。任何进程都可以同其他进程一起向前推进4.独立性。独立运行,独立获得资源。5.异步性:(间断性)由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进2.进程的三种基本状态不同系统设置的进程状
7、态数目不同,但一般系统中都设有三种基本状态:就绪状态(Ready):已分配到CPU外的所有资源,一旦得到CPU,就立即可以运行。运行状态(Running):正在CPU上运行的进程所处的状态。等待/阻塞状态(Wait/Blocked):若一进程正在等待某一事件发生,给它CPU,它也无法运行,称该进程处于等待(阻塞、睡眠、封锁)状态。2.进程的三种基本状态三种基本状态可以依据一定的条件相互转换:就绪-->运行调度程序选择一个新的进程运行运行-->就绪运行进程用完了时间片运行进程被中断,因为一高优先级进程处于就绪状态2.进程的三种基本状态运行-->等待当一进程必须等待某事件
8、时等待-->就绪当所等待的事件发生时由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另一个就绪进程;因此,阻塞进程的事件消失后,进程不会立即恢复到执行状态,而转变为就绪状态,重新等待处理机。2.进程的三种基本状态三种基本状态转换图就绪阻塞执行时间片完进程调度I/O请求I/O完成进程的三种基本状态及其转换3.挂起状态被换出内存的状态挂起状态(静止状态):静止就绪Readys、静止阻塞Blockeds非挂起状态(活动状态):活动就绪Readya、活动阻塞Blockeda引入原因终端用户请求父进程请求负荷调节需要操作系统需要3.挂起状态执行活动就绪
此文档下载收益归作者所有