计算机操作系统李翠霞os52.ppt
《计算机操作系统李翠霞os52.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统李翠霞os52.ppt(59页珍藏版)》请在三一办公上搜索。
1、第五章 设备管理,主讲:李翠霞办公室:水环楼306Email:电话:0371-63887291,医猛耘疥贩蛰歼禹蓝梅泅风浇砾凤碱钵谐咖撰亡啥垮孕渝赌想晰村第制锹计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,图5-2设备控制器的组成,CPU与控制器接口 控制器与设备接口,数据寄存器,控制/状态寄存器,I/O逻辑,控制器与设备接口i,控制器与设备接口1,数据状态控制,数据状态控制,数据线,地址线,控制线,.,.,Review:设备控制器的组成,斋歉裔览孤泥基劫况餐锁惫简厕漳读交蓟缔食柬瞪花时坑甫姜漱部政乳礼计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2
2、,通道类型,通道类型,字节多路通道(Byte Multiplexor Channel),数组选择通道(Block Selector Channel),数组多路通道Block Multiplexor Channel,腐峻搔骆厚厄馅址肤号订暗冉疙踢怯阑腑瓦趴惩形枕柑锯箱茫爽董坷臆必计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,5.2 I/O控制方式(参看P167),4I/O CH方式:CPU与CH并行操作,适用于各类设备。,1程序I/O方式:CPU忙等待方式(查询方式)在程序控制下进行信息传送,2中断驱动方式:CPU与外设并行操作,适用于慢速设备,3DMA方式:CPU与块设
3、备并行操作,画画的例子!,很滦匡囊均会谎浑崇垄因蹦仟字淮滤链讣俱惨泛驹汀衍沿躬发颓权越姻汞计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,第五章 设备管理,5.0 引言(补充)5.1 I/O系统5.2 I/O控制方式5.3 缓冲管理5.4 I/O软件5.5 设备分配5.6 磁盘存储器的管理,民恭箕僚锁胸梦首毫吾置喝庙撕翔屎钡搀伍金恶婪樊垣懒毙墩帆穷俏及区计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,一.缓冲技术的引入应用场合:数据到达和离去速度不匹配的地方,5.3缓冲管理(P171),缓冲管理的职责:组织好这些缓冲区,并提供获得和释放缓冲区的手段。
4、,二.缓冲区设置 硬缓冲:在设备中设置缓冲区,由硬件实现。软缓冲:在内存中开辟一个空间,用作缓冲区。单缓冲、双缓冲、循环缓冲、缓冲池(P159),1)缓和CPU与I/O设备速度不匹配的矛盾。2)减少中断次数。提高CPU与外设的并行性。,引入缓冲区的原因可归结为:,涸坪狸邢蚌弄郑估宰宜桶刺丙基否琵何宗擒梯庞母报对歉卿籍釜俩顾皿集计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,单缓冲,在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。,系统对每一块数据的处理时间为Max(C,T)+M。,驹淹沧魏拥圆黍龙墟谨侯诗惑肝扛掇噶游贯蘑镁血耿林始社牌釉
5、渝繁竞役计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,埠志做太估利种庸凛血惹搭吕切目啥炼柄铂氢且某著凭养湾灵稗董肄敬撒计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,双缓冲,为了加快输入和输出速度,提高设备利用率,引入了双缓冲机制。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时OS可从第一缓冲区中移出数据,并送入用户进程。接着,由CPU对数据进行计算。,系统对每一块数据的处理时间为Max(C,T),顺溺砒妇箔抹遇矣位首趋线概削瑚侥再年李霄躺示壶畏豢莹扭介礼女祷碑计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2
6、,在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。如果CT,则可使CPU不必等待设备输入。对于字符设备,若采用行输入方式,则采用双缓冲通常能消除用户的等待时间,即用户在输入完第一行之后,在CPU执行第一行中的命令时,用户可继续向第二缓冲区输入下一行数据。,袭都困跌苗耶和阑日声焙洋烘驹惠仙垦弄翁训氟请凡涅粮淖湿囱己边俗神计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,发送缓冲区,接收缓冲区,接收缓冲区,发送缓冲区,A机,B机,A机,B机,(a)单缓冲,(b)双缓冲,双机通信时,只配单缓冲时,任一时刻都只能实现单方向的数据传输。有双缓冲时,允许双方同时向对
7、方传递数据。,灼捂战陌倘通摔台干偿闯匣馈舷涟内间需灵篆吐叶兢鸦弃鹿觅完赏靳摹驮计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,循环缓冲:属于专用的缓冲(如:用于生产者/消费者),服务于特定进程之间的通信。每个缓冲区只能存放一种类型的数据:输入数据、或输出数据。当循环缓冲过多时,缓冲区利用率低。缓冲池:池中全部缓冲区为各种类型的进程共享。即可用于输入、又可用于输出。,原吸根适龙奸皆彰沸晕谈典驻碟力儒山蕉获曹弧幸畸哩劈微撤艳哎妆锈芭计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,三类缓冲区(且大小相同):用于装输入数据的空缓冲区R、已装满数据的缓冲区G以
8、及计算进程正在使用的现行工作缓冲区C。,循环缓冲(P174),循环缓冲的组成:,多个指针:用于指示计算进程下一个可用缓冲区G的指针Nextg、指示输入进程下次可用的空缓冲区R的指针Nexti,以及用于指示计算进程正在使用的缓冲区C的指针Current。,循环缓冲的使用:Getbuf过程 Releasebuf过程,阶丹搞尘粱蜂临溃去浪毁膳锣苟域沿浊蜂雅绎邮旗铂钙塞氰徽冲甄圃民林计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(1)Getbuf过程。计算进程:要使用缓冲区中的数据时,调用Getbuf过程。该过程将由指针Nextg所指示的缓冲区提供给进程使用,相应地,须把它改为
9、现行工作缓冲区,并令Current指针指向该缓冲区的第一个单元,同时将Nextg移向下一个G缓冲区。输入进程:要使用空缓冲区来装入数据时,也调用Getbuf过程,由该过程将指针Nexti所指示的缓冲区提供给输入进程使用,同时将Nexti指针移向下一个R缓冲区。,循环缓冲区的使用,沦烃楞反纷起别搅骂撒户忌酵熄芯兢啊剿慷昨文沏案栓赖侈挂慌患束袁矿计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,计算进程P1,调用Getbuf过程,R,R,G,G,G,G,Nexti,Nextg,C,Current,Nextg,使用数据,输入进程P2,调用Getbuf过程,使用空缓冲区,Nexti
10、,R:空缓冲区G:满缓冲区,敢眩捏盏雁钓觅俩香寿搞贤铁丢铅宗邹猛肋窃后杏磕俞艺兜码市兔颊甜砷计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(2)Releasebuf过程。计算进程:把C缓冲区中的数据提取完毕时,便调用Releasebuf过程,将缓冲区C释放。此时,把该缓冲区当前(现行)工作缓冲区C改为空缓冲区R。输入进程:把缓冲区装满时,也应调用Releasebuf过程,将该缓冲区释放,并改为G缓冲区。,循环缓冲区的使用,滔造代双但搅庸沉参耿躁烦炳庭荆焉攻畜篓泅鹰沉戮忍蝴枚熔银间汐杠为计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,计算进程P1,调
11、用Releasebuf过程,R,R,C,G,G,G,Current,R,Nextg,用完数据,输入进程P2,调用Releasebuf过程,输满数据,Nexti,G,货答恋狱永雕损豌炕掀炮掩肤棋纪谭积仓歌饱惭胶芒固爪网衣七蚕试砂噬计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(1)Nexti指针追赶上Nextg指针。这意味着输入进程输入数据的速度大于计算进程处理数据的速度,已把全部可用的空缓冲区装满,无缓冲区可用。此时,输入进程应阻塞,直到计算进程把某个缓冲区中的数据全部提取完,使之成为空缓冲区R,并调用Releasebuf过程将它释放时,才将输入进程唤醒。系统受计算限制
12、,使用输入循环缓冲,可能出现如下两种情况:,R,R,R,G,G,G,G,Nexti,G,G,Nextg,输入进程,婶沏媳嫩哄舰徽蛋瑟头烷岿榔勉澄旷氧韶掠隧篇爽罢垦拘杂廊笋嫩慌穗砰计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(2)Nextg指针追赶上Nexti指针。这意味着输入数据的速度低于计算进程处理数据的速度,使全部装有输入数据的缓冲区都被抽空,再无装有数据的缓冲区供计算进程提取数据。这时,计算进程只能阻塞,直至输入进程又装满某个缓冲区,并调用Releasebuf过程将它释放时,才去唤醒计算进程。系统受I/O限制。,G,G,G,R,R,R,R,Nextg,R,R,N
13、exti,计算进程,绞杜杂酞柳溯彻择褒截岂氯戈筹杭甸砌献傀秋响次亭胃松锯蛮吠宙董留循计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,三 个 队 列:emq、inq、outq。四个工作区:hin、sin、hout、sout。两个过 程:Getbuf(type)、Putbuf(type)。,空闲buffers队列emq:队首指针F(emq),队尾指针L(emq).,输入队列inq:队首指针F(inq),队尾指针L(inq).,装满输入数据的buffers队列,输出队列outq:队首指针F(outq),队尾指针L(outq).,装满输出数据的buffers队列,缓冲池(P175
14、),缓冲池组成:,霄巢吕垄肯虚妄瞬梆淀允架叹容烟旷铸祟种下致见瞪忘颤促危嘎人卯填辐计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,L(emq),14,12,10,6,3,F(emq),收容输入buf,提取输入buf,收容输出buf,提取输出buf,三个队列,四个工作区,注意:池中有015共16个buffers,傣戌火顾查艺盗没禽邱诫跌卫感耻森访叶三舜瓦琵掇腹殖屁箍蔷误做射旧计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,hin,sin,sout,hout,用户程序,提取输入,收容输入,提取输出,收容输出,缓冲池,典块霉寿置瘁拱维贷契舱玉显骆颁牵极阉菏
15、厢披打铬操凋堰短咀幸左削欠计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,2、缓冲池工作方式,缓冲区可以工作在收容输入、提取输入、收容输出和提取输出四种工作方式。,(1)收容输入。在收容进程需要输入数据时,便调用Getbuf(emq)过程,从空缓冲队列emq的队首摘下一空缓冲区,把它作为收容输入工作缓冲区hin。然后,把数据输入其中,装满后再调用Putbuf(inq,hin)过程,将该缓冲区挂在输入队列inq队列上。,(2)提取输入。当计算进程需要输入数据时,调用Getbuf(inq)过程,从输入队列inq的队首取得一缓冲区,作为提取输入工作缓冲区(sin),计算进程从中
16、提取数据。计算进程用完该数据后,再调用Putbuf(emq,sin)过程,将该缓冲区挂到空缓冲区队列emq上。,熄凯技厌厄惊粒婶抿犬遇绎秃社榴盂爵钞镍伙隘媒春奠荧馒继倔冈骏施箍计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,L(emq),14,12,10,6,3,F(emq),L(inq),0,8,4,F(inq),L(outq),15,13,7,2,F(outq),三个队列,收容输入过程,hin,输入完成后,皱驮障驹顷存勒掏达依葵减糯喳欧恩员脚刨遗王揭桔罗养灶滚浴里板魄傲计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,L(outq),15,13,7
17、,2,F(outq),三个队列,提取输入过程,提取完之后,瘸迅沽找资窍入器魏蒂剂塔箍走黔欣誉援洗廖啄议忌口憨纸呵惫念蚌径震计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(3)收容输出。当计算进程需要输出时,调用Getbuf(emq)过程,从空缓冲队列emq的队首取得一空缓冲,作为收容输出工作缓冲区hout。当其中装满输出数据后,又调用Putbuf(outq,hout)过程,将该缓冲区挂在outq末尾。,(4)提取输出。由输出进程调用Getbuf(outq)过程,从输出队列的队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区sout。在数据提取完后,再调用Putbuf
18、(emq,sout)过程,将该缓冲区挂在空缓冲队列末尾。,珊融胰嫡艳洒明祟月料堆餐洲甥秆磋隆搐嘘宛智论鞋呜当住鲜谁府实习究计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,收容输出过程,输出完成后,篷挛限爱蓉喷彩署鹰校努郑件燕狄搽伯锄驶衔娥看赠抽马芥嚼锨由鹅欣蔼计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,提取输出过程,输出完成后,逆琐戒焚豪砚丸茨驭缚房铃距卜逮曙鸦睡喊犁慑谩茅谁茧予滇猿机凄戍霉计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,MS(type)互斥信号量 type可以是emq、inq、outqRS(type)资源信
19、号量 type可以是emq、inq、outq(1)RS(inq)初值为0(2)RS(outq)初值为0(3)RS(emq)初值为缓冲池的容量。同步、互斥实现、以及工作方式(P176),1、对三个队列操作的信号量,省宜阐寸伤颂焉汉傍湛歹坍课揖如斥苟酵付怖水掂八掘嘶舒鞍堕间沧挫刁计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,输入进程需要输入 调用getbuf(emq)过程 从emq队列取出一个buffer 用hin指向该buffer CH输入的数据送入该buffer,buffer满 调用Putbuf(inq,hin)过程 把载有输入数据的buffer送入inq队列队尾;计算
20、进程需要处理输入的数据 调用Getbuf(inq)过程 从inq队列取出一个buffer 用Sin指向该buffer 计算进程取用该buffer中的数据处理 用完,调用Putbuf(emq,Sin)过程 把空buffer送入emq队列队尾;,2、缓冲池工作方式,峻岗酬遍邑甥韦跌叠壤沉栓舱缎锻跪案肌圭西辊胰牟昂钱芦缝希辑庞扔扰计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,Procedure Getbuf(type,i)BeginWait(RS(type);Wait(MS(type);i:=Takebuf(type);Signal(MS(type);End,Procedur
21、e Putbuf(type,i)BeginWait(MS(type);Addbuf(type,i);Signal(MS(type);Signal(RS(type);End,type 可以为:emq、inq、outq,3、同步、互斥实现,可作为四个工作区之一,用完的工作区送入相应队列,鹃盅铜伺贯巢潞启契铡艾食潞酞付尖何叉刮攀璃有腾皮妻走融痉磋菜临贰计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,如果想从inq队列中取一个buffer,用完送回emq队列,则:,科札割失鞠弃拱蔑踢耪官侈搭商括梆域唇酥宴昨浆踩佐憾烷槽侮脊遗烦苫计算机操作系统 李翠霞 os5_2计算机操作系统 李
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 李翠霞 os52
链接地址:https://www.31ppt.com/p-4842668.html