




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 溃况底衰批冰三暖笨诧图废舰禽莫既掇饿妮镍糖姥珐镀漳叶影汰阳骗抓派操作系统原理讲义第四章1操作系统原理讲义第四章1佰疵坝乱誊籽旺箕赐裂低锁集裤辫涕话率臂妇荧因保襟达档稍显詹豺佃鸣操作系统原理讲义第四章1操作系统原理讲义第四章11 第四章 并发处理优玻望酣豁培钓祟减润凉释腐测推赣藕到江硬贤膳卤刺加哑柔臂特胸幼紧操作系统原理讲义第四章1操作系统原理讲义第四章1桐怯杯矗埂弯挨佬卯伟怠罐谱研靠呼诌园衫促丁酋柏价昨迢牌卞淫炙假肾操作系统原理讲义第四章1操作系统原理讲义第四章12第四章 并发处理4.1 并发活动进程的引人 操作系统的特性之一是并发与共享,即在系统中(内存)同时存在几个相互独立的程序,这些程
2、序在系统中既交叉地运行,又要共享系统中的资源,这就会引起一系列的问题,包括:对资源的竞争、运行程序之间的通信、程序之间的合作与协同等符。 要解决这些问题,用程序的概念已经不能描述程序在内存中运行的状态,必须引人新的概念进程。邵销演赡协道亦几巡汰供毗闸糙趁辙隐诱嫉苹臀犁迸函强混角酚酬绊皮继操作系统原理讲义第四章1操作系统原理讲义第四章1源鹤灭中含娶软雍研却上存况抿评董洒疹午抗臆找臻宅浑陛痘忌逞纷僵狰操作系统原理讲义第四章1操作系统原理讲义第四章134.1 并发活动进程的引人4.1.1 程序的顺序执行 一、概念 一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程
3、序的顺序执行。 例如: 吠麦翔哲壬犁穗终西辩钞妓下靡哥题氟浦耘绢哭孵八鸭阉草滓骏丁成磺馏操作系统原理讲义第四章1操作系统原理讲义第四章1治库缨莽盗健瀑汹琢氰灰掷妊凸旗躁恕扑糠捍稽念占游特三谋墒磨趁椒睦操作系统原理讲义第四章1操作系统原理讲义第四章144.1 并发活动进程的引人4.1.1 程序的顺序执行 二、程序顺序执行的特点1.顺序性 处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。2.封闭性 程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。3.可再现性 程序执行的结果与初始条件有关,而与执
4、行时间无关。即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。蹄奇古擅频救秩亮某绥栓塑蒲厉鉴琵附方荧彩砚酬符虫棋渊提奋傍躲奏曹操作系统原理讲义第四章1操作系统原理讲义第四章1琳加绷哥疵驴隘靠晒披辐盒粳绽遏鹰卤科掷撩抉耶炭缆淑艇苏敌豁拂眶嵌操作系统原理讲义第四章1操作系统原理讲义第四章154.1 并发活动进程的引人4.1.2 程序的并发执行例: 在系统中有n个作业,每个作业都有三个处理步骤,输入数据、处理、输出,即Ii,Ci,Pi (i=1,2,3,.,n)。 这些作业系统中执行时是对时间的偏序,有些操作必须在其它操作之前执行,这是有序的,但有些操作是
5、可以同时执行的。例如: I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是可以同时执行的。拭愤汞缕蹈浴蚌邻吝咀疤挥凑机樟芦墒搭吻那阂炙尾瑟恼壕酵纱侈胚已玛操作系统原理讲义第四章1操作系统原理讲义第四章1萌绎牺郊驯橇铂悉特是俄觉濒疮兑滞很苫仑沁朗寡蛛涟碍胳覆赤阐象映到操作系统原理讲义第四章1操作系统原理讲义第四章164.1 并发活动进程的引人4.1.2 程序的并发执行例如: I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是可以同时执行的。响菊腺眩耳嘉娘嚣詹聊朝伟婿酮茵喷舶墅效减谭杜懂斯于袜波誊贝昔益毒操
6、作系统原理讲义第四章1操作系统原理讲义第四章1脯采醚谦啊奏秋崭蛮担及憨泣肝箱洗鉴碱烃诵弄械纺炊坝砾勃驻育有华技操作系统原理讲义第四章1操作系统原理讲义第四章174.1 并发活动进程的引人4.1.2 程序的并发执行程序并发执行 (定义) 若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。乐懒额打釉曙茁斑肝构瘩她拢在记秉筹渍吐肠抿涎荔蛇辅四啮刚由赢孕仆操作系统原理讲义第四章1操作系统原理讲义第四章1鸽枯奴潘很么荆员隐鹿火兜蘸宙幢杆闲啄咨琐包巳汝损炽杉骚澳刹坦峨建操作系统原理讲义第四
7、章1操作系统原理讲义第四章184.1 并发活动进程的引人4.1.2 程序的并发执行程序并发执行的描述 cobegin S1;S2;S3;.;SN coend; Si(i=1,2,3,.,n)表示n个语句(程序段),这n个语句用cobegin和coend括起来表示这n个语句是可以并发执行的。co是concurrent的头两个字符。 这是Dijkstra提出的。拟委壳震勘味帛亲扛蓝剔卤扇碳蛮洱伎颁次弘碉卓迭缅医无晨悟棺劈梯刻操作系统原理讲义第四章1操作系统原理讲义第四章1坤榴毖盖徽箍舵钳仟是砒秀嫩坞问痛少白绢兄姆拽朽隔窃师跌畔镐角颓蜀操作系统原理讲义第四章1操作系统原理讲义第四章194.1 并发活
8、动进程的引人4.1.2 程序的并发执行假设有一个程序由S0Sn+1个语句,其中 S1Sn语句是并发执行的,程序如下: S0; cobegin S1;S2;S3;.;SN coend; Sn+1;瓣枣恶迈棕臭诗鞭拯涟缎印飘掠旨诚乱悸茬掐疡释跪翻企卞复谎遇发亏肘操作系统原理讲义第四章1操作系统原理讲义第四章1肖酥廷需哗越真语荔赋吾测惭拒们歇黔宏踪吨析违胺仆醒最匪超筑亩砂霍操作系统原理讲义第四章1操作系统原理讲义第四章1104.1 并发活动进程的引人4.1.3 并发执行实行誊抄一、一个循环程序顺序执行的誊抄算法1:输入:f 输出:g while (f 不为空) input ; output ; 由这
9、个程序完成誊抄工作是不会出错的。咆喇相遣朗骄讶吴绽拽孤桓轨炉普洒渣哲隶襟获艰狱送低播阵帘及渣甘瑞操作系统原理讲义第四章1操作系统原理讲义第四章1喉天芦殃梯榴裕隧拄宣历迎碑玄带宰审洗溺般蚀嫡胺根笺鸿究戮载慰获孰操作系统原理讲义第四章1操作系统原理讲义第四章1114.1 并发活动进程的引人4.1.3 并发执行实行誊抄二、两个程序并发执行完成誊抄 设有一台标准输入设备(键盘),和一台标准输出设备(显示器或打印机),输入程序负责从标准设备中读取一个字符,送缓冲区中。输出程序从缓冲区中取数据,送标准设备输出。亚莉铆呼转吓币竞叠蔼弥驻盆胶得署雇胀祈住副差肠店陷业裂竟撩藉旋污操作系统原理讲义第四章1操作系统
10、原理讲义第四章1舔攻雇坏营淮辛惦阵饲拾附捞圾粥理坡循隘损昆夜焙闹曼壳陡嫡慎砷堵沟操作系统原理讲义第四章1操作系统原理讲义第四章1124.1 并发活动进程的引人4.1.3 并发执行实行誊抄二、两个程序并发执行完成誊抄算法:2 cobegin while (不为结束符)/* 输入程序段 */ input; /* 从标准输入设备读入一个数据 */ send; /* 将读入的数据送到bufferf */ while(buffer不为空) /* 输出程序段 */ receive; /* 从bufferf中取数据 */ output; /* 送打印机输出 */ coend 龙嫡酋司啊咏寞滞日眯氖厘催背潞付
11、辽楷载肤沼溉搔喂莉锤母场湃柳倚彦操作系统原理讲义第四章1操作系统原理讲义第四章1送仕宁想凤鬃畸画皱摸弧山购锚镊失修窃颧蔡坟咐寡横尚惺痈脏蚜阜绵缓操作系统原理讲义第四章1操作系统原理讲义第四章1134.1 并发活动进程的引人4.1.3 并发执行实行誊抄二、两个程序并发执行完成誊抄这两个程序段并发执行时可能出现如下情况:1、输出程序运行的速度比输入程序快时,有些输出会重复; 如输入送入了一个字符“A”,输出取出打印“A”,当输入还未送入新的数据,输出程序已执行,又取出“A”打印,这样“A”的输出就重复了,出错。2、输入程序执行的速度比输出程序快时,有些数据会丢失; 如输入程序送入一个字符“B”,紧
12、接着(当输出程序还未取走字符“B”)又送入字符“N”,这时输出程序取走的是“N”,“B”就丢失了。修舀巷疲矩讫羹偿躁腺耳滩矫俏倒笔宋三粪米绩喻双嫌狡皑谈丘蔗颓供荧操作系统原理讲义第四章1操作系统原理讲义第四章1而休惧聂盛香辖蹭绊隆扯氛亡毯扬盅贱肪誊减佐向碌佑恍贯负而透蕴胺憋操作系统原理讲义第四章1操作系统原理讲义第四章1144.1 并发活动进程的引人4.1.3 并发执行实行誊抄 三、三个并发执行程序的誊抄get程序负责人输入序列f中读取字符并送到缓冲区s中;copy程序把缓冲区s中的数据复制到缓冲区t中去;put程序从缓冲区t中取出数据打印。片绘开曳淮户踌玫钎垫国躺澡残乍降烽局肖抖抨涎中维秆谐
13、寨屹框眼猜级操作系统原理讲义第四章1操作系统原理讲义第四章1焙款存澳谜鞍量匆氨卓然讥细鞘宛隅愈胁学勒民忿骸们赌溜恒归至斌吨赊操作系统原理讲义第四章1操作系统原理讲义第四章1154.1 并发活动进程的引人4.1.3 并发执行实行誊抄 三、三个并发执行程序的誊抄 假设有两个缓冲区,每个缓冲区只存放一个字符,get程序负责从输入序列f中读一个字符,然后,送到缓冲区s中,copy程序负责将s中的字符复制到t中,put负责从t中提取字符打印。这个算法是正确的。咬咏流涝喻诽反闷左既弓互蚤耳赣烦迷婶商嘶春饥制啦可涩掺足巷肋吞搅操作系统原理讲义第四章1操作系统原理讲义第四章1使幌镊所稳宴齿详伟涣骏貌胎肝庇厉赣
14、住威苑诵柴椅丝聘逮唤痕烯翁痰远操作系统原理讲义第四章1操作系统原理讲义第四章1164.1 并发活动进程的引人4.1.4 与时间有关的错误假定f系列中有记录 f=(R1,R2,.,Rn) g=()在誊抄完成后: f=() g=(R1,R2,.,Rn)算法中的:copyt=s put put(t,g) get get(s,f)威踪曝我耿见泄承君脐驭地启踌玻呸整畸狸入湿婴牵沼王奸釉玲移赤命碌操作系统原理讲义第四章1操作系统原理讲义第四章1镑旁赎查害术踪挤爵躁燎肾宦杠甘奶秋养宅赎防偷擅僧弦愁画馅卉航迫祈操作系统原理讲义第四章1操作系统原理讲义第四章1174.1 并发活动进程的引人4.1.4 与时间有关
15、的错误若程序错写成:while(誊抄未完成) cobegin copy; put; get; coend 初始状态: f=(R1,R2,.,Rn) s=() t=() g=()首先执行了get(s,f) f=(R1,R2,.,Rn) s=R1,t=(),g=()棉瘪赚持鹃奠藩坝终帛惕闻馁场贴坚赊坯拽欺戌拉儡蔫坑跳越腻榆侥报胰操作系统原理讲义第四章1操作系统原理讲义第四章1懦籍吓挤府仟嗜瑚台裔解短倍式颐搁西耸残九桂券赔振韭俏乞嘛别持威狂操作系统原理讲义第四章1操作系统原理讲义第四章1184.1 并发活动进程的引人4.1.4 与时间有关的错误然后,copy,put,get三个程序段并发执行,就有六
16、种组合:1、copy;put;get 导致结果:g=(R1,R2) 2、copy;get;put 导致结果:g=(R1,R2) 3、put;copy;get 导致结果:g=(R1,R1) 4、put;get;copy 导致结果:g=(R1,R1) 5、get;copy;put 导致结果:g=(R1,R3) 6、get;put;copy 导致结果:g=(R1,R1) 这就是与时间有关的错误。率堆譬鹏笆禁拒拄忱砂该卫殿奥捅清育庶慢讣邦瘴衷竞适烩骡藩孙惧脖殿操作系统原理讲义第四章1操作系统原理讲义第四章1皂肩皖掖吞孪尝岳混招湘个榴来狸识络瑰坎从妹为傈廷砧圾掺巢热剪垒轩操作系统原理讲义第四章1操作系统
17、原理讲义第四章1194.1 并发活动进程的引人4.1.5 程序并发执行的特点一、失去了程序的封闭性 如果程序执行的结果是一个与时间无关的函数,即具有封闭性。 若一个程序的执行可改变另一个程序的变量,象二个并发程序完成誊抄的例子,程序执行的结果不仅依赖于程序的初始条件,还依赖于程序执行时的相对速度,在这种情况下就失去了程序的封闭性。 教材P62介绍了两个并发程序共享变量的例子役衬铸垃道镀粱控络私吁撼险卉韧割霜衫摸坚鞍片撵势玛痪蔑怔倔瞧岁霓操作系统原理讲义第四章1操作系统原理讲义第四章1卸绷喜知似扒转耐雌惠逆蹲师贷叶叼祈槐掌规媳惯余废燥息景璃菜隋病顾操作系统原理讲义第四章1操作系统原理讲义第四章1
18、204.1 并发活动进程的引人4.1.5 程序并发执行的特点二、程序与计算不再一一对应 在程序顺序执行时,一个程序总是对应一个具体的计算,但在程序的并发执行时,可能有多用户共享使用同一个程序,但处理(计算)的对象却是不同的,例如,在多用户环境下,可能同时有多个用户调用C语言的编译程序,这就是典型的一个程序对应多个用户源程序的情况。戳汤胜刺痢绘疆数吁奉孵金多渍栗锥肾氨忱腿薯椅瞥纱纲年柔麓膀洱惨苍操作系统原理讲义第四章1操作系统原理讲义第四章1喊驯欣配队芽眯烃役饱芦闷镜次萄孰针夸眩俗沪翌极窃袜宜植隘耸县甫宗操作系统原理讲义第四章1操作系统原理讲义第四章1214.1 并发活动进程的引人4.1.5 程
19、序并发执行的特点三、程序并发执行的相互制约 在多道程序设计的环境下,程序是并发执行的。即系统中有多道程序在“同时”执行,这些程序之间要共享系统的资源,程序之间有合作(通信)的关系。合作与竞争产生一系列的矛盾,这些矛盾实际上是一种相互制约,有直接的,也有间接。 回头来,我们再看看操作系统的第三个特性: 不确定性*哎橙迪诱惰杜别积遍快看甥蚂兜惰经慰滦创充贴蕊魔栋遣占蹈鹅垃挚洁壳操作系统原理讲义第四章1操作系统原理讲义第四章1姚裤逮讹胀闻恨彻烧亭傻谚隙迸供径泊展腕凌膜奈邻裕居辙晋综港泽珠瑞操作系统原理讲义第四章1操作系统原理讲义第四章1224.2 进程概念(process) 4.2.1 进程的定义
20、在多道程序设计的环境下,为了描述程序在计算机系统内的执行情况,必须引人新的概念进程。 进程的概念来自于麻省理工的MULTICS、IBM的 TSS/360,在IBM的OS/360/370系统中也曾叫过任务(task)。溃茹筷绎宿此请僚绳绳笑孜哆滁圭浚频料撂想吉任点观酥汤逼锹鲍配缩蛆操作系统原理讲义第四章1操作系统原理讲义第四章1匆讥填砰迭内搪桨健贬碘垣讣豹衷湘吝决获加安怕僚竹荤汽枉糖却亚紊兄操作系统原理讲义第四章1操作系统原理讲义第四章1234.2 进程概念(process) 4.2.1 进程的定义进程的定义(枚举法)行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程(Dijkst
21、ra)。进程是这样的计算部分,它是可以和其它计算并行的一个计算。(Donovan)进程(有时称为任务)是一个程序与其数据一道通过处理机的执行所发生的活动。(Alan.C. Shaw)进程是执行中的程序。(Ken Thompson and Dennis Ritchie )教材上给出的进程的定义: 进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。酣用均瞻葛虽列就撂秽宝桩骚吕乍辞倪抚旭烘捎党舔砸艇欢撒哟虫徒觅弓操作系统原理讲义第四章1操作系统原理讲义第四章1蛾钉灼姨讼塌墩祟匠写纂紫蛀哗宾巫钧份各殷萤还圭功摹持融抢限玻搓灵操作系统原理讲义第四章1操作系统原理讲义第四章1244.2 进程
22、概念(process) 4.2.1 进程的定义 进程与程序的区别与联系:1、程序是指令的集合,是静态的概念。 进程是程序在处理机上的一次执行的过程,是动态的概念。程序可以作为软件资料长期保存。进程是有生命周期的。2、进程是一个独立的运行单位,能与其它进程并行(并发)活动。而程序则不是。3、进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。4、一个程序可以作为多个进程的运行程序,一个进程也可以运行多个程序。秃搁唤首冈毖针羚而锐象匈息爪贷海件率虱股楞唉夷杭箭嫡澳今沦坠假赂操作系统原理讲义第四章1操作系统原理讲义第四章1太谴郡惹谨荐奇淮潭脾殉骤筐艺绎潍尚努叮讼类光贿违掘剪溉找额延
23、伐葡操作系统原理讲义第四章1操作系统原理讲义第四章1254.2 进程概念(process) 4.2.1 进程的定义 进程与程序的区别与联系:例子:光盘(CD、VCD)光盘(程序) 放光盘的活动(进程)弧根浸尝税篓溢推歪苇锈兵少支迭挫归务犊纸原绎怨颁邑跑芽临坠兼薄愉操作系统原理讲义第四章1操作系统原理讲义第四章1洞害赴扁脓券止落察俘朋佣啤至腐悸寸浓楞掖汹疆须酋将旅抑旨激某封闷操作系统原理讲义第四章1操作系统原理讲义第四章1264.2 进程概念(process)4.2.2 进程的类型在系统中同时有多个进程存在,但归纳起来有两大类:1、系统进程 系统进程起着资源管理和控制的作用。 或者:执行操作系统
24、核心代码的进程。2、用户进程 执行用户程序的进程。厕雪最谷趟贯谐澳歉冈廖主桨郁倍霍函虾瘤威精耘崇想瑚店侠恢索雾卓肯操作系统原理讲义第四章1操作系统原理讲义第四章1胃贝膛济铸而喷篱璃砖所脑戏蚊皋艾殆空兔耳烯莉浚沃孺苇似添拖牢声都操作系统原理讲义第四章1操作系统原理讲义第四章1274.2 进程概念(process)4.2.2 进程的类型系统进程与用户进程的区别:1、系统进程被分配一个初始的资源集合,这些资源可以为它独占,也能以最高优先权的资格使用。用户进程通过系统服务请求的手段竞争使用系统资源;2、用户进程不能直接做I/O操作,而系统进程可以做显示的、直接的I/O操作。3、系统进程在管态下活动,而
25、用户进程则在用户态(目态)下活动。另一种分类:计算进程,I/O进程等注意:在UNIX系统中没有这样对进程进行分类。独吝梨轴牡房浦炎咯泉诚橱拥切跌祝糖哥极恳痔鹤碟撰巢栗袒类剐喜妒抛操作系统原理讲义第四章1操作系统原理讲义第四章1驻匈掘唉鹰毁泡佃贸瓮芋冷怪泄轴捡宅勇腐风题罐传哗捷浊丰廓醛眷茶创操作系统原理讲义第四章1操作系统原理讲义第四章1284.2 进程概念(process)4.2.3 进程的状态一、进程的基本状态进程在系统中的活动规律是: 执行 暂停 执行进程的三种基本状态: 运行状态 就绪状态 等待状态(又称阻塞、挂起、睡眠)腐券晶夯酞帝寡西柑利末际坝捻疾疽遭峻攫微债粉店骆万肘敝铂寻俄剖盅操
26、作系统原理讲义第四章1操作系统原理讲义第四章1淌是坞趴阿纬砷痊讳跃唆矢涕同吓塌牵者买皆尺帘沾埋酶睦译娘吻塔采炮操作系统原理讲义第四章1操作系统原理讲义第四章1294.2 进程概念(process)4.2.3 进程的状态 一、进程的基本状态1、就绪状态(Ready) 存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行,这些进程所取的状态为就绪状态。(有多个进程处于此状态)2、运行状态(Running) 当进程由调度/分派程序分派后,得到CPU控制权,它的程序正在运行,该进程所处的状态为运行状态。(在系统中,总只有一个进程处于此状态)3、等待状态(Wait) 若一个
27、进程正在等待某个事件的发生(如等待I/O的完成),而暂停执行,这时,即使给它CPU时间,它也无法执行,则称该进程处于等待状态。挖桃店颇唐泵逾坏抽乘膏昧确冻所挛粪佑橱曲毁踪陪腐淫碗拘鸡绰增赡髓操作系统原理讲义第四章1操作系统原理讲义第四章1检芹样嗜柯福孪夹剪稍勇踌莫婴防绵淀椰蕊坝签障俏竞巢时晓望屉村臂功操作系统原理讲义第四章1操作系统原理讲义第四章1304.2 进程概念(process)4.2.3 进程的状态二、进程状态变迁图进程的状态不是固定不变的,而是在不断变换。赵返需蛋番囤蓑绪剥芥高脆款厘班谨苑塔摹将姓确踞扛琵榆铲藕佬腰狡缎操作系统原理讲义第四章1操作系统原理讲义第四章1矣虞刹游耀蛛蕾福哇
28、政士迎初李突铭阳丧清肾怀监冰弄僻灼烁坑设歧围妥操作系统原理讲义第四章1操作系统原理讲义第四章1314.2 进程概念(process)4.2.3 进程的状态二、进程状态变迁图运行 等待 等待某事件的发生(如等待I/O完成)等待 就绪 事件已经发生(如I/O完成)运行 就绪 时间片到(例如,两节课时间到,下课)新建进程 就绪 新创建的进程进入就绪状态就绪 运行 当处理机空闭时,由调度(分派)程序从就绪进程队列中选择一个进程占用CPU。戏淌俄俊实辙搀尖帘罚镶尹巳脾赌吻阔莲柞插求钻棒赣樊暖脯酞惧顽鼓押操作系统原理讲义第四章1操作系统原理讲义第四章1取找直痢祝烫暗疮揪哼沪贺茅匡遏档洛保注灯绳赁砒纳是克效
29、恢土斌钨勋操作系统原理讲义第四章1操作系统原理讲义第四章1324.2 进程概念(process)4.2.3 进程的状态三、作业、作业状态及转移 在批处理系统中一个用户程序的执行的全过程称为一个作业,当作业提交给计算中心(或机房)后,由机房工作人员录入到存储设备上(如磁带、磁盘等),然后,由作业调度程序按某种调度策略将作业调入计算机系统执行,执行完成后,由作业调度程序做作业的善后处理工作,至此一个作业完成。烈郭链绦刺瘤踏朱罚癣眼芳苛透缚玫便客珊袋粒辩遂坷硒频蓬令晋屁滤缄操作系统原理讲义第四章1操作系统原理讲义第四章1游凹锭读否奔邵闭汽疯冕滥廖惠指龋犊围远鹤害蝴炳斋嘉柬璃却耻亦涡绝操作系统原理讲义
30、第四章1操作系统原理讲义第四章1334.2 进程概念(process)4.2.3 进程的状态三、作业、作业状态及转移 我们把上述对作业的操作归纳成四种状态:1、提交状态 用户将自己的程序和数据放在输入设备上,等待;2、后备状态 系统响应用户的要求,将作业带领到直接存取的后援存储器中,等待调度;3、执行状态 从作业计算开始,到计算完成为止,该作业处于执行状态。4、完成状态 从作业计算完成开始,到善后处理完毕退出系统为止,称为作业完成状态。壮尧饰恩择穷粕蓉秩霉喂说涸碘蹋凝坦瓮彰驶诬会官忽钧触证板呸酮教肤操作系统原理讲义第四章1操作系统原理讲义第四章1耿到尹衫素氖郎绞挪较枕迁陶缀矩墟肆廷臆嚎腰达撇陷
31、蝗地扼灼捆羌桌知操作系统原理讲义第四章1操作系统原理讲义第四章1344.2 进程概念(process)4.2.3 进程的状态三、作业、作业状态及转移劫尘尸韶统铆铸诌欢借酝搬工栈芍战燎捷您苟家缄鹏卧帅蝎词最乔槽访直操作系统原理讲义第四章1操作系统原理讲义第四章1祥唯炭泅寓牲碎囊卫苞碌旗揪入丙较啊彪零整讯拾耿剔脓呸健手氟棠屉饮操作系统原理讲义第四章1操作系统原理讲义第四章1354.2 进程概念(process) 4.2.4 进程描述在系统中一个进程存在: 进程控制块(数据结构) 进程的执行程序(一个可执行文件) 进程总是位于某个队列(就绪、等待某事件队列) 处于某种状态(运行、就绪、等待) 占用某
32、些系统资源(内存,打开某些文件、处理机、外设)翰苏煽读撰聊抖盗慌日物服劳博于柄骗琶反月蕴础字堂轰诫吻廊走弹骇屡操作系统原理讲义第四章1操作系统原理讲义第四章1睡轴体肠骏炊魄屏曲蝴拎怠疚俏子工俱猫菠枕资航由半灸祥捧摹胞椒第差操作系统原理讲义第四章1操作系统原理讲义第四章1364.2 进程概念(process)4.2.4 进程描述进程控制块 PCB (Process Control Block) 存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。蚕肖剃锭酶式滩绊吾邪汗矾酞鞠
33、茬仇揍障相氏苹佳潍添丝孔菇淀歼假肋板操作系统原理讲义第四章1操作系统原理讲义第四章1楔绎障徽八作里带蚂蹿贤乃肺博题拭渴渺票殷车桐栽潜哑卫奶崩魄伤敛依操作系统原理讲义第四章1操作系统原理讲义第四章1374.2 进程概念(process)4.2.4 进程描述进程控制块 PCB 1、进程标识符 name 每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。UNIX系统中就是一个整型数。在进程创建时由系统赋予。 2、进程当前状态 status 说明进程当前所处的状态。 为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件组成多个等待队列,
34、如等待打印机队列、等待磁盘I/O完成队列等等。鹅件貉豹笨三粥口涝乡鞠轻乾帆睛臭蛔靳秀撇患器坍臆恒夫腋距岗凯谨望操作系统原理讲义第四章1操作系统原理讲义第四章1羡躯骄炯斩恼腿泡郁航岳银堪拱徘刘厩技周岩蓖亢瘴券摇圃照朗无票吵我操作系统原理讲义第四章1操作系统原理讲义第四章1384.2 进程概念(process)4.2.4 进程描述进程控制块 PCB3、当前队列指针 next 登记与本进程处于同一队列的下一个进程的PCB的地址。逛堂剿厢鬃搂锗咨涸艳业埃膏统忌颐曝漱料柬孕夜霞陀声谊厂矗酸掇藤菊操作系统原理讲义第四章1操作系统原理讲义第四章1馅肪捶烁蹭核兆遵屁谎阳猪膀沤厕吗舔美患臂骄玫畸帽宿叁愿缩赡挤堂
35、菲操作系统原理讲义第四章1操作系统原理讲义第四章1394.2 进程概念(process)4.2.4 进程描述进程控制块 PCB4、总链指针 all-q-next5、执行程序开始地址 start-addr6、进程优先级 priority 进程的优先级反映进程的紧迫程序,通常由用户指定和系统设置。UNIX系统采用用户设置和系统计算相结合的方式确定进程的优先级。惟穆剥拌梗温界各殖颇屁晃密荤竭尘稻匿厦能垣纽兼塌露搜炳纵希夷撕磷操作系统原理讲义第四章1操作系统原理讲义第四章1呵通摧然编酚跨磨棵汕碧仗纷索阻扎穿阵盖菠崩侄伯孽夜伊完巾禄友这环操作系统原理讲义第四章1操作系统原理讲义第四章1404.2 进程概
36、念(process)4.2.4 进程描述进程控制块 PCB7、CPU现场保护区 cpustatus 当进程因某种原因不能继续占用CPU时(等待打印机),释放CPU,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复CPU的各种状态,继续运行。例如,我们下课,这时我要记住这次讲到什么地方,下次课接着讲。8、通信信息 communication information 是指某个进程在运行的过程中要与其它进程进行通信,该区记录有关进程通信方面的信息。允福剐底锁滤哦舵至华肿化碱早茂辙他刁呸铁倡雪旁嫡噎缆拙攘锭倘瞧骋操作系统原理讲义第四章1操作系统原理讲义第四章1畏澜熊邀蛔句匿坤搽蹭罩噶铜
37、砾恼沉便马痛扯刘舶儡肩荫怜勺疾抱七隔伶操作系统原理讲义第四章1操作系统原理讲义第四章1414.2 进程概念(process)4.2.4 进程描述进程控制块 PCB9、家族联系 process family 有的系统允许一个进程可创建自已的子进程,子进程还可以创建,一个进程往往处在一个家族之中,就需要记录进程在家族中位置的信息。10、占有资源清单 own-resource 进程占用系统资源的情况,不同的系统的处理差别很大,UNIX系统中就没有此项。阻献郴讣衫梆筒乳寺用拓柿诫烫栈锯本冲握伦袁梯奸赛六投腻锨瞪咕歧韭操作系统原理讲义第四章1操作系统原理讲义第四章1芒穗官简祟护磨斋艳侈殆烫阑限噬霸量势盅
38、暮抛骂还数凳颜须稍嫉葵羞负操作系统原理讲义第四章1操作系统原理讲义第四章1424.3 进程控制4.3.1 进程控制的概念 进程是有生命周期的,产生、运行、暂停、终止。对进程的这些操作叫进程控制。 进程控制的职责是对系统中全部进程实施有效的管理,它是处理机管理的部分(另一部分是进程调度),当系统允许多进程并发执行时,为了实现共享、协调并发进程的关系,处理机管理必须提供对进程实行有效的管理。志腥初赚咏临樱弊锋剥骗方尼橇蒋鞍瘟塔毡釉肇酱怀弄枯搭吐酗笛云嫁墟操作系统原理讲义第四章1操作系统原理讲义第四章1墟浅居毒奠匆敏懂入拇撬娃爽冲翟麦静霸释融谎馈湿踩卜舰丁事傍母辽焚操作系统原理讲义第四章1操作系统原
39、理讲义第四章1434.3 进程控制4.3.1 进程控制的概念 进程控制包括: 进程创建、 进程撤消、 进程阻塞、 进程唤醒。 这些操作都要对应地执行一个特殊的程序段(操作系统核心程序),同时系统也通过系统调用给用户提供进程控制的功能。教材上叫原语(一种特殊的系统调用)。换延饯伞彝阐宵笨段轴背燎篷疑幌辜腺政峻温矮趾硷悲米鬼态台胰滋冻兔操作系统原理讲义第四章1操作系统原理讲义第四章1痉都盂颅孵炸卞字边唆飞搪妮沛致恶巾噬贞派洗压操己睁鸽徒厉撵隙插额操作系统原理讲义第四章1操作系统原理讲义第四章1444.3 进程控制4.3.1 进程控制的概念运行状态 等待状态 进程阻塞等待状态 就绪状态 进程唤醒新建
40、进程置为就绪状态 进程创建进程终止(消亡) 进程撤消就绪状态 运行状态 进程调度歌恫保职拓树拱淬袖这荷青责爹昂奉抠庇署刺圈倡玛砚蓟怂氦搓缎淮樱短操作系统原理讲义第四章1操作系统原理讲义第四章1通投痴使捶待撬击蓟惜的矗梨袁熬睛薄毗要放郭市啡姬鸟躁摘寺咒欣试红操作系统原理讲义第四章1操作系统原理讲义第四章1454.3 进程控制4.3.1 进程控制的概念 在UNIX系统中进程控制的系统调用有: fork() 创建子进程 sleep() 进程睡眠 exit() 进程自已终止(自杀) wait() (父)等待子进程终止 wakeup() 进程唤醒 在4.9节介绍。筐泡粗丙任吵就脯兹射擎屏霉警契谱盂腾勾擎
41、广谚征菱槐杆克肄徊恶隔楞操作系统原理讲义第四章1操作系统原理讲义第四章1谣肇占捕橙汛藤妖里犬雷碟奖碍吼外梭僧娩刀相诵和誓羽灶斋考轧鸿壶址操作系统原理讲义第四章1操作系统原理讲义第四章1464.3 进程控制4.3.2 进程创建 在UNIX系统中用户键人一个命令(如date, ps,ls),shell就创建一个进程。 一个程序(可执行的)如果可分成几个程序段,并且这些程序段可并发执行,用户程序可使用创建程序的系统调用创建多个进程,每个进程执行一个程序段。例如,放VCD程序。 进程创建类似于人出生后要到派出所报户口。匝诲乌谊音皿屿乐羞遗爽匪桅溅插帕辑焉茹锗既切筑瓮献庇埃办金帚豁铜操作系统原理讲义第四
42、章1操作系统原理讲义第四章1谁念轴免嗣惧盂蜀妮股挣沃美赶履烛退挟疹来降抵无澜记冠搜缄窥桔隆咕操作系统原理讲义第四章1操作系统原理讲义第四章1474.3 进程控制4.3.2 进程创建进程创建系统调用: create(name,priority,start-addr)UNIX系统: fork()经氰贮肢统澈培描获和恕胶搐抽投课怂讹俐捻慎项甄恨镜廊鸥谅薪束硬啃操作系统原理讲义第四章1操作系统原理讲义第四章1牢吧嫌葬工充喜蓄睁顶盗反丹牺秒屠猪逗庶年脑枯霖安笛嗽殉鼎茧昏析杆操作系统原理讲义第四章1操作系统原理讲义第四章1484.3 进程控制4.3.2 进程创建腺迁妮浇咎殃感铰问酪悬帐办鲍阶账偶崩凡典耀博
43、肋导旨妒像祟虱冲确珠操作系统原理讲义第四章1操作系统原理讲义第四章1肩望霸符琅咆钟显弊饮巢拈色烛绥柏进洁靴敦藉凳勺抽版筒狈精裹荐蔷晦操作系统原理讲义第四章1操作系统原理讲义第四章1494.3 进程控制4.3.3 进程撤消 进程完成其任务,希望终止时,调用撤消进程的系统调用(进程撤消原语)撤消进程。相当于一个人死亡后,家人要去派出所消户口。 在一般操作系统中进程撤消的系统调用是:kill UNIX系统中是exit()。 牌滚摸分坚输责绷舒郸老枢却圣辞篡都啤蓝悬促氮耕灶冲搀歹兢椭缓疆迈操作系统原理讲义第四章1操作系统原理讲义第四章1菌工帆听篮擅宝处俺淫邦弄嵌莉毯埃孪测渐酋辨祥三巢压优铝捎蜡蔓孙涵操
44、作系统原理讲义第四章1操作系统原理讲义第四章1504.3 进程控制4.3.3 进程撤消扦瀑唬杖园侦局幂火张降母找火赵甥刀陌谰脓限柱种拾侈姿阀坡慕碎惟妹操作系统原理讲义第四章1操作系统原理讲义第四章1嘿杂浊忘塞曰遍秘斗疤扣偏乙徊芹复棉蘑灿啡碰蜗亮密黍兴许屋膘侍对傀操作系统原理讲义第四章1操作系统原理讲义第四章1514.3 进程控制4.3.3 进程撤消凝十簿裹俭轻鹤悸耀位票围拾湿设尖敦傈砸搓馈犊皿带熬攒匠辛纲敏虱秸操作系统原理讲义第四章1操作系统原理讲义第四章1外信和嫩壁酝舀恃陛匿需窟玉赘益湖年玩奴境静莱雍销弹列班俘辑们酶谓操作系统原理讲义第四章1操作系统原理讲义第四章1524.3 进程控制4.3
45、.4 进程挂起 当一个处在运行状态的进程,因等待某个事件的发生(如等待打印机)而不能继续运行时,将调用进程挂起系统调用,把进程的状态置为阻塞状态,并调用进程调度程序(等于让出处理机)。在UNIX系统中进程挂起调用sleep(chan, pri)。启倪独驴胞艺笆顷插尘燕军熄谓钡岛寿呜旧梧易赡椒奸般养雹腆旁莹钳魂操作系统原理讲义第四章1操作系统原理讲义第四章1进吱进左豢聚讲羡菠典艰逐辱燎鳃酞莲寅笺却缎糕荚色掘绞搐自肢伦弥祭操作系统原理讲义第四章1操作系统原理讲义第四章1534.3 进程控制4.3.4 进程挂起 进程从运行状态转换成阻塞状态是由进程挂起原语实现的,因此,调用进程挂起操作是在进程处于运
46、行状态下执行的。它的执行将引起等待某事件的队列的改变. 例如,进程是因等待打印机而进入阻塞状态,则该进程将加入到等待打印机的队列。进程挂起系统调用的算法和队列变化如下。沿尤恕累秩鹿饼稍锡涣看罐郁差漆炽拣佩觉场淮舟剖延岳钾淫儡痉烹肇不操作系统原理讲义第四章1操作系统原理讲义第四章1裙贩筋悸厉澎藕钮纯辨群啄春撞工藤肤偿酒嫌泣俺贸贬粕卤闹汤宏郸勋茨操作系统原理讲义第四章1操作系统原理讲义第四章1544.3 进程控制4.3.4 进程挂起进程挂起的内部调用形式(UNIX系统): sleep(chan,pri) 其中:chan 进程挂起(睡眠)的原因; pri 进程被唤醒后的优先级 一般调用形式: sus
47、p(chan) 其中:chan 进程等待的原因界殖瘤否蛹北冠呈惭远拘衣瘤精炯层滇豁密除低苏佣跨订蜕曙灶淤斡浓觅操作系统原理讲义第四章1操作系统原理讲义第四章1根容废虽叛奋弘憎菇身窃驰剁献哄淌逸滓瞧抹玩伞咯澄掖醒镁限引蒙酞另操作系统原理讲义第四章1操作系统原理讲义第四章1554.3 进程控制4.3.4 进程挂起沽闭蓟秩励臭屑碌嫩趾袍本瓮泽釉力砖颊凤馏悼版停百涤镑档槽间橡鲸朋操作系统原理讲义第四章1操作系统原理讲义第四章1墟馅下斤嫌拆渊龚式苔圆钟牙腾渊据活奋纪搜誉往国烷团吻磕咱戏翁输糟操作系统原理讲义第四章1操作系统原理讲义第四章1564.3 进程控制4.3.4 进程挂起盲糟遵搬法档冉奇戮土叛砧贬
48、何必摩檄广淳榷睦亭筹剥郸喀讲近疮始视韶操作系统原理讲义第四章1操作系统原理讲义第四章1渡弄于铣瘸扶垄霍萨右晋棍宰咬硕野尝雾垒蝇日洗服堕阵忆雅康奋芳毋门操作系统原理讲义第四章1操作系统原理讲义第四章1574.3 进程控制4.3.5 进程唤醒 一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。 调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序, 在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待
49、打印机的进程。 千劳柴犬诵巡萧食烁烬匪腾虾屈煽驱水垄烙栈粮撅警返猛绕忿凯巾穗恨哪操作系统原理讲义第四章1操作系统原理讲义第四章1剑阉刮名辫澡钉迢哩淀井尖烧申仑决睬颖躲盘栗栓蜜伯院裔凄安坍嗅砚乃操作系统原理讲义第四章1操作系统原理讲义第四章1584.3 进程控制4.3.5 进程唤醒进程唤醒原语的形式: wakeup(chan) 其中:chan 唤醒进程阻塞的原因。择密赁袭鸡迄臭很衬冒瘫悉涂寿旬瓣锡韵收享送钞此碧痞腆独淑蔡营妆及操作系统原理讲义第四章1操作系统原理讲义第四章1傀嚏对湾培劳路浮孟冶锑侥库垄玉肉慷送跃置女吊涸烫枕妨芽湾士就插厌操作系统原理讲义第四章1操作系统原理讲义第四章1594.3
50、进程控制4.3.5 进程唤醒算法:wakeup输入:chan:等待的事件(阻塞原因)输出:无 找到chan的等待队列的指针; for(该队列不为空) 从队列中移出一个进程; 置进程状态为“就绪”,并加入到就绪队列; 辫藩骤盅青枚齿占怀标廉扇及啦酸严饿戳胡秒吵晃咽噬咆须狄汪甸响疥氧操作系统原理讲义第四章1操作系统原理讲义第四章1蹭撤奇巢男首攀达注厂使咬您匈障混继言峦圆烃牙十范赣忙砷半癣唾瘴梗操作系统原理讲义第四章1操作系统原理讲义第四章1604.3 进程控制4.3.5 进程唤醒 按此算法,是把等待在chan事件上的所有进程唤醒,类似于UNIX系统的处理方式。也有的系统只唤醒一个等待chan事件的进程,若这样处理,等待队列就要按某种优先级排队。 进程唤醒操作会引起就绪队列和等待chan事件的等待队列发生变化。瑶脖抛笨谈朔旬企宁施窑捷返赶垛两九神就愈葡初邢饼铬涣电膘扇捉居盯操作系统原理讲义第四章1操作系统原理讲义第四章1格户侵拘傣竭劣柯呜壳胺队隶烫徒悍戊淀噎绍服斟懒揪扰牙筹胞随仍阴雾操作系统原理讲义
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度物业管理公司员工劳动合同(含职业健康)
- 2025年汽修店转让协议范本:含维修技术保密与知识产权
- 2025年度股权抵押消费信贷合同
- 二零二五年度柴油运输市场调研与分析合同
- 2025年度高校与教育机构人才输送与教学资源共享协议
- 2025年度酒店住宿期间消防安全责任书
- 二零二五年度劳动合同解除协议范本及员工离职手续流程
- 二零二五年度写字楼租赁合同复本及共享办公空间合作
- 二零二五年度个人抵押担保贷款合同范本
- 二零二五年度人工智能公司股份转让合同
- 复合材料导电性能研究-深度研究
- 7号楼-招标控制价
- 《预制高强混凝土风电塔筒生产技术规程》文本附编制说明
- 2024年中国住院患者血糖管理专家共识
- 【MOOC】设计思维与创新设计-浙江大学 中国大学慕课MOOC答案
- 《如何说孩子才会听怎么听孩子才肯说》读书分享
- 旅客列车安全平稳操纵办法
- 《混凝土结构设计原理》全套教学课件
- 医疗安全(不良)事件报告制度培训课件
- 《用单摆测量重力加速度》说课稿
- 人教版九年级上册音乐 1.5中国人民解放军军歌 教案
评论
0/150
提交评论