操作系统教学02.pptx
《操作系统教学02.pptx》由会员分享,可在线阅读,更多相关《操作系统教学02.pptx(255页珍藏版)》请在咨信网上搜索。
1、在现代在现代OS中,中,“进程进程”和和“资源资源”是两个最重要的概念,进是两个最重要的概念,进程是程序的一次执行。从进程的观点看,程是程序的一次执行。从进程的观点看,OS的一切活动都是的一切活动都是围绕着进程服务而展开的,围绕着进程服务而展开的,通过为进程服务而达到为用户服务通过为进程服务而达到为用户服务的目的。的目的。CPU是最重要的系统资源,是最重要的系统资源,处理机管理的主要内容是处理机调处理机管理的主要内容是处理机调度,而处理机分配和运行又是以进程为基本单位度,而处理机分配和运行又是以进程为基本单位,故对处理机,故对处理机的管理可归结为对进程的管理,进程管理是的管理可归结为对进程的管
2、理,进程管理是OS中最重要、最中最重要、最复杂的管理。复杂的管理。处理机管理处理机管理进程的基本概念 进程控制 进程同步 经典进程的同步问题 进程通信 线程 第二章第二章 进程管理进程管理l 人类的擅长逻辑程序(代码、数据)l 计算机的擅长数字运算(指令、逻辑关系)l OS负责将逻辑程序转换为CPU动作,进程是这一转换过程的进程是这一转换过程的中间结构中间结构2.1 2.1 进程的基本概念进程的基本概念程序和数据程序和数据进程结构进程结构指令流指令流程序的顺序执行:程序的顺序执行:仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最
3、后才能打印计算结果。2.1.1 2.1.1 程序的顺序执行及其特征程序的顺序执行及其特征程序顺序执行时的特征程序顺序执行时的特征顺序性封闭性 可再现性2.1.1 2.1.1 程序的顺序执行及其特征程序的顺序执行及其特征前趋图前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“”。=(Pi,Pj)|Pi must
4、 complete before Pj may start,如果(Pi,Pj),可写成PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点初始结点(Initial Node),把没有后继的结点称为终止结点终止结点(Final Node)。2.1.2 2.1.2 前趋图前趋图P=P1,P2,P3,P4,P5,P6,P7,P8,P9=(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)程序的并发执行程序的并发执行2.1.3 2.1
5、.3 程序的并发执行及其特征程序的并发执行及其特征在该例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1在Pi-1和Ci以及Ii+1之间,可以并发执行多个程序同时在系统中运行,这些程序的执行在时间上是重叠的,即前一程序的执行尚未结束,后一程序的执行已经开始。程序的并发执行程序的并发执行2.1.3 2.1.3 程序的并发执行及其特征程序的并发执行及其特征间断性相互制约将导致并发程序具有“执行暂停执行”这种间断性的活动规律。失去封闭性某程序执行时,必然受到参与并发执行的其它程序的影响不可再现性计算结果与并发程序执行速度有关。即同一程序,使用相同输入、在相同环境下运行
6、,却可能获得完全不同的结果。程序并发执行时的特征不可再现性的例子:l两个并发执行的程序A和B,如下所示:A:N:=N+1;B:print(N);N:=0;l 分析:1)并发:A、B交替占用CPU执行;2)异步性导致:CPU交替执行A、B的语句时顺序可能不同!l 设某次循环前,N的值为8,CPU执行顺序 打印结果 N的值1)N:=N+1;print(N);N:=0;9 02)print(N);N:=0;N:=N+1;8 13)print(N);N:=N+1;N:=0;8 0多道程序环境下,程序的执行属于并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征因此,通常的程序不能参加并发执行
7、为此,引入“进程”为什么要有进程?为什么要有进程?引入进程后引入进程后引入进程引入进程进程是一个具有一定独立功能的程序关于某个数据集合的一次可以并发执行的运行活动。计算机中的所有程序(软件),按照某种顺序运行,这种运行的过程称之为进程。进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。2.1.4 2.1.4 进程的特征与状态进程的特征与状态多道程序环境下,如何能使程序并发执行?如何对并发执行的程序加以控制和描述?l进程和程序的区别很微妙l想象一位好厨艺的科学家正在为女儿烘制生日蛋糕。有食谱,有原料:面粉、鸡蛋、糖、香草汁等等。在这个比喻中,食谱就是程序(即用适当形
8、式描述的算法),科学家就是处理机(CPU),各种原料就是输入数据。进程就是厨师阅读食谱、取来各种原料、以及烘制蛋糕的一系列动作的总和。l现在假设科学家的儿子哭着跑了进来,说他被一只蜜蜂螫了。科学家就记录下他照着食谱做到哪儿了(保存进程的当前状态),然后拿出一本急救手册,按照其中的指示处理螫伤。l这里,我们看到处理机从一个进程(做蛋糕)切换到另一个高优先级的进程(实施医疗救治),每个(进程)拥有各自的程序(食谱和急救书)。当蜜蜂螫伤处理完之后,科学家又回来做蛋糕,从他离开时的那一步继续做下去。l关键思想是:一个进程是某种类型的一个活动,它有程序、输入、输出、及状态。单个处理机被若干进程共享,它使
9、用某种调度算法决定何时停止一个进程的工作,并转而为另一个进程提供服务。进程基本概念进程基本概念阅读菜谱阅读菜谱准备原料准备原料烹制菜肴烹制菜肴饭菜饭菜阅读洗衣机手册阅读洗衣机手册准备衣服、洗衣粉准备衣服、洗衣粉设定参数,洗衣服设定参数,洗衣服干净衣服干净衣服程序程序输入输入运行运行输出输出程序程序输入输入运行运行输出输出分时切换分时切换洗衣进程洗衣进程洗衣进程洗衣进程做饭进程做饭进程做饭进程做饭进程l 进程的核心思想进程是某个程序在某个数据集合上的运行过程,它有程序、输入、输出和状态。在分时操作系统中,单个CPU被若干进程共享,它使用某种调度算法决定何时停止一个进程的运行,转而为其他进程提供服
10、务。操作系统维护一个程序计数器,在进程间切换操作系统维护一个程序计数器,在进程间切换对每一个进程而言,都有独立的计数器和对每一个进程而言,都有独立的计数器和CPUCPU时间时间操作系统实现分时,任意时刻只有一个进程运行操作系统实现分时,任意时刻只有一个进程运行进程是程序的执行,属于动态,程序是静态的进程的存在是暂时的,程序的存在是永久的进程程序数据PCB(进程控制块,process control block),即进程是一个程序及其数据在处理机上顺序地执行时所发生的活动。一个程序可以对应多个进程一个进程可以包含多个程序进程同程序的差别进程同程序的差别一个程序对应两个进程一个进程包括多个程序结构
11、特征 程序段、相关数据段和PCB(进程控制块)进程实体动态性 由创建而产生,由调度而执行,由撤销而消亡 并发性 进程的重要特征,操作系统的重要特征独立性独立运行、独立分配资源、独立接受调度 异步性 按各自独立、不可预知的速度向前推进进程的特征进程的特征进程执行时的间断性,决定了进程可能具有多种状态。运行态:正在占用CPU运行程序阻塞态:等待外部事件发生,无法占用CPU就绪态:可运行,但其他进程正在占用CPU进程的三种基本状态进程的三种基本状态运行态运行态阻塞态阻塞态就绪态就绪态进程就绪,可以运行状态转换:进程等待外部事件,阻塞OS决定由哪个进程占用CPU,进程调度?l运行态变为就绪态l 强制终
12、止某进程的运行(系统原因)l运行态变为阻塞态l 运行进程等待外部事件发生(自身原因)l阻塞态变为就绪态l 外部事件已经发生,可准备运行l就绪态变为运行态l 停止其他进程运行后,运行该进程占用CPUl问题1:为什么不能从阻塞态变为运行态呢?l问题2:为什么不能从就绪态变为阻塞态呢?l答案:l三种状态的变换体现了OS的资源管理作用l进程的核心思想在于运行CPU资源的分配新(New)状态:是一个进程刚刚建立,但还未将它送入就绪队列时的状态。终止(Terminated)状态:一个进程已经正常结束或异常结束,OS已将它从就绪队列中移出,但尚未将它撤消时的状态。挂起状态(暂停执行或不接受调度)终端用户的请
13、求 父进程请求 负荷调节的需要(实时系统)操作系统的需要进程的复杂状态进程的复杂状态是一个进程刚是一个进程刚刚建立,但还刚建立,但还未将它送入就未将它送入就绪队列时的状绪队列时的状态态一个进程已经正常结束一个进程已经正常结束或异常结束,或异常结束,OS已将已将它从就绪队列中移出,它从就绪队列中移出,但尚未将它撤消但尚未将它撤消活动活动挂起挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起 请在并发运行示意图中标识程序A、B的状态课堂讨论课堂讨论l 重要的术语 Cocurrency&Parallel&MultiProgramming Progra
14、m&Process&Thread Running&Ready&Block&Suspend Dispatch&Activate&Suspend&Wakel 重要的思想 程序与进程:静态和动态的思想 多道程序:并发与互斥的思想 进程管理:杂七杂八好烦哪?l为描述和控制进程的运行,系统为每个进程定义了一个数据结构进程控制块。lPCB(Process Control Block),是进程实体的一部分,记录了操作系统所需的、用于描述进程当前状况以及控制进程运行的全部信息。lOS是根据PCB来对并发执行的进程进行控制和管理的。l进程控制块是进程存在的惟一标志。当系统创建一个进程时,必须为它设置一个 PCB
15、,然后根据PCB的信息对进程实施控制管理,进程任务完成时,系统收回它的PCB,进程也随之消亡。2.1.5 2.1.5 进程控制块进程控制块l进程标识信息:PID,PPIDl用于惟一地标识一个进程。一个进程通常有两种标识符:1)内部标识符,数字标识符;2)外部标识符,它由创建者提供,描述进程的家族关系。l处理器状态信息:PC,PSW,堆栈指针、寄存器l进程调度信息:与进程调度和进程对换有关的信息,包括:进程状态、进程优先级、进程调度所需的其它信息、事件l进程控制信息:程序和数据的地址、进程同步和通信机制、资源清单、链接指针进程控制块中的信息进程控制块中的信息思考:PCB是进程存在的唯一标志 为什
16、么?因因为为PCB PCB 1 1、包包含含了了进进程程的的描描述述信信息息和和控控制制信信息息,2 2、是是进进程程的的动动态态特特征征的的集集中中反反映映,3 3、系系统统根根据据PCBPCB而而感感知知某某一一进进程程的的存存在在,所所以以PCBPCB是是进进程程存存在在的的唯唯一一标标志志。(只只有有在在多多任任务务即即多多道道批处理系统中,才可能建立批处理系统中,才可能建立PCBPCB结构,该系统才具有进程活动结构,该系统才具有进程活动)进程控制块的组织方式进程控制块的组织方式链接方式系统中可能拥有数十个、数百个乃至数千个PCB,如何组织?进程控制块的组织方式进程控制块的组织方式索引
17、方式进程的基本概念 进程控制 进程同步 经典进程的同步问题 进程通信 线程 第二章第二章 进程管理进程管理进程控制是指:进程的创建、撤消,进程状态转换的控制进程控制由进程控制原语、系统调用实现的进程控制进程控制为了对进程控制,系统中必须设置一个机构,它具有创建撤消以及进程通讯和资源管理等功能,这样结构称为OS的内核(kernel)。内核本身并非一个进程,而是硬件的首次延伸,即它是加到硬件上的第一层软件。内核是通过执行各种原语操作来实现各种控制和管理功能的。原语是机器指令的延伸,是用若干条机器指令构成的,用以完原语是机器指令的延伸,是用若干条机器指令构成的,用以完成特定功能的一段程序。为保证操作
18、的正确性,成特定功能的一段程序。为保证操作的正确性,原语在执行期原语在执行期间是不可分割的。间是不可分割的。(1)(1)创建进程原语创建进程原语 (2)(2)撤消进程原语撤消进程原语 (3)(3)挂起进程原语挂起进程原语 (4)(4)解挂进程原语解挂进程原语(5)(5)阻塞进程原语阻塞进程原语(6)(6)唤醒进程原语唤醒进程原语(7)(7)调度进程运行原语调度进程运行原语(8)(8)改变优先级原语改变优先级原语2.2.1 2.2.1 进程的创建进程的创建l进程图(Process Graph):描述一个进程家族关系的有向树。l结点表示进程l有向边表示进程之间的父子关系l根表示进程家族的祖先l子进
19、程可以继承父进程所拥有的资源引起创建进程的事件(1)用户登录(分时系统)(2)作业调度(批处理系统)(3)提供服务(打印进程)(4)应用请求 系统内核创建进程系统内核创建进程应用程序创建进程应用程序创建进程进程的创建步骤(Creation of Process)调用进程创建原语Create()(1)申请空白PCB (2)为新进程分配资源(内存等)(3)初始化进程控制块 (4)将新进程插入就绪队列 程程序序中中的的第第1 1语语句句是是调调用用查查找找进进程程名名过过程程“Get Get Internal Internal Name Name”,参参数数为为进进程程外外部部名名n n。该该过过程
20、程查查找找PCBPCB集集合合,如如已已有有此此同同样样外外部部名名进进程程则则返返回回出出错错消消息息,否否则则返返回回一一个个空空闲闲的的PCBPCB内部标识号内部标识号i i。第第2 2语语句句是是把把进进程程外外部部名名n n登登记记到到第第i i个个PCBPCB的的相相应应外外部部名名表表目目中。中。语句语句3 3是往是往PCBPCB中登记优先数。中登记优先数。语语句句4 4登登记记现现场场状状态态初初始始值值 S0S0到到 相相 应应 的的 现现 场场 保保 留留 区区 中中 或或CpustateCpustate中。中。procedure Create(n,Sprocedure C
21、reate(n,S0 0,k,k0 0,M,M0 0,R,R0 0)beginbegin/请求分配请求分配PCBPCB空间空间 i:=Get Internal Name(n);i:=Get Internal Name(n);/初始化初始化PCB PCB Id(i):=n;Id(i):=n;Priority(i):=kPriority(i):=k0 0;Cpustate(i):=SCpustate(i):=S0 0;Main Store(i):=MMain Store(i):=M0 0;Resources(i):=RResources(i):=R0 0;Status(i):=Status(i):
22、=ReadysReadys Parent(i):=CALLERParent(i):=CALLER/插入就绪队列插入就绪队列Insert(RL,i);Insert(RL,i);endend建立进程原语的工作大致描述为:建立进程原语的工作大致描述为:,分分别别记记入入主主存存和和资资源源的的初初始始占占有有情情况况,这这是是由由父父进进程程将将自自己己的的一一部部分分资资源源分分给给子子进进程的。程的。是是把把进进程程初初始始状状态态置置为为“挂起就绪挂起就绪”。语语句句 中中CALLERCALLER代代表表调调用用本本过过程程的的父父进进程程之之内内部部标标识识号号,将将它它记记入入子子进进程程
23、PCBPCB的的父父进进程程名名这这一一栏。栏。语语句句也也是是调调用用插插入入过过程程InsertInsert,其其中中RLRL表表示示就就绪绪队队列列,即即把把进程进程i i插入就绪队列。插入就绪队列。procedure Create(n,Sprocedure Create(n,S0 0,k,k0 0,M,M0 0,R,R0 0)beginbegin/请求分配请求分配PCBPCB空间空间 i:=Get Internal Name(n);i:=Get Internal Name(n);/初始化初始化PCB PCB Id(i):=n;Id(i):=n;Priority(i):=kPriorit
24、y(i):=k0 0;Cpustate(i):=SCpustate(i):=S0 0;Main Store(i):=MMain Store(i):=M0 0;Resources(i):=RResources(i):=R0 0;Status(i):=Status(i):=ReadysReadys Parent(i):=CALLERParent(i):=CALLER/插入就绪队列插入就绪队列Insert(RL,i);Insert(RL,i);endend引起进程终止(Termination of Process)的事件l 正常结束l 异常结束l 越界错误、保护错、非法指令、特权指令错、运行超时、等
25、待超时、算术运算错、I/O故障l 外界干预l操作员或操作系统干预(如死锁)、父进程请求、父进程中止 2.2.2 2.2.2 进程的终止进程的终止进程的终止过程进程的终止过程l 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态l 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度l 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程l 将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统l 将被终止进程(它的PCB)从所在队列(或链表)中移出l引起进程阻塞与唤醒的事件l请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 教学 02
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。