第二章__进程管理.ppt

  1. 1、本文档共248页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章__进程管理

第二章 进程管理 2.1.2 前趋图 前趋关系表示: ? ={(Pi, Pj ) | Pi must complete before Pj may start} 如果(Pi, Pj)? ?,可写成Pi? Pj,称Pi是Pj的直接 前趋,而称Pj是Pi的直接后继。 初始结点: 没有前趋的结点。 终止结点: 没有后继的结点。 2.1.3 程序并发执行 例题: 2.1.4 进程的特征与状态 进程的特征 进程和程序的区别 进程和程序的联系 2 进程三种的基本状态 2 进程三种的基本状态 1) 就绪状态 2) 执行状态 3) 阻塞状态,又称等待状态 3、进程新(创建)状态和终止状态 1、新(创建)状态 这是一个进程刚刚建立,但还未将它 送入就绪队列时的状态。 2、终止状态 当一个进程已经正常结束或异常结束, OS已将它从执行状态中移出,但尚未 将它撤消时的状态。 4. 进程的挂起状态 a、终端用户的需求 正在执行:暂停 就绪状态:暂不接受调度 2)进程状态的转换 进程状态的转换 1、活动就绪→静止就绪 2、活动阻塞→静止阻塞 3、静止就绪→活动就绪 4、静止阻塞→活动阻塞 3)挂起状态的性质 静止就绪、静止阻塞:该进程都不可能被调度而执行。 处于静止阻塞状态的进程,其阻塞条件与挂起条件无关。当进程等待的事件出现后,该进程从静止阻塞转换为静止就绪。 进程可以由其自身挂起,也可由用户或OS等将之挂起。被挂起的进程是只能被显式方式来激活,以便从挂起状态中解脱出来。 Linux进程主要有如下几种状态:   (1) 可运行状态(TASK_RUNNING):进程正在运行或处于就绪,只要得到CPU就可以立即投入运行的就绪态。可运行状态进程组成的队列(RUN_QUEUE)。   (2) 等待状态:进程正在等待某个事件发生或等待某种资源的状态。Linux进程有两种等待状态:可中断的等待状态(TASK_INTERRUPTIBLE)和不可中断等待状态(TASK_UNINTERRUPTIBLE)。   (3) 暂停状态(TASK_STOPPED):此时进程暂时停止运行,接受某种处理。   (4) 僵死状态(TASK_ZOMBIE):表示进程结束但尚未消亡的一种状态。 2.1.5 进程控制块(Process Control Block) CPU在进程间的切换 2、进程控制块中的信息 2. 进程控制块中的信息 通用寄存器 指令计数器 程序状态字PSW 用户栈指针 2. 进程控制块中的信息 2. 进程控制块中的信息 程序和数据的地址: 是指进程的程序和数据所在的内存或外存(首)地址,以便再调度到该进程执行时,能从PCB中找到其程序和数据; 实现进程同步和通信相关信息: 如消息队列指针、信号量等; 资源清单: 包括进程所需全部资源、已经分得的资源。 链接指针: 给出了本进程PCB所在队列中的下一个进程的PCB首地址。 3、PCB的组织方式 2.2 进程控制 2.2.1 进程的创建 1、进程图(Process Graph) 2、引起创建进程的事件 (1) 用户登录:分时系统 ( 2 ) ? 作业调度:批处理系统 ( 3 ) ? 提供服务 由OS创建,以向用户提供服务( 如:打印文件) ( 4 ) 应用请求 一个用户程序可创建成多个进程 3、进程的创建 (1) 申请空白PCB:申请唯一的数字标识符。 (2) 为新进程分配资源:为程序、数据、用户栈分配必要的空间。 (3) 初始化进程控制块:标识信息、处理机状态信息、处理机控制信息。 (4) 将新进程插入就绪队列 进程创建举例 cp file1 file2 cp主函数:main(argc, argv, envp) argc:为命令行参数个数,3; argv:字符串数组 argv[0]为“cp”, argv[1]命令行中执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; envp: 字符串数组。 envp[] 的每一个元素都包含name=value,用来将各种环境信息传递程序。 Linux进程创建举例 2.2.2进程的终止 (1). 正常结束 (2).

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档