- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程及控制
CHAPTER 3 Process Description And Control 程序的执行顺序 程序的并发执行 2.程序并发执行时的特征 1)间断性:由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系。相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。 2)失去封闭性: 是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。 3)不可再现性: 程序在并发执行时,由于失去了封闭性,导致不可再现性 。 Major Requirements of anOperating System Interleave the execution of several processes to maximize processor utilization while providing reasonable response time Allocate resources to processes Support interprocess communication and user creation of processes 3.1 Process Also called a task Execution of an individual program 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位 进程是可并发执行的程序在一个数据集合上的运行过程 Can be traced list the sequence of instructions that execute 例 假设内存中有3个进程A、B、C,他们的程序代码已全部装入内存。若A、C两进程需要执行12条指令,B进程需要执行4条指令,且B进程执行到第4条指令处必须等待I/O Two-State Process Model Process may be in one of two states Running(执行) Not-running(非执行) Not-Running Process in a Queue 进程的创建 进程的终止 接上表 A Five-State Model Running:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机) Ready:准备执行 Blocked:等待某事件发生才能执行,如等待I/O完成等 New:进程已经创建,但未被OS接纳为可执行进程,并且程序还在辅存,PCB在内存 Exit:因停止或取消,被OS从执行状态释放 Null →New:新创建进程首先处于新状态 Using Two Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Swap these processes to disk to free up more memory Blocked state becomes suspend state when swapped to disk Reasons for Process Suspension 被挂起进程的特征 不能被调度执行。 可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行。 为了阻止进程执行,可以通过代理使进程挂起。代理可以是进程自身或父进程、或OS。 只有代理才能使之由挂起状态转换为其他状态。 One Suspend State Two Suspend States 具有挂起状态的进程状态转换 Blocked→Blocked/Suspend :OS通常将阻塞进程换出,以腾出内存空间 Blocked/Suspend→Ready/Suspend: 当Blocked/Suspend进程等待的事件发生时,可以将其转换为Ready/suspend Ready/Suspend→Ready:OS需要调入一个进程执行时 Ready→Ready/Suspend :挂起就绪进程,释放足够的内存空间 New → Ready/suspend(New Ready): 新进程创建后,可以插入到就绪队列或Ready/suspend队列。若无足够的内存分配给新进程,则需要New → Ready/Suspend 具有挂起状态的进程状态转换(续) Blocked/Suspend→Blocked:当Blocked/Suspend队列中有一个进程的阻塞事件可能会很快发生,则可将一个Blocked/Suspend进程换入内存,变为Blocked Runnin
文档评论(0)