好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统课件os02进程控制.ppt

42页
  • 卖家[上传人]:桔****
  • 文档编号:601320800
  • 上传时间:2025-05-16
  • 文档格式:PPT
  • 文档大小:275.50KB
  • / 42 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,操作系统,,Operating Systems,WINDOWS,UNIX,LINUX,OS2,VxWorks,Mac OS,第二章,进程,管理,,第二章,进程,管理,2.1,进程的基本概念,,,2.2,进程控制,,,2.3,进程同步,,,2.4,经典进程的同步问题,,,2.5,,进程通信,,,2.6,线程,,2.1,进程的基本概念,2.1.1,程序的顺序执行及其特征,,,S,1,:,,a:=x+y;,,S,2,:,,b:=a-5;,,S,3,:,,c:=b+1;,,,顺序性,---,顺序执行;,,封闭性,---,程序运行时独占全机资源,不受外界影响;,,可再现性,---,程序重复执行时将得到相同结果;,,,S1,S2,S3,a,b,2.1.3,程序的并发执行及其特征,对于具有下述四条语句的程序段:,,,S1: a:=x+2,,S2: b:=y+4,,S3: c:=a+b,,,S4: d:=c+b,,S1,S3,S4,a,c,S2,b,d,程序的并发执行时的特征,间断性,---,并发执行导致间断性;,,失去封闭性,---,多个程序共享资源,受外界影响;,,不可再现性,---,程序重复执行时可能到不同结果;,,缓存区,BUF,P1,P2,案例,例如:某交通路口设置了一个自动计数系统,该系统由观察者和报告者共同组成。

      观察者 报告者,,,交通路口自动计数系统,观察到一辆卡车,将计数值,N,累加,1,,将计数值,N,清,0,,输出计数值,N,,7,Procedure,观察者,,,begin,,,观察到一辆卡车;,,,N=N+1,;,,end,,Procedure,报告者,,,begin,,,,print N,;,,,N=0,;,,end,,假设某时刻,N,的值为,m,,可能出现下面情况:,,print,的,N,值,N,的最终取值,,(,1,),m+1 0,,(,2,),m 1,,(,3,),m 0,观察者,,;报告者,报告者; 观察者,报告者,Print N,; 观察者,N=N+1;,报告者,N=0,操作系统为什么要引入进程概念?,,刻画系统的动态性,发挥系统的并发性,提高资源利用率程序是并发执行的,即不是连续而是走走停停的程序的并发执行引起资源共享和竞争问题,执行的程序不再处在封闭环境中程序”自身只是计算任务的指令和数据的描述,是静态概念,,无法刻画程序的并发特性,,,系统需要寻找一个能描述程序动态执行过程的概念,,进程的特征,,结构特征,,,动态性,,并发性,,独立性,,异步性,,进程的特征,,结构特征,,为使程序,(,含数据,),能独立运行,应为之配置一,进程控制块(,PCB,,,Process Control Block),;,,由程序段、相关的数据段和,PCB,三部分便构成了,进程实体,。

      PCB,常驻内存,,程序段,,数据段,PCB,动态特征的集中反映,描述要完成的功能,操作对象及工作区,进程的特征,,动态性,,进程的最基本的特征,程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的进程实体有一定的生命期:,,“,它由创建而产生,由,调度,而执行,由撤消而消亡,”,,作业调度与进程调度,进程的特征,,并发性,,并发性是进程的,重要,特征,也成为,OS,的,重要,特征引入进程的目的,:正是为了使其进程实体能和其它进程实体并发执行;,,独立性,,在,传统的,OS,中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位异步性,,进程按各自独立的、 不可预知的速度向前推进,或说进程实体按异步方式运行进程的定义,,较典型的进程定义有:,,(,1,)进程是程序的一次执行2,)进程是一个程序及其数据,在处理机,上顺序执行时所发生的活动3,)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位我们可以把,传统,OS,中的进程定义为:,,“,进程是,进程实体,的运行过程,是系统进行资源分配和调度的一个独立单位”,,进程的三种基本状态,就绪,(Ready),状态,,进程已分配到除,CPU,以外的所有必要资源。

      就绪队列,,执行状态,,进程已获得,CPU,,其程序正在执行在单处理机系统中,只有一个进程处于执行状态;,,在多处理机系统中,则有多个进程处于执行状态阻塞状态,,正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态引起阻塞的事件,进程三个基本状态及其转换,,,,,执行,就绪,阻塞,进程调度,时间片完,I/O,请求,I/O,完成,挂起状态,,引入挂起状态的原因,,终端用户的请求2),父进程请求3),负荷调节的需要为了让某些进程暂时不参与进程调度,,对换到外存中,,释放它占有的资源,,(4),操作系统的需要挂起状态,(,静止状态,),,非挂起状态,(,活动状态,),,,,,具有挂起状态的进程状态图,,释放,激活,挂起,调度,时间片完,I/O,请求,,执行,,活动,,就绪,释放,,静止,,就绪,激活,挂起,,静止,,阻塞,,,,活动,,阻塞,挂起,创建状态和终止状态,创建状态,,为一个新进程创建,PCB,,并填写必要的管理信息;,,该进程所必需的资源或其它信息尚未分配,,终止状态,,当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。

      终止态的进程不能再执行一旦其它进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程进程的五种基本状态及转换,,,,,执行,就绪,阻塞,进程调度,时间片完,,I/O,请求,I/O,完成,,创建,,终止,许可,结束,具有创建、终止和挂起状态的进程状态图,释放,激活,挂起,调度,时间片完,I/O,请求,,执行,,活动,,就绪,释放,,静止,,就绪,激活,挂起,,静止,,阻塞,,,,活动,,阻塞,挂起,,创建,许可,许可,,终止,结束,进程控制块,进程控制块,PCB(Process Control Block),,系统为每个进程定义的一个数据结构,,PCB,中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息PCB,是,进程存在的惟一标志,最重要的,记录型,数据结构PCB,应常驻内存,,专门开辟的,PCB,区内,进程控制块中的信息,进程标识符,,处理机状态,,进程调度信息,,进程控制信息,,,1,进程控制块,——,进程标识符,内部标识符,,一个惟一的,数字,标识符,它通常是一个进程的序号外部标识符,,它由创建者提供,通常是由字母、数字组成,往往是由,用户,(,进程,),在访问该进程时使用。

      为了描述进程的家族关系,还应设置父进程标识及子进程标识设置用户标识,以指示拥有该进程的用户2,进程控制块,——,处理机状态,处理机状态信息主要是由处理机的各种寄存器中的内容组成的,,这些寄存器包括:,,①,,通用寄存器,它们是用户程序可以访问的,用于暂存信息;,,②,,指令计数器,其中存放了要访问的下一条指令的地址,,③,,程序状态字,PSW,,含有状态信息,如条件码、执行方式、中断屏蔽标志等;,,④,,用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址,栈指针指向该栈的栈顶3,进程控制块,——,进程调度信息,在,PCB,中还存放一些与进程调度和进程对换有关的信息,包括:,,①,,进程状态;,,②,,进程优先级,优先级高的进程应优先获得处理机;,,③,,进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待,CPU,的时间总和、进程已执行的时间总和等;,,④,,事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因4,进程控制信息,①,,程序和数据的地址,指进程的程序和数据所在的内存或外存地,(,首,),址,,②,,进程同步和通信机制,指实现进程同步和进程通信时必需的机制;,,③,,资源清单,即一张列出了除,CPU,以外的、进程所需的全部资源及已经分配到该进程的资源的清单;,,④,,链接指针,它给出了本进程,(PCB),所在队列中的下一个进程的,PCB,的首地址。

      进程控制块的组织方式,链接方式,,索引方式,,链接方式,PCB,表,执行指针,就绪队列指针,阻塞队列,1,指针,阻塞队列,2,指针,…,空闲队列指针,链接方式,,索引方式,执行指针,就绪表指针,阻塞表,1,指针,PCB,表,,,PCB1,,PCB2,PCB3,PCB4,PCB5,PCB6,…,…,PCBn,,,,…,阻塞索引表,1,阻塞表,2,指针,…,2.2 进程控制,,进程控制是进程管理中,最基本,的功能进程控制任务:,,进程创建、终止、进程状态的转变,,进程控制一般是由,OS,的内核中的,原语,来实现的原语是由若干条指令组成的,用于完成一定功能的一个过程它与一般过程的区别在于:它们是,“,原子操作,”,因此,在执行过程中,不允许被中断,原子操作在管态下执行,常驻内存进程的创建——进程树,,引起创建进程的事件,,用户登录作业调度提供服务应用请求进程的创建,,调用进程创建原语,Create( ),按下述步骤创建一个新进程,:,,申请空白,PCB,为新进程分配资源初始化进程控制块:,初始化标识信息、初始化处理机状态信息、初始化处理机控制信息,将新进程插入就绪队列,如果进程就绪队列能够接纳新进程, 便将新进程插入就绪队列。

      2.2.2 进程的终止,,,引起进程终止的事件,,正常结束,,异常结束,,① 越界错误 ② 保护错 ③ 非法指令④ 特权指令错⑤ 运行超时 ⑥ 等待超时⑦ 算术运算错⑧,I/O,故障外界干预,,① 操作员或操作系统干预 ② 父进程请求③ 父进程终止进程的终止过程,,从,PCB,集合中检索出该进程的,PCB,,读出该进程的状态若正处于,执行状态,,应立即终止该进程的执行,并置调度标志为真,,重新调度,若还有,子孙进程,,还应将其所有子孙进程,予以终止,将被终止进程所拥有的全部资源,或者,归还,给其父进程, 或者归还给系统将被终止进程,(,它的,PCB),从所在队列,(,或链表,),中,移出,, 等待其他程序来搜集信息2.2.3 进程的阻塞与唤醒,,引起进程阻塞和唤醒的事件,,请求系统服务,,启动某种操作,,新数据尚未到达,,无新工作可做,,进程阻塞过程,,进程通过调用阻塞原语,block,把自己阻塞,:,,该进程还处于,执行状态,,应先立即停止执行,,,把进程控制块中的现行状态由,“,执行,”,改为阻塞,并将,PCB,插入,阻塞队列,应将本进程插入到具有相同事件的阻塞,(,等待,),队列。

      重新调度,,并进行,切换,保留被阻塞进程的处理机状态,(,在,PCB,中,),,再按新进程的,PCB,中的处理机状态设置,CPU,的环境,,进程唤醒过程,,有关进程调用唤醒原语,wakeup( ),,将等待该事件的进程唤醒,:,,把被阻塞的进程从等待该事件的阻塞队列中移出,,将其,PCB,中的现行状态由阻塞改为,就绪,,将该,PCB,插入到就绪队列中进程的唤醒,,block,原语和,wakeup,原语是一对作用刚好相反的原语如果在某进程中调用了阻塞原语,则必须在与之相合作的另一进程中或其他相关的进程中安排唤醒原语,.,进程,A,进程,B,等待事件,1,调用,阻塞原语,阻塞自己,事件,1,发生,调用,唤醒,原语,唤醒,被阻塞进程,2.2.4 进程的挂起与激活,,挂起原语,suspend( ),,将指定进程或处于阻塞状态的进程挂起挂起原语的执行过程是:,,检查被挂起进程的状态,,若处于活动,就绪状态,,便将其改为,静止就绪,;,,对于活动阻塞状态的进程,则将之改为,静止阻塞,把该进程的,PCB,复制到某指定的内存区域若被挂起的进程正在执行,则转向调度程序,重新调度,进程的激活过程,,系统将利用激活原语,active( ),将指定进程激活。

      将进程从外存调入内存,,检查该进程的现行状态,若是,静止就绪,,便将之改为活动就绪;若为,静止阻塞,便将之改为活动阻塞假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,应检查是否要进行重新调度,即由调度程序将被激活进程与,当前进程进行优先级的比较,,如果被激活进程的优先级更低,就不必重新调度;否则,立即剥夺当前进程的运行,把处理机分配给刚被激活的进程作业,,P81,82,,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.