os-ch03-2pp

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第第33章章进程进程进程的概念进程的概念,,状态状态,,描述描述进程的调度进程的调度进程操作进程操作进程间通信进程间通信2OperatingSystems,BJUT3.13.1进程概念进程概念„„程序顺序执行程序顺序执行„„严格按先后次序逐个执行语句严格按先后次序逐个执行语句//程序段程序段„„程序顺序执行的特征程序顺序执行的特征„„顺序性顺序性„„只有前一个操作结束只有前一个操作结束,,才能执行后续操作才能执行后续操作„„封闭性封闭性„„程序运行时独占全机资源程序运行时独占全机资源„„可再现性可再现性„„与执行速度无关与执行速度无关3OperatingSystems,BJUT程序的并发执行程序的并发执行„„程序的并发执行程序的并发执行„„多道程序系统多道程序系统::多道程序的并发执行多道程序的并发执行„„某道程序的可以包含若干个能够并发执行的程序段某道程序的可以包含若干个能够并发执行的程序段„„好处好处„„充分利用系统资源充分利用系统资源„„提高系统处理能力提高系统处理能力„„程序并发执行的特征程序并发执行的特征„„间断性间断性„„共享资源共享资源,,相互合作相互合作ÆÆ相互制约相互制约ÆÆ执行执行--暂停暂停--执行执行„„失去封闭性失去封闭性„„一个程序的执行受到其他程序的影响一个程序的执行受到其他程序的影响„„不可再现性不可再现性4OperatingSystems,BJUT进程的概念进程的概念„„进程的各种定义进程的各种定义((进程进程process/process/任务任务task)task)„„进程是程序的进程是程序的一次执行一次执行„„进程是可以和别的计算进程是可以和别的计算并发执行并发执行的计算的计算„„进程可定义为一个进程可定义为一个数据结构数据结构及能在其上及能在其上进行操作进行操作的一个程序的一个程序„„进程是一个程序及其进程是一个程序及其数据数据在处理机上顺序在处理机上顺序执行执行时时所发生的活动所发生的活动„„进程是程序在一个进程是程序在一个数据集合数据集合上的上的运行运行过程过程,,是系是系统进行统进行资源分配资源分配和和调度调度的一个独立单位的一个独立单位„„可并发执行可并发执行的程序在一个的程序在一个数据集合数据集合上的上的运行过程运行过程„„AprogramAprograminexecutioninexecution.Aprocessiscontrolled.Aprocessiscontrolledandscheduledbytheoperatingsystem.andscheduledbytheoperatingsystem.„„课本课本7272页页3.1.13.1.15OperatingSystems,BJUT进程的特征进程的特征(1)(1)((注意与程序的对比注意与程序的对比))„„动态性动态性„„最基本的特性最基本的特性„„有一定的生命期有一定的生命期::创建创建,,执行执行,,暂停暂停,,消亡消亡„„并发性并发性„„多个进程实体多个进程实体,,同存于内存中同存于内存中,,能在能在一段一段时间内同时运行时间内同时运行„„独立性独立性„„进程实体是一个能进程实体是一个能独立运行独立运行的基本单位的基本单位,,同时也同时也是系统中是系统中独立获得资源独立获得资源和和独立调度独立调度的基本单位的基本单位6OperatingSystems,BJUT进程的特征进程的特征(2)(2)„„异步性异步性„„进程按各自独立的、不可预知的速度向前推进进程按各自独立的、不可预知的速度向前推进,,即即进程按异步方式运行进程按异步方式运行„„结构特征结构特征„„进程实体进程实体是由是由正文段正文段//程序段程序段、、数据段数据段、、堆栈段堆栈段及及进程控制块进程控制块等部分组成等部分组成ÆÆ进程映像进程映像„„非对应性非对应性„„一个程序被多个进程共用一个程序被多个进程共用„„例如编辑器、编译器等例如编辑器、编译器等„„可再入程序可再入程序//可重入代码可重入代码//纯代码纯代码::代码不能修改自身代码不能修改自身,,一份代码副本一份代码副本,,各自配备数据区各自配备数据区ÆÆ提高主存利用率提高主存利用率„„一个进程用到多个程序一个进程用到多个程序7OperatingSystems,BJUT33个进程个进程并发执并发执行的图行的图示示(1)(1)8OperatingSystems,BJUT33个进程并发执行的图示个进程并发执行的图示(2)(2)9OperatingSystems,BJUT33个进程个进程并发执并发执行的图行的图示示(3)(3)10OperatingSystems,BJUT进程状态进程状态„„进程在执行过程中会改变状态进程在执行过程中会改变状态((课本课本7373页页))„„运行运行„„就绪就绪„„等待等待(waiting)/(waiting)/阻塞阻塞(blocked)/(blocked)/睡眠睡眠(sleeping)(sleeping)11OperatingSystems,BJUT进程状态转换的条件和原因进程状态转换的条件和原因„„新建新建ÆÆ就绪就绪„„就绪就绪ÆÆ运行运行„„运行运行ÆÆ阻塞阻塞„„运行运行ÆÆ就绪就绪„„运行运行ÆÆ终止终止„„阻塞阻塞ÆÆ就绪就绪12OperatingSystems,BJUT进程控制块进程控制块„„进程的映像进程的映像(processimage)(processimage)„„正文段正文段//程序段程序段„„数据段数据段„„堆堆„„栈栈„„进程控制块进程控制块„„进程控制块进程控制块„„processcontrolblock,PCBprocesscontrolblock,PCB„„进程各种属性的集合进程各种属性的集合13OperatingSystems,BJUT进程控制块的基本内容进程控制块的基本内容„„进程状态进程状态„„程序计数器程序计数器„„CPUCPU寄存器寄存器„„CPUCPU调度信息调度信息„„内存管理信息内存管理信息„„计帐信息计帐信息„„CPUCPU使用时间使用时间„„用时限制用时限制„„帐户号帐户号„„作业号作业号//进程号进程号„„I/OI/O状态信息状态信息14OperatingSystems,BJUT进程的切换进程的切换15OperatingSystems,BJUTPCBPCB的作用的作用„„PCBPCB是进程存在的唯一标志是进程存在的唯一标志„„OSOS中最重要的数据结构中最重要的数据结构„„OSOS通过通过PCBPCB控制和管理并发执行的进程控制和管理并发执行的进程„„涉及调度、资源分配、中断处理涉及调度、资源分配、中断处理„„进程控制块的集合定义了进程控制块的集合定义了OSOS的状态的状态16OperatingSystems,BJUT3.23.2进程调度进程调度„„作业队列作业队列::系统中的全部进程系统中的全部进程„„就绪队列就绪队列::在主存中在主存中等待运行的全部进程等待运行的全部进程„„设备队列设备队列„„等待特定等待特定I/OI/O设备的进程列表设备的进程列表„„每个设备有自己的设备队列每个设备有自己的设备队列17OperatingSystems,BJUT就绪队列和各就绪队列和各I/OI/O设备队列设备队列18OperatingSystems,BJUT进程调度的进程调度的队列图队列图表示表示„„进程在各种队列之间迁移进程在各种队列之间迁移19OperatingSystems,BJUT调度程序调度程序(schedulers)(1)(schedulers)(1)„„长期调度长期调度程序程序//作业调度作业调度程序程序„„批处理系统批处理系统::新提交作业新提交作业ÆÆ后备队列后备队列((在磁盘上在磁盘上))„„长期调度程序长期调度程序在在后备队列后备队列中选择作业中选择作业„„作业装入主存作业装入主存„„创建进程创建进程„„放入就绪队列放入就绪队列„„控制主存中进程的数量控制主存中进程的数量„„多道程序度多道程序度„„““搭配搭配””选择作业选择作业ÆÆ资源平衡利用资源平衡利用,,提高性能提高性能„„I/OI/O为主的为主的(I/O(I/O--bound)bound)„„CPUCPU为主的为主的(CPU(CPU--bound)bound)20OperatingSystems,BJUT调度程序调度程序(2)(2)„„短期调度程序短期调度程序//CPUCPU调度程序调度程序„„从从就绪队列就绪队列中选择进程中选择进程,,分配分配CPUCPU„„执行频率很高执行频率很高„„中期调度程序中期调度程序„„交换交换,,进程的挂起状态进程的挂起状态21OperatingSystems,BJUT交换交换与进程的与进程的挂起状态挂起状态„„引入引入交换交换的原因的原因„„没有使用虚存的系统没有使用虚存的系统,,每个进程每个进程完全完全进入主存进入主存„„I/OI/O速度比计算速度慢很多速度比计算速度慢很多ÆÆ主存中的多个进程可主存中的多个进程可能全部阻塞等能全部阻塞等I/OI/O„„其他作业因没有主存空间不能投入运行其他作业因没有主存空间不能投入运行„„CPUCPU时间浪费时间浪费„„交换交换(Swapping)(Swapping)„„把主存中某个进程的部分或全部移到磁盘把主存中某个进程的部分或全部移到磁盘„„挂起状态挂起状态(suspend)(suspend)„„挂起队列挂起队列(suspendqueue)(suspendqueue)„„调入挂起进程调入挂起进程//接纳新进程接纳新进程ÎÎ主存主存„„交换是交换是I/OI/O操作操作!!22OperatingSystems,BJUT有挂起状态的转换图有挂起状态的转换图23OperatingSystems,BJUT各种调度的队列图各种调度的队列图24OperatingSystems,BJUT上下文切换上下文切换„„上下文切换上下文切换(contextswitch)(contextswitch)„„CPUCPU从一个进程切换到另一进程从一个进程切换到另一进程„„保存原来进程的状态保存原来进程的状态„„装入新进程上次保存的状态装入新进程上次保存的状态„„进程的上下文包括进程的上下文包括„„CPUCPU各寄存器的值各寄存器的值„„进程的状态进程的状态„„存储器管理信息存储器管理信息„„进程的上下文在哪里进程的上下文在哪里??„„上下文切换时间上下文切换时间::系统开销系统开销(overhead)(overhead)„„提高上下文切换速度的硬件支持提高上下文切换速度的硬件支持25OperatingSystems,BJUT3.33.3进程操作进程操作„„进程创建进程创建„„进程终止进程终止„„阻塞阻塞与与唤醒唤醒26OperatingSystems,BJUT进程创建进程创建„„导致进程创建的原因导致进程创建的原因„„新的批作业新的批作业„„交互登录交互登录„„OSOS为提供服务而创建为提供服务而创建„„由已有进程创建由已有进程创建„„创建进程的步骤创建进程的步骤„„申请空白申请空白PCB,PCB,指定唯一的进程标识号指定唯一的进程标识号(PID)(PID)„„为新进程分配资源为新进程分配资源„„初始化初始化PCBPCB„„把新进程插入就绪队列把新进程插入就绪队列„„父进程父进程,,子进程子进程,,进程树进程树27OperatingSystems,BJUT进程树举例进程树举例28OperatingSystems,BJUT例例:UNIX:UNIX中的进程创建中的进程创建29OperatingSystems,BJUT父子进程的关系父子进程的关系„„资源方面资源方面„„子进程直接从子进程直接从OSOS获得获得„„子进程从父进程获得子进程从父进程获得„„执行方面执行方面„„父进程等待父进程等待,,直到子进程终止直到子进程终止„„父进程和子进程并发执行父进程和子进程并发执行30OperatingSystems,BJUT进程终止进程终止„„导致进程终止的事件导致进程终止的事件„„正常结束正常结

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功