- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章进程管理A
主要内容 进程的引入和定义 进程状态及转换 进程的产生和终止 进程的描述 进程控制 进程互斥与同步 进程间通信 管道(pipe) 线程(Thread) 程序并发执行充分利用了系统资源,从而提高了系统处理能力。 但是,系统的资源总是有限的,程序的并发执行必然导致资源共享和资源竞争,这又反过来限制了程序并发的程度(程序并发程度指单位时间内并发执行的程序个数),当达到某个值时,再增加程序的并发程度,反而会导致系统的资源利用率下降,而且系统的资源利用率总不可能超过100%。 想想为什么? 异步性。 程序每次运行的时间是不确定的,其整个运行过程呈现不连续状态,并按照各自独立的不可预知的速度向前推进。 失去封闭性。 由于运行程序之间的资源共享,程序在运行期间受到其它运行程序的影响,程序顺序执行时的封闭性不再保持。 不可再现性。 并发执行的程序由于某些原因,程序每次运行的过程和结果是不确定的。这与程序顺序执行的可再现性恰好相反。即使程序运行的初始条件和运行环境都不改变,也会因运行的时刻不同,而得到不同的运行结果。从运行的过程来看,也不可能通过重复操作来再现程序的运行轨迹。 1978年全国操作系统会议:进程是一个具有一定独立功能的、可并发执行的程序关于某个数据集合的一次运行活动。 3. 2. 3 进程的挂起 因为在计算机系统中,I/O操作比计算要慢得多;如果系统没有虚拟内存,则处于以上三种基本状态的进程占用着系统的内存资源,使得系统的多个进程都在等待其I/O操作完成,并且进程等待其I/O操作的时刻及等待的时间长短不可预知,当它们等待I/O操作的时间较长时,处理器的利用率仍没有得到较大的提高。 解决以上的问题有两种方法:第一个解决方法是将主存进行扩充,使系统能够容纳更多的进程。但是此方法必将导致费用的增加,也难以满足更多的进程。另一种方法是使用交换(swapping),即将内存中的一部分进程转移到磁盘中,当内存中没有进程处于就绪状态,操作系统将其中一个阻塞进程转移到磁盘上的一个挂起队列中。于是引入一个新状态:挂起(Suspend)状态。 进程控制块的说明信息用来表明进程的情况,“进程状态”表明进程的当前所处状态,若为阻塞,则进一步说明阻塞的原因;“进程程序存放位置”指明进程程序所在位置;“进程数据存放位置”指出进程执行时的工作区,用来存放处理的数据集和处理结果。 进程控制块的现场信息用于保存进程执行的现场。由于某些原因,进程让出处理器时,需要将其现场保留下来,以便它重新获得处理器后恢复到其让出处理器时的执行状态而继续执行。通常被保留的现场包括通用寄存器内容、控制寄存器内容以及记录有关系统状态和进程暂停执行时断点的程序状态字寄存器内容。 在进程的生命期内,系统中的进程并行运行及相互制约,使得进程的状态不断变化,系统中的诸多事件都可以使进程的状态发生变化。通常,进程包括三个基本状态:就绪状态、运行状态和阻塞状态(大多数系统如此)。 一、进程的三种基本状态 1.就绪状态(Ready) 当进程已经分配到除CPU以外的所有必要的资源后,只要能再获得处理机,就可以立即执行。这时的进程的状态称为就绪状态。就绪队列。 2.执行状态(Running)(运行状态) 指进程已获得处理机,其程序正在执行。在单处理机系统中,只能有一个进程处于执行状态。(在多处理机中,可能有多个进程处于执行状态) 3. 2 进程状态及转换 3.阻塞状态(Blocked)(等待状态) 进程因为发生某个事件而暂停执行时的状态(如:请求I/O、申请缓冲空间等),也就是说,进程受到阻塞,所以称这种暂停状态为阻塞状态,有时也称“等待”状态或“睡眠”状态。阻塞队列。 就绪 新进程 结束 执行 阻塞 接纳 事件发生 进程调度 等待某事件 完成 中断 每个进程在生命周期内,都要经历这三个基本状态,不同的原因和条件导致了这些状态之间的变化。系统中的任何进程在任一时刻只能处于某一种状态。 1.就绪态 运行态 对等待分配CPU的进程系统按某种选定的策略,从处于就绪状态的进程队列中,选择一个进程让它占用CPU,被选中的进程就变为运行态。关于选择策略将在以后章节讨论。 2.运行态 就绪态 进程用完了规定的一个CPU时间片后,就强迫该进程暂时退出CPU,当有更高优先权的进程要运行时,也迫使正在运行的进程让出CPU,不是由于自身或外界原因成为等待状态的进程让出CPU时,它的状态就变为就绪状态。 3.运行态 阻塞态 当一个运行进程提出某些请求而必须等待时,其进入阻塞状态。在该状态下,进程失去CPU资源。例如一个进程在运行中启动了IO设备,它就变成等待IO设备传输信息的状态;当进程在运行中申请资源得不到满足时
文档评论(0)