- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 并发处理 4.3 进程控制4.3.1 进程控制的概念 进程有生命周期:产生、运行、暂停、终止。对进程的这些操作叫进程控制。 进程控制的职责是对系统中全部进程实施有效的管理,它是处理机管理的部分(另一部分是进程调度),当系统允许多进程并发执行时,为了实现共享、协调并发进程的关系,处理机管理必须提供对进程实行有效的管理。 4.3 进程控制4.3.1 进程控制的概念 4.3 进程控制4.3.1 进程控制的概念 4.3 进程控制4.3.1 进程控制的概念 进程控制包括: 进程创建 进程撤消 进程阻塞 进程唤醒 这些功能由各种原语操作来实现。 原语:一种特殊的系统调用命令,它可以完成一个特定的功能。特点:原语执行时不可中断,即:具有原子性。 4.3 进程控制4.3.1 进程控制的概念 进程控制功能由各种原语操作来实现。 原语 一种特殊的系统调用命令,它可以完成一个特定的功能。 原语执行时不可中断,即:具有原子性。 4.3 进程控制4.3.1 进程控制的概念 在UNIX系统中进程控制的系统调用: fork() 创建子进程 sleep() 进程睡眠 exit() 进程自已终止(自杀) wait() (父)等待子进程终止 wakeup() 进程唤醒 在4.10节介绍。 4.3 进程控制4.3.1 进程控制的概念Unix进程状态变迁图 4.3 进程控制4.3.2 进程创建 在UNIX系统中用户键入一个命令(如date, ps,ls),shell就创建一个进程。 一个程序如果可分成几个程序段,并且这些程序段可并发执行,用户程序可使用创建程序的系统调用创建多个进程,每个进程执行一个程序段。 进程创建类似于人出生后要到派出所报户口。 4.3 进程控制4.3.2 进程创建 进程创建原语: create(name,priority,start_addr) 其中: name: 进程标识符; priority: 进程优先级; start_addr: 程序开始地址。 UNIX系统: fork() 4.3 进程控制4.3.2 进程创建 4.3 进程控制4.3.2 进程创建 4.3 进程控制4.3.3 进程撤消 进程完成其任务,希望终止时,调用进程撤消原语来撤消进程。 相当于一个人死亡后,家人要去派出所消户口。 在一般操作系统中进程撤消的系统调用是:kill UNIX系统中是exit()。 4.3 进程控制4.3.3 进程撤消 4.3 进程控制4.3.3 进程撤消 4.3 进程控制4.3.4 进程挂起 当一个处在运行状态的进程,因等待某个事件的发生(如等待打印机)而不能继续运行时,将调用进程挂起系统调用,把进程的状态置为阻塞状态,并调用进程调度程序(等于让出处理机)。 调用进程挂起操作是在进程处于运行状态下执行的。它将引起等待某事件的队列的改变。 4.3 进程控制4.3.4 进程挂起 进程挂起的内部调用形式(UNIX系统): sleep(chan,pri) 其中: chan 进程挂起(睡眠)的原因; pri 进程被唤醒后的优先级 一般调用形式: susp(chan) 其中:chan 进程等待的原因 4.3 进程控制4.3.4 进程挂起 4.3 进程控制4.3.4 进程挂起 4.3 进程控制4.3.5 进程唤醒 一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。 调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序,在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待打印机的进程。 4.3 进程控制4.3.5 进程唤醒 进程唤醒原语的形式: wakeup(chan) 其中:chan 唤醒进程阻塞的原因。 4.3 进程控制4.3.5 进程唤醒 算法:wakeup 输入:chan:等待的事件(阻塞原因) 输出:无 { 保护现行进程的CPU现场到pcb结构中; 置该进程为“就绪”态; 将该进程入就绪队列; 找到chan的等待队列的指针; for(该队列上每一个等待进程) { 将该进程移出此等待队列;
您可能关注的文档
最近下载
- 中小学生国庆假期安全教育主题班会PPT课件.pptx VIP
- 《电子商务基础》第一章课件.pptx VIP
- 第2单元活动3 编程实现算法 课件湘科版信息科技五年级上册.ppt
- 1.2记录个人观点(课件)-三年级信息科技全一册(河北大学版2024).pptx VIP
- 《黄金交易基础知识》课件.pptx VIP
- (高清版)DB22∕T 2758-2017 黑参 地标.pdf VIP
- 品牌管理完整版课件全套ppt教学教程(最新).pptx
- 2025年GB 45673《危险化学品企业安全生产标准化通用规范》解读宣贯学习课件.pptx
- 消防救援人员申请结婚报告表.doc VIP
- 答司马谏议书选择题及答案.pdf VIP
文档评论(0)