




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-261第二章第二章 进程与线程进程与线程进程的基本概念进程的基本概念线程的基本概念线程的基本概念2一、进程的基本概念一、进程的基本概念1.1.进程的引入进程的引入2.2.进程的定义进程的定义3.3.进程的特征进程的特征4.4.进程的状态及其转换进程的状态及其转换5.5.进程控制块进程控制块6.6.进程的控制进程的控制31.1.进程的引入进程的引入n(1 1)顺序程序)顺序程序n顺序顺序环境环境: 计算机系统中只有一个程序在运行计算机系统中只有一个程序在运行 该程序独占系统中所有资源该程序独占系统中所有资源 其执行不受外界影响其执行不受外界影响 I I1 1C C1 1P P1 1
2、I Ii iC Ci iP Pi iI In nC C P Pn n.n n作业作业 1 1作业作业 i i作业作业 n n作作业业执执行行顺顺序序程序顺序执行程序顺序执行4顺序程序(续)顺序程序(续)特点:特点:n顺序性顺序性: : 一个程序在顺序处理器上的执行是严格按一个程序在顺序处理器上的执行是严格按序的,即每个操作必须在下一个操作开始之前结束。序的,即每个操作必须在下一个操作开始之前结束。n封闭性封闭性: : 程序一旦开始执行,其计算结果不受外界程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定
3、,即只有本程序才能改变它。只能由程序本身确定,即只有本程序才能改变它。n计算过程的可再现性计算过程的可再现性: : 只要程序的初始条件相同,只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。也不管计算机的运行速度。n给程序的编制、调试带来很大方便,其缺点是计给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。算机系统效率不高。 5(2 2)并发程序)并发程序n并发环境:并发环境: 一定时间内,物理机器上有两个或两个一定时间内,物理机器上有两个或两个 以的程序同处于开始运行但尚未结束的以的程序同处于开始
4、运行但尚未结束的 状态,并且次序不是事先确定的状态,并且次序不是事先确定的n引入并发的目的:引入并发的目的: 提高资源利用率,从而提高系统效率提高资源利用率,从而提高系统效率6(2 2)并发程序(续)并发程序(续1 1)I I1 1 I I2 2I I3 3 I I4 4 1 1 2 2 4 4 C C1 1C C2 2C C3 3C C4 4 P P1 1P P2 2P P3 3P P4 4 . . 程序并发执行程序并发执行t t1 1i ic cp pt t2 2t t3 3t t4 4时间时间进程进程7程序并发执行(定义)程序并发执行(定义)n程序并发执行:程序并发执行: 若干个程序段同
5、时在系统中运行,这些程若干个程序段同时在系统中运行,这些程序的执行在序的执行在时间上是重迭的时间上是重迭的,一个程序段,一个程序段的执行尚未结束,另一个程序段的执行已的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。几个程序段是并发执行的。8程序并发执行的描述程序并发执行的描述n程序并发执行的描述程序并发执行的描述cobegincobegin S S1 1;S;S2 2;S;S3 3;.;S;.;SN Ncoendcoend; ; 其中其中S Si i(i(i=1,2,3,.,n)=1,2,3,.,n)表示表示n
6、 n个语句(程个语句(程序段),这序段),这n n个语句用个语句用cobegincobegin和和coendcoend括括起来起来表示这表示这n n个语句是可以并发执行的个语句是可以并发执行的。 说明:说明:coco是是concurrentconcurrent的头两个字符。的头两个字符。9并发程序(续并发程序(续3 3)特点:特点:(1 1)程序执行结果的不可再现性)程序执行结果的不可再现性 并发程序执行的结果与其执行的相对速度有关,并发程序执行的结果与其执行的相对速度有关, 是不确定的是不确定的(2 2)程序和计算不再一一对应)程序和计算不再一一对应 (计算:一个程序的执行)(计算:一个程序
7、的执行)(3 3)独立性和制约性)独立性和制约性 独立的相对速度、起始时间;独立的相对速度、起始时间; 进程之间可相互作用(制约)进程之间可相互作用(制约) 见图见图2-32-3见图见图2-42-410终端2 程序 P2 排队等待售票 if X1 then begin X=X-1 售票 end else 无票终端1 程序 P1 排队等待售票 if X1 then begin X=X-1 售票 end else 无票见图见图2-32-311C语言编译程序BAF1.c源程序源程序F2.cP2P1见图见图2-42-412(3 3)进程的引入)进程的引入nOSOS基本特征是并发与共享,即在系统中(内存
8、)基本特征是并发与共享,即在系统中(内存)同时存在几个相互独立的程序,他们交叉地运同时存在几个相互独立的程序,他们交叉地运行,并共享资源,这就会引起下列问题行,并共享资源,这就会引起下列问题: :n资源的竞争资源的竞争n程序之间的合作与协同程序之间的合作与协同n程序之间的通信等程序之间的通信等n要解决这些问题,用程序的概念已经不能描述要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引入新的概念程序在内存中运行的状态,必须引入新的概念进程进程132.2.进程的定义进程的定义定义:定义:ProcessProcessn进程是程序的一次执行过程,是系统进行资进程是程序的一次执行过程
9、,是系统进行资源分配和调度的一个基本单位。源分配和调度的一个基本单位。MITMIT称进程称进程(process)(process), MassachusettesMassachusettes Institute of Technology Institute of Technology ( (美国美国) )麻省理工学院麻省理工学院 IBM IBM 公司称任务(公司称任务(task task )UnivacUnivac公司称活动(公司称活动(active active )142.2.进程的定义进程的定义进程是程序的一次执行进程是程序的一次执行进程可以和别的计算并发执行的计算进程可以和别的计算并发
10、执行的计算进程可定义为一个数据结构及能在其上进行操进程可定义为一个数据结构及能在其上进行操作的一个程序作的一个程序进程是一个程序及其数据在处理机上顺序执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动时所发生的活动进程是程序在一个数据集合上的运行过程,是进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。系统进行资源分配和调度的一个独立单位。153.3.进程的特征进程的特征n动态性:有生命周期动态性:有生命周期n并发性:并发执行并发性:并发执行n独立性:独立获得资源、独立运行单位独立性:独立获得资源、独立运行单位n异步性:推进速度不可预知、执行结果不确异步性:
11、推进速度不可预知、执行结果不确定定n结构性:由程序段、数据段和结构性:由程序段、数据段和PCBPCB组成组成16问题问题程序与进程之间的联系与区别?程序与进程之间的联系与区别?n联系联系 进程由程序组成进程由程序组成 进程执行程序进程执行程序n区别区别 静态静态- - 动态动态 永久永久- - 暂时暂时 一个程序对应多个进程一个程序对应多个进程/ /一个进程包括多个程序一个进程包括多个程序 174. 4. 进程的状态及其转换进程的状态及其转换(1 1)进程的三种基本状态:)进程的三种基本状态:n运行态(运行态(RunningRunning):):n就绪态(就绪态(ReadyReady):):
12、n等待态(等待态(BlockedBlocked):阻塞态、封锁态、睡眠态):阻塞态、封锁态、睡眠态 进程在生命消亡前处于进程在生命消亡前处于且仅处于三种基本状态且仅处于三种基本状态之一之一18(2 2)三种基本状态及其转换)三种基本状态及其转换 进程状态转换:进程状态转换:n就绪就绪运行(进程调度)运行(进程调度)n运行运行就绪(时间片到等)就绪(时间片到等)n运行运行等待(服务请求,如请求等待(服务请求,如请求I/OI/O等)等)n等待等待就绪(服务完成就绪(服务完成/ /事件来到)事件来到)就绪就绪运行运行阻塞阻塞I I/ /O O完成或等完成或等待的事件发生待的事件发生I I/ /O O
13、请求或请求或等待某事件等待某事件时间片已用完时间片已用完进程调度程序把处进程调度程序把处理器分配给进程理器分配给进程19(3 3)五种状态进程模型)五种状态进程模型n在三种基本状态中增加挂起状态和激活状态在三种基本状态中增加挂起状态和激活状态 引入挂起状态的原因:引入挂起状态的原因:n用户要求用户要求n负荷调节负荷调节n父进程请求父进程请求20引起进程挂起的原因引起进程挂起的原因系统中的系统中的进程均处于等待状态进程均处于等待状态,处理器空闲,此时需要,处理器空闲,此时需要把一些阻塞进程对换出去,以腾出足够的内存装入就绪把一些阻塞进程对换出去,以腾出足够的内存装入就绪进程运行。进程运行。 进程
14、竞争资源,导致系统资源不足,负荷过重,此时进程竞争资源,导致系统资源不足,负荷过重,此时 需要挂起部分进程以需要挂起部分进程以调整系统负荷调整系统负荷,保证系统的实时,保证系统的实时 性或让系统正常运行。性或让系统正常运行。 把一些定期执行的进程(如审计程序、监控程序和记把一些定期执行的进程(如审计程序、监控程序和记 账程序)账程序)对换出去对换出去,以减轻系统负荷。,以减轻系统负荷。21 用户要求挂起自己的进程用户要求挂起自己的进程,以便根据中间执行,以便根据中间执行 情况和中间结果进行某些调试、检查和改正。情况和中间结果进行某些调试、检查和改正。 父进程要求挂起自己的后代子进程父进程要求挂
15、起自己的后代子进程,以进行,以进行 某些检查和改正。某些检查和改正。 操作系统需要挂起某些进程操作系统需要挂起某些进程,检查运行中资,检查运行中资 源使用情况,以改善系统性能;或当系统出源使用情况,以改善系统性能;或当系统出 现故障或某些功能受到破坏时,需要挂起某现故障或某些功能受到破坏时,需要挂起某 些进程以排除故障。些进程以排除故障。 22五种状态进程模型(续)五种状态进程模型(续)五种状态:五种状态:n就绪状态就绪状态(Ready)(Ready):进程在:进程在内存内存且可立即进入且可立即进入 运行状态运行状态n阻塞状态阻塞状态(Blocked)(Blocked):进程在:进程在内存内存
16、并等待某事件并等待某事件 的出现的出现n阻塞挂起状态阻塞挂起状态(Blocked suspend)(Blocked suspend):进程在:进程在外存外存 并等待某事件的出现并等待某事件的出现n就绪挂起状态就绪挂起状态(Ready suspend)(Ready suspend):进程在:进程在外存外存, 但只要进入内存,即可运行但只要进入内存,即可运行n运行态运行态23五种状态进程模型(续)五种状态进程模型(续)24五种状态进程模型(续)五种状态进程模型(续)n挂起(挂起(SuspendSuspend):把一个进程:把一个进程从内存转到外存从内存转到外存;可能有以下几种情况:可能有以下几种情
17、况:n阻塞阻塞阻塞挂起阻塞挂起:操作系统根据当前资源状况和性能:操作系统根据当前资源状况和性能要求,可以决定把等待态进程对换出去成为挂起等待要求,可以决定把等待态进程对换出去成为挂起等待态。态。n就绪就绪就绪挂起就绪挂起:操作系统根据当前资源状况和性能:操作系统根据当前资源状况和性能要求,也可以决定把就绪态进程对换出去成为挂起就要求,也可以决定把就绪态进程对换出去成为挂起就绪态。绪态。n 运行运行就绪挂起就绪挂起:当一个具有较高优先级的挂起等:当一个具有较高优先级的挂起等待态进程的等待事件结束后,它需要抢占待态进程的等待事件结束后,它需要抢占CPU CPU ,而此,而此时主存空间不够,从而,可
18、能导致正在运行的进程转时主存空间不够,从而,可能导致正在运行的进程转化为挂起就绪态。另外,处于运行态的进程也可以自化为挂起就绪态。另外,处于运行态的进程也可以自己挂起自己。己挂起自己。 25五种状态进程模型(续)五种状态进程模型(续)n激活(激活(ActivateActivate):把一个进程从:把一个进程从外存转到内外存转到内存存,可能有以下几种情况:,可能有以下几种情况:n就绪挂起就绪挂起就绪就绪:没有就绪进程没有就绪进程或或挂起就绪进程挂起就绪进程 优先级高于优先级高于就绪进程时,发生转换就绪进程时,发生转换 n阻塞挂起阻塞挂起阻塞阻塞:当一个进程:当一个进程释放足够内存释放足够内存时,
19、时, 系统会把一个高优先级阻塞挂起(系统认为会很系统会把一个高优先级阻塞挂起(系统认为会很 快出现所等待的事件)进程快出现所等待的事件)进程 26(4)创建状态与终止状态)创建状态与终止状态27创建(新创建(新newnew)状态)状态nOS OS 已完成为创建一进程所必要的工作已完成为创建一进程所必要的工作n已构造了进程标识符已构造了进程标识符n已创建了管理进程所需的表格已创建了管理进程所需的表格n但还没有允许执行该进程但还没有允许执行该进程( (尚未同意尚未同意) )n因为资源有限因为资源有限28终止(退出终止(退出exitexit)状态)状态n中止后进程移入该状态中止后进程移入该状态n它不
20、再有执行资格它不再有执行资格n表格和其它信息暂时由辅助程序保留表格和其它信息暂时由辅助程序保留 例子例子: : 为处理用户帐单而累计资源使为处理用户帐单而累计资源使 用情况的财务程序用情况的财务程序 29新增状态转换新增状态转换NULLNULL新建态新建态:执行一个程序,创建一个子进程。:执行一个程序,创建一个子进程。新建态新建态就绪态就绪态:当操作系统完成了进程创建的必要操:当操作系统完成了进程创建的必要操作,并且当前系统的性能和虚拟内存的容量均允许。作,并且当前系统的性能和虚拟内存的容量均允许。运行态运行态终止态终止态:当一个进程到达了自然结束点,或是:当一个进程到达了自然结束点,或是出现
21、了无法克服的错误,或是被操作系统所终结,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结。被其他有终止权的进程所终结。终止态终止态NULLNULL:完成善后操作。:完成善后操作。就绪态就绪态终止态终止态:未在状态转换图中显示,但某些操作:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。系统允许父进程终结子进程。阻塞态阻塞态终止态终止态:未在状态转换图中显示,但某些操作:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。系统允许父进程终结子进程。 30进程的描述进程的描述n进程由三部分组成:进程由三部分组成:进程控制块进程控制块、有关程有关程序段序
22、段和该段程序段对其进行操作的和该段程序段对其进行操作的数据集数据集合。合。程序。程序。主要用于描述进程所要完成的功能。主要用于描述进程所要完成的功能。数据集合数据集合。包括程序执行时所需的数据、堆栈。包括程序执行时所需的数据、堆栈和工作区。和工作区。进程控制块进程控制块(PCBPCB)315. 5. 进程控制块进程控制块(Process Control BlockProcess Control Block)概念:概念: 记录记录OSOS所需的、用于描述进程的当前情况以及控制进所需的、用于描述进程的当前情况以及控制进程运行的全部信息,是进程存在的唯一标志,常驻内存。程运行的全部信息,是进程存在的
23、唯一标志,常驻内存。 (又称进程描述符、进程属性)又称进程描述符、进程属性)nPCBPCB的内容:的内容:n进程标识符进程标识符n处理机状态(处理机状态(CPUCPU现场)现场)n进程调度信息:状态、优先级、时间、事件进程调度信息:状态、优先级、时间、事件n进程控制信息:地址、通信信息、资源进程控制信息:地址、通信信息、资源 进程与进程与PCBPCB是一一对应的是一一对应的32(1)进程的组成进程的组成33(2)PCB(2)PCB表组织方式表组织方式 系统把所有系统把所有PCBPCB组织在一起,并把它们放在内组织在一起,并把它们放在内 存的固定区域,就构成了存的固定区域,就构成了PCBPCB表
24、表链接结构:链接结构:n同一状态进程的同一状态进程的PCBPCB组成一个链表,不同状态对应多组成一个链表,不同状态对应多个不同的链表个不同的链表n就绪链表、阻塞链表就绪链表、阻塞链表索引结构:索引结构:n对具有相同状态的进程,分别设置各自的对具有相同状态的进程,分别设置各自的PCBPCB索引表,索引表,表明表明PCBPCB在在PCBPCB表中的地址表中的地址进程队列:进程队列:不同状态进程分别组成队列不同状态进程分别组成队列n运行队列、就绪队列、等待队列运行队列、就绪队列、等待队列3435PCBPCB表组织方式(续表组织方式(续2 2)36n为了防止为了防止OSOS及关键数据如及关键数据如PC
25、BPCB等,受到用户程序等,受到用户程序的破坏,将处理机的执行状态分成的破坏,将处理机的执行状态分成系统态系统态和和用用户态户态两种。两种。nOSOS内核通常是运行在系统态的,而内核通常是运行在系统态的,而进程控制是进程控制是由由OSOS内核实现的内核实现的。6. 进程控制进程控制37Os的内核的内核n通常将一些与硬件紧密相关的模块(通常将一些与硬件紧密相关的模块(中断中断处理程序处理程序,常用设备的驱动常用设备的驱动,运行频率较,运行频率较高的高的时钟管理、进程调度、公用时钟管理、进程调度、公用的一些操的一些操作)都安排在紧靠硬件的软件层次中,并作)都安排在紧靠硬件的软件层次中,并使他们常驻
26、内存。使他们常驻内存。38OS的支撑功能的支撑功能1.中断处理中断处理2.时钟管理时钟管理3.原语操作原语操作 原语本身是有若干条指令所构成、用于原语本身是有若干条指令所构成、用于完成一定功能的一个过程。它是一个完成一定功能的一个过程。它是一个原子操原子操作作。396. 6. 进程控制进程控制n进程控制是由进程控制是由OSOS内核完成的内核完成的nOSOS内核通过执行相应的原语来实现进程的控制内核通过执行相应的原语来实现进程的控制n进程控制原语:创建、终止、阻塞与唤醒、挂进程控制原语:创建、终止、阻塞与唤醒、挂起与激活起与激活40进程的创建进程的创建n创建一个创建一个PCBPCB 赋予一个统一
27、进程标识符赋予一个统一进程标识符 为进程映象分配空间为进程映象分配空间n初始化进程控制块初始化进程控制块 许多默认值许多默认值( (如如: : 状态,使用状态,使用I/OI/O设备,优先级等设备,优先级等) )n设置相应的链接设置相应的链接 如如: : 把新进程加到就绪队列的链表中把新进程加到就绪队列的链表中n进程家族进程家族 创建进程称为父进程创建进程称为父进程(Parent Process)(Parent Process),被创建的,被创建的 进程称为子进程进程称为子进程(Child Process)(Child Process), 子进程可以继承父进程所拥有的资源,并且子进子进程可以继承
28、父进程所拥有的资源,并且子进 程又可以通过创建原语再创建它自己的子进程,程又可以通过创建原语再创建它自己的子进程, 从而形成一个进程家族树从而形成一个进程家族树 图图2.132.1341进程创建流程图进程创建流程图创建失败创建失败入口入口查查PCB链表链表有空有空PCB?取空取空PCB(i)将有关参数填入将有关参数填入PCB(i)相应表项)相应表项PCB(i)入就绪队列)入就绪队列PCB(i)入进程家族或进程链)入进程家族或进程链返回返回无无有有42进程撤消进程撤消n收回进程所占有的资源收回进程所占有的资源n撤消该进程的撤消该进程的PCBPCB43进程撤消流程图进程撤消流程图出错处理出错处理入
29、口入口查进程链表或进程家族查进程链表或进程家族有此有此PCB?释放该进程所占有的资源释放该进程所占有的资源释放该释放该PCB结构本身结构本身返回返回该该PCB有子进程吗?有子进程吗?有有有有无无无无44进程阻塞和进程唤醒进程阻塞和进程唤醒 处于运行状态的进程,在其运行过程中期处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入、等待磁待某一事件发生,如等待键盘输入、等待磁盘数据传输完成、等待其它进程发送消息,盘数据传输完成、等待其它进程发送消息,当被等待的事件未发生时,当被等待的事件未发生时,由进程自己执行由进程自己执行阻塞原语,使自己由运行态变为阻塞态阻塞原语,使自己由运行态变
30、为阻塞态45进程阻塞与进程唤醒流程图进程阻塞与进程唤醒流程图保存当前进程的保存当前进程的CPU现场现场置该进程为阻塞状态置该进程为阻塞状态被阻塞进程入等待队列被阻塞进程入等待队列转进程调度转进程调度从等待队列中摘下被唤醒进程从等待队列中摘下被唤醒进程将被唤醒进程置为就绪状态将被唤醒进程置为就绪状态将被唤醒进程送入就绪队列将被唤醒进程送入就绪队列转进程调度或返回转进程调度或返回入口入口入口入口46进程切换与模式切换进程切换与模式切换 n进程切换进程切换 把一个进程让出把一个进程让出CPUCPU,由另一个进程占用,由另一个进程占用CPUCPU的过程称的过程称 为为“进程切换进程切换”。进程切换是由
31、进程状态的变化引起。进程切换是由进程状态的变化引起的的n进程上下文进程上下文n操作系统中把进程物理实体和支持进程运行的环操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文境合称为进程上下文 n进程上下文切换进程上下文切换 n进程切换是让处于运行态的进程中断运行,让出进程切换是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换处理器,这时要做一次进程上下文切换 n进程切换的步骤进程切换的步骤 47n模式切换模式切换 n当中断发生时,暂时中断正在执行的用户进程,把当中断发生时,暂时中断正在执行的用户进程,把CPUCPU的工作状态从用户态切换到核心状态,去执行操的工作状态从
32、用户态切换到核心状态,去执行操作系统例行程序以获得服务,这是一次作系统例行程序以获得服务,这是一次CPUCPU模式切换模式切换n模式切换不同于进程切换,它并不引起进程状态的变模式切换不同于进程切换,它并不引起进程状态的变化,且这两个进程(用户进程和系统进程)使用同一化,且这两个进程(用户进程和系统进程)使用同一个个PCBPCB n见见P47 P47 图图2.122.1248二、线程的基本概念二、线程的基本概念n1.1.线程概念的引入线程概念的引入n2.2.线程与进程的比较线程与进程的比较n3.3.线程的分类线程的分类491.1.线程概念的引入线程概念的引入(1)(1)为什么要引入线程?为什么要
33、引入线程?进程的两个基本属性:进程的两个基本属性:n资源的拥有者:资源的拥有者: 给每个进程分配一虚拟地址空间,保存进给每个进程分配一虚拟地址空间,保存进 程映像,控制一些资源(文件,程映像,控制一些资源(文件,I/OI/O设设 备),有状态、优先级、调度备),有状态、优先级、调度n调度单位:调度单位: 进程是一个执行轨迹进程是一个执行轨迹 以上两个属性构成进程并发执行的基础以上两个属性构成进程并发执行的基础50为什么引入线程?为什么引入线程?系统必须完成的操作:系统必须完成的操作:n创建进程创建进程n撤消进程撤消进程n进程切换进程切换缺点:缺点: 时间空间开销大,限制并发度的提高时间空间开销
34、大,限制并发度的提高51为什么引入线程?(续)为什么引入线程?(续)为什么引入线程?为什么引入线程?n在操作系统中,进程的引入提高了计算机资源在操作系统中,进程的引入提高了计算机资源的利用效率。但在进一步提高进程的并发性时,的利用效率。但在进一步提高进程的并发性时,人们发现进程切换开销占的比重越来越大,同人们发现进程切换开销占的比重越来越大,同时进程间通信的效率也受到限制时进程间通信的效率也受到限制n线程的引入正是为了简化线程间的通信,以小线程的引入正是为了简化线程间的通信,以小的开销来提高进程内的并发程度的开销来提高进程内的并发程度52(2)(2)线程的定义线程的定义 有时称轻量级进程有时称
35、轻量级进程进程中的一个运行实体进程中的一个运行实体线程是一个线程是一个CPUCPU调度单位调度单位资源的拥有者还是进程或称任务资源的拥有者还是进程或称任务 将原来进程的两个属性将原来进程的两个属性“独立分配资源独立分配资源”与与“被调度分派执行被调度分派执行”分离开来处理分离开来处理53(3)(3)线程特点线程特点线程:线程:n有执行状态(状态转换)有执行状态(状态转换)n不运行时保存上下文不运行时保存上下文n有一个执行栈有一个执行栈n有一些局部变量的静态存储有一些局部变量的静态存储n可存取所在进程的内存和其它资源可存取所在进程的内存和其它资源n可以创建、撤消另一个线程可以创建、撤消另一个线程
36、54(4)(4)引入线程的好处引入线程的好处n资源共享资源共享:多个线程共享它们:多个线程共享它们所属进程所属进程的内存的内存和资源。和资源。 n经济经济:创建一个新线程花费时间少(结束亦如:创建一个新线程花费时间少(结束亦如此);两个线程的切换花费时间少(如果机器此);两个线程的切换花费时间少(如果机器设有设有“存储存储 恢复恢复 所有寄存器所有寄存器”指令,则整个指令,则整个切换过程用几条指令即可完成)切换过程用几条指令即可完成)n因为同一进程内的线程共享内存和文件,因因为同一进程内的线程共享内存和文件,因 此它们之间此它们之间相互通信无须调用内核相互通信无须调用内核n适合适合多处理机多处
37、理机系统系统552.2.线程与进程的比较线程与进程的比较(1)(1)单线程进程结构和多线程进程结构单线程进程结构和多线程进程结构 线程和进程:线程和进程:n单进程、单线程单进程、单线程n单进程、多线程单进程、多线程n多进程、一个进程一个线程多进程、一个进程一个线程n多进程、一个进程多个线程多进程、一个进程多个线程565758线程与进程的比较线程与进程的比较n调度。调度。线程作为调度和分派线程作为调度和分派CPUCPU的基本单位。的基本单位。n并发性。并发性。不仅进程之间可以并发执行,而且在一个进程中不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行。的多个线程之间也可以并发
38、执行。n拥有资源。拥有资源。进程是拥有资源的独立单位。线程自己不用有进程是拥有资源的独立单位。线程自己不用有系统资源(只有少量的必不可少的资源),但它可以访问系统资源(只有少量的必不可少的资源),但它可以访问其隶属进程的资源。其隶属进程的资源。n系统开销。系统开销。进程切换时,涉及到当前进程进程切换时,涉及到当前进程CPUCPU环境的保存环境的保存及新被调度运行的进程及新被调度运行的进程CPUCPU环境的设置,包括程序地址和环境的设置,包括程序地址和数据地址等。而线程的切换只须保存和设置少量寄存器的数据地址等。而线程的切换只须保存和设置少量寄存器的内容,并不涉及到存储器管理方面的操作。内容,并
39、不涉及到存储器管理方面的操作。593.3.线程的分类线程的分类n根据线程的切换是否依赖于内核把线程分成三根据线程的切换是否依赖于内核把线程分成三类:类:n用户级线程用户级线程(User Level ThreadsUser Level Threads,简写为,简写为ULTULT) n内核级线程内核级线程(Kernel Supported ThreadsKernel Supported Threads,简写为,简写为KSTKST)n混合式线程混合式线程。 60用用户户空空间间线程库线程库P P内内核核空空间间(b b)用户级线程)用户级线程用用户户空空间间P P内内核核空空间间(a a)内核级线程
40、)内核级线程用用户户空空间间线程库线程库P PP P内内核核空空间间(c c)混合式线程)混合式线程ULTULTKLTKLTProcessProcessP P三种类型的线程三种类型的线程61【思考题【思考题】1 1如果系统中有如果系统中有N N个进程,运行的进程最多几个进程,运行的进程最多几 个,最少几个;就绪进程最多几个最少几个;个,最少几个;就绪进程最多几个最少几个; 等待进程最多几个,最少几个?等待进程最多几个,最少几个?2. 2. 有没有这样的状态转换,为什么?有没有这样的状态转换,为什么? 等待等待运行;就绪运行;就绪等待等待3. 3. 一个状态转换的发生,是否一定导致另一个一个状态
41、转换的发生,是否一定导致另一个 转换发生,列出所有的可能转换发生,列出所有的可能4. 4. 举举2 2个日常生活中类似进程的例子个日常生活中类似进程的例子62 运行状态最多1个,最少0个; 等待状态最多N个,最少N-1个; 就绪状态最多N-1个,最少0个。 63问题:一个转换发生,是否另一个转换一定发生?找出所有的可能。问题:一个转换发生,是否另一个转换一定发生?找出所有的可能。解答:就绪解答:就绪运行运行: : 不一定(系统中仅一个进程)不一定(系统中仅一个进程) 转换条件:被调度程序选中转换条件:被调度程序选中 运行运行就绪就绪: : 一定(讨论就绪队列的长度)一定(讨论就绪队列的长度)
42、转换条件:时间片到时转换条件:时间片到时, ,或有更高优先级的进程出现或有更高优先级的进程出现 运行运行等待等待: : 不一定(考虑死锁)不一定(考虑死锁) 转换条件:等待某事件发生转换条件:等待某事件发生 等待等待就绪就绪: : 不一定不一定 转换条件:等待的事件发生转换条件:等待的事件发生问题:日常生活中的问题:日常生活中的“进程进程”举例举例解答:解答:两个角度:两个角度:“程序程序- -数据数据- -运行运行” 或或“资源资源- -调度调度- -运行运行”经典例子:经典例子:“按照菜谱作菜按照菜谱作菜”“”“乐队演奏乐队演奏” 或或“图纸图纸”与与“施工施工”等等. .64填空题填空题
43、1 1进程的静态描述由三部分组成:进程的静态描述由三部分组成: 、 和和 。2 2进程存在的标志是进程存在的标志是 。【答案】【答案】PCBPCB、程序部分、程序部分、相关的数据结构集相关的数据结构集【解析】【解析】PCBPCB是系统感知进程的唯一实体。进程的程序部分描述了进程是系统感知进程的唯一实体。进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。后两部分是进程完成所需功能的物质基础。作对象。后两部分是进程完成所需功能的物质基础。【答案】进程控制块【答案】进程控制块PCBPCB【解析】
44、系统根据【解析】系统根据PCBPCB感知进程的存在和通过感知进程的存在和通过PCBPCB中所包含的各项变量中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的的变化,掌握进程所处的状态以达到控制进程活动的目的653 3 是现代操作系统的基本特征之一,是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了为了更好地描述这一特征而引入了 这这一概念。一概念。 【答案】【答案】程序的并发执行,程序的并发执行,进程进程【解析】程序的并发执行和资源共享是现代操行系统的【解析】程序的并发执行和资源共享是现代操行系统的基本特征。程序的并发执行使程序失去了程序顺序执行基本特征。程序的并发
45、执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。在程序并发执行时,程时所具有的封闭性和可再现性。在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。引入进程概念来描述程序并发执行所具有的特点。664 4给出用于进程控制的四种常见的原语给出用于进程控制的四种常见的原语 、 、 和和 。【答案】【答案】创建原语、创建原语、撤消原语、撤消原语、 阻塞原语、阻塞原语、唤醒原语唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段【解析】进程控制是系统使用一些具有特定功能的程序段来创建
46、、撤消进程以及完成进程各状态间的转换,从而达来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目到多个过程高效率地并行执行和协调,实现资源共享的目的。把那些在管态下执行的具有特定功能的程序段称为原的。把那些在管态下执行的具有特定功能的程序段称为原语。语。675 5进程被创建后,最初处于进程被创建后,最初处于 状态,然后状态,然后经经 选中后进入选中后进入 状态。状态。【答案】【答案】就绪,就绪,进程调度程序,进程调度程序,运行运行【解析】进程的从无到有,从存在到消亡是由进程创建【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。
47、被创建的进程最初处于就绪状原语和撤消原语完成的。被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。调度程序来完成的。 68n6.6.当一个进程完成了特定的任务后,系统收回当一个进程完成了特定的任务后,系统收回这个进程所占的这个进程所占的_ _ _ _ _ _和取消该进程的和取消该进程的_ _ _ _就撤消了该进程。就撤消了该进程。 【答案】【答案】资源资源 PCBPCB697.7.进程主要由进程主要由_、_、_
48、三部分内三部分内容组成,其中容组成,其中_是进程存在的唯是进程存在的唯 一标志。而一标志。而_部分也可以为其他进程共享。部分也可以为其他进程共享。 答:答:程序段程序段 数据段数据段 PCB PCB PCB PCB 程序段程序段 708.8.将进程的将进程的_链接在一起就形成了进程队链接在一起就形成了进程队列。列。 答:答:PCBPCB719.9.设系统中有设系统中有n(nn(n2)2)个进程,且当前不在执行进程调个进程,且当前不在执行进程调度程序,试考虑下述度程序,试考虑下述4 4种情况:种情况: 没有运行进程,有没有运行进程,有2 2个就绪进程,个就绪进程,n n个进程处于等待状态个进程处
49、于等待状态 有有1 1个运行进程,没有就绪进程,个运行进程,没有就绪进程,n-1n-1进程处于等待状态进程处于等待状态 有有1 1个运行进程,有个运行进程,有1 1个就绪进程,个就绪进程,n-2n-2进程处于等待状态进程处于等待状态 有有1 1个运行进程,个运行进程,n-1n-1个就绪进程,没有进程处于等待状态个就绪进程,没有进程处于等待状态 上述情况中,不可能发生的情况是上述情况中,不可能发生的情况是_ _ 。 答:答: 7210.10.在一个单处理机系统中,若有在一个单处理机系统中,若有5 5个用户进程,个用户进程,且假设当前时刻为用户态,则处于且假设当前时刻为用户态,则处于 就绪状态的用
50、户进程最多有就绪状态的用户进程最多有_个,最少有个,最少有_个。个。 答:答:4 0 73选择题选择题n1 1一个进程被唤醒,意味着一个进程被唤醒,意味着 。(A A)该进程重新占有了)该进程重新占有了CPU CPU (B B)进程状态变为就绪)进程状态变为就绪 (C C)它的优先权变为最大)它的优先权变为最大 (D D)其)其PCBPCB移至就绪队列的队首移至就绪队列的队首 【答案】(【答案】(B B)【解析】进程被唤醒是进入就绪队列。是否插入到就绪队列【解析】进程被唤醒是进入就绪队列。是否插入到就绪队列的什么地方,取决于就绪的管理方法和进程调度的算法。如的什么地方,取决于就绪的管理方法和进
51、程调度的算法。如果进程调度是最高优先数优先,该进程按优先数插入该队列果进程调度是最高优先数优先,该进程按优先数插入该队列中;如果该队列是按到达的先后次序排列的,则按到达的先中;如果该队列是按到达的先后次序排列的,则按到达的先后插入。后插入。 74n2 2进程和程序的本质区别是进程和程序的本质区别是 。(A A)存储在内存和外存)存储在内存和外存 (B B)顺序和非顺序执行机器指令)顺序和非顺序执行机器指令(C C)分时使用和独占使用计算机资源)分时使用和独占使用计算机资源 (D D)动态和静态特征)动态和静态特征【答案】(【答案】(D D)【解析】程序是指令的集合,而进程是可以和其它程序并发【
52、解析】程序是指令的集合,而进程是可以和其它程序并发执行的程序的一次执行过程。程序可以作为资料长期保存,执行的程序的一次执行过程。程序可以作为资料长期保存,而进程有从产生到消亡的过程。而进程有从产生到消亡的过程。75n3 3某进程所要求的一次打印输出结束,该进程某进程所要求的一次打印输出结束,该进程被被 ,进程的状态将从,进程的状态将从 。(A A)阻塞)阻塞 (B B)执行)执行 (C C)唤)唤醒醒 (D D)运行状态到阻塞状态)运行状态到阻塞状态(E E)就绪到运行)就绪到运行 (F F)阻塞到就绪)阻塞到就绪 (H H)运行到就绪)运行到就绪 【答案】【答案】(C C),),(F F)【
53、解析】当某进程在进程输入输出时,进程的状态是处【解析】当某进程在进程输入输出时,进程的状态是处于阻塞或等待状态,输入输出完成后,进程被唤醒,其于阻塞或等待状态,输入输出完成后,进程被唤醒,其状态将从阻塞变为就绪。状态将从阻塞变为就绪。 76n4 4系统感知进程的唯一实体是系统感知进程的唯一实体是 。(A A)JCB JCB (B B)FCBFCB (C C)PCB PCB (D D)SJTSJT 【答案】(【答案】(C C)【解析】进程控制块【解析】进程控制块PCBPCB是进程存在的唯一标志。是进程存在的唯一标志。 77n5 5一进程在某一时刻具有一进程在某一时刻具有 。 (A A)一种状态)
54、一种状态 (B B)两种状态)两种状态 (C C)三种状态)三种状态 (D D)四种状态)四种状态 【答案】(【答案】(A A)【解析】进程可能处于就绪、运行、等待三种基本状【解析】进程可能处于就绪、运行、等待三种基本状态,但进程在任一时刻只能处于一种状态。态,但进程在任一时刻只能处于一种状态。 78n6 6进程从运行状态变为等待的原因可能进程从运行状态变为等待的原因可能是是 。(A A)输入输出事件发生)输入输出事件发生 (B B)时间片到)时间片到 (C C)输入输出事件完成)输入输出事件完成 (D D)某个进程被唤醒)某个进程被唤醒 【答案】(【答案】(A A)【解析】正在运行的进程如果要申请输入或输出,这时【解析】正在运行的进程如果要申请输入或输出,这时进程的状态将从运行变为等待,将进程的状态将从运行变为等待,将CPUCPU让出,等待输入或让出,等待输入或输出完成。输出完成。 79n7 7进程创建原语的任务是进程创建原语的任务是 。(A A)为进程编制程序)为进程编制程序 (B B)为进程建立)为进程建立PCBPCB表表 (C C)为进程分配)为进程分配CPU CPU (D D)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年域名空间协议
- 行业规范标准汇报
- 习作例文:《小木船》教学设计-2024-2025学年四年级上册语文统编版(五四制)
- 《确定位置》(教案)北师大版四年级上册数学
- 二年级下册数学教案-上学时间4 北师大版
- 2025年冷气(N2)推进系统项目合作计划书
- 二年级上册数学教案-8.3 买球(3)-北师大版
- 石油行业研究报告总结
- 2025年江苏a2驾驶证货运从业资格证模拟考试
- 2025年不锈钢焊接管项目建议书
- 2024-2025学年九年级化学人教版教科书解读
- 2025年长春医学高等专科学校单招职业技能测试题库及完整答案1套
- 2025年中国大唐集团有限公司重庆分公司高校毕业生招聘笔试参考题库附带答案详解
- 2025年西安铁路职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2024年心理咨询师题库附参考答案(达标题)
- 运输公司安全生产管理制度
- GB 11984-2024化工企业氯气安全技术规范
- 《信息论绪论》课件
- GA/T 2149-2024机动车驾驶人安全教育网络课程设置规范
- 企业环保知识培训课件
- 甲肝流行病学
评论
0/150
提交评论