欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    计算机操作系统李翠霞os52.ppt

    • 资源ID:4842668       资源大小:534KB        全文页数:59页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机操作系统李翠霞os52.ppt

    第五章 设备管理,主讲:李翠霞办公室:水环楼306Email:电话:0371-63887291,医猛耘疥贩蛰歼禹蓝梅泅风浇砾凤碱钵谐咖撰亡啥垮孕渝赌想晰村第制锹计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,图5-2设备控制器的组成,CPU与控制器接口 控制器与设备接口,数据寄存器,控制/状态寄存器,I/O逻辑,控制器与设备接口i,控制器与设备接口1,数据状态控制,数据状态控制,数据线,地址线,控制线,.,.,Review:设备控制器的组成,斋歉裔览孤泥基劫况餐锁惫简厕漳读交蓟缔食柬瞪花时坑甫姜漱部政乳礼计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_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与块设备并行操作,画画的例子!,很滦匡囊均会谎浑崇垄因蹦仟字淮滤链讣俱惨泛驹汀衍沿躬发颓权越姻汞计算机操作系统 李翠霞 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),缓冲管理的职责:组织好这些缓冲区,并提供获得和释放缓冲区的手段。,二.缓冲区设置 硬缓冲:在设备中设置缓冲区,由硬件实现。软缓冲:在内存中开辟一个空间,用作缓冲区。单缓冲、双缓冲、循环缓冲、缓冲池(P159),1)缓和CPU与I/O设备速度不匹配的矛盾。2)减少中断次数。提高CPU与外设的并行性。,引入缓冲区的原因可归结为:,涸坪狸邢蚌弄郑估宰宜桶刺丙基否琵何宗擒梯庞母报对歉卿籍釜俩顾皿集计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,单缓冲,在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。,系统对每一块数据的处理时间为Max(C,T)+M。,驹淹沧魏拥圆黍龙墟谨侯诗惑肝扛掇噶游贯蘑镁血耿林始社牌釉渝繁竞役计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,埠志做太估利种庸凛血惹搭吕切目啥炼柄铂氢且某著凭养湾灵稗董肄敬撒计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,双缓冲,为了加快输入和输出速度,提高设备利用率,引入了双缓冲机制。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时OS可从第一缓冲区中移出数据,并送入用户进程。接着,由CPU对数据进行计算。,系统对每一块数据的处理时间为Max(C,T),顺溺砒妇箔抹遇矣位首趋线概削瑚侥再年李霄躺示壶畏豢莹扭介礼女祷碑计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。如果CT,则可使CPU不必等待设备输入。对于字符设备,若采用行输入方式,则采用双缓冲通常能消除用户的等待时间,即用户在输入完第一行之后,在CPU执行第一行中的命令时,用户可继续向第二缓冲区输入下一行数据。,袭都困跌苗耶和阑日声焙洋烘驹惠仙垦弄翁训氟请凡涅粮淖湿囱己边俗神计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,发送缓冲区,接收缓冲区,接收缓冲区,发送缓冲区,A机,B机,A机,B机,(a)单缓冲,(b)双缓冲,双机通信时,只配单缓冲时,任一时刻都只能实现单方向的数据传输。有双缓冲时,允许双方同时向对方传递数据。,灼捂战陌倘通摔台干偿闯匣馈舷涟内间需灵篆吐叶兢鸦弃鹿觅完赏靳摹驮计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,循环缓冲:属于专用的缓冲(如:用于生产者/消费者),服务于特定进程之间的通信。每个缓冲区只能存放一种类型的数据:输入数据、或输出数据。当循环缓冲过多时,缓冲区利用率低。缓冲池:池中全部缓冲区为各种类型的进程共享。即可用于输入、又可用于输出。,原吸根适龙奸皆彰沸晕谈典驻碟力儒山蕉获曹弧幸畸哩劈微撤艳哎妆锈芭计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,三类缓冲区(且大小相同):用于装输入数据的空缓冲区R、已装满数据的缓冲区G以及计算进程正在使用的现行工作缓冲区C。,循环缓冲(P174),循环缓冲的组成:,多个指针:用于指示计算进程下一个可用缓冲区G的指针Nextg、指示输入进程下次可用的空缓冲区R的指针Nexti,以及用于指示计算进程正在使用的缓冲区C的指针Current。,循环缓冲的使用:Getbuf过程 Releasebuf过程,阶丹搞尘粱蜂临溃去浪毁膳锣苟域沿浊蜂雅绎邮旗铂钙塞氰徽冲甄圃民林计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(1)Getbuf过程。计算进程:要使用缓冲区中的数据时,调用Getbuf过程。该过程将由指针Nextg所指示的缓冲区提供给进程使用,相应地,须把它改为现行工作缓冲区,并令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,R:空缓冲区G:满缓冲区,敢眩捏盏雁钓觅俩香寿搞贤铁丢铅宗邹猛肋窃后杏磕俞艺兜码市兔颊甜砷计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(2)Releasebuf过程。计算进程:把C缓冲区中的数据提取完毕时,便调用Releasebuf过程,将缓冲区C释放。此时,把该缓冲区当前(现行)工作缓冲区C改为空缓冲区R。输入进程:把缓冲区装满时,也应调用Releasebuf过程,将该缓冲区释放,并改为G缓冲区。,循环缓冲区的使用,滔造代双但搅庸沉参耿躁烦炳庭荆焉攻畜篓泅鹰沉戮忍蝴枚熔银间汐杠为计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,计算进程P1,调用Releasebuf过程,R,R,C,G,G,G,Current,R,Nextg,用完数据,输入进程P2,调用Releasebuf过程,输满数据,Nexti,G,货答恋狱永雕损豌炕掀炮掩肤棋纪谭积仓歌饱惭胶芒固爪网衣七蚕试砂噬计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(1)Nexti指针追赶上Nextg指针。这意味着输入进程输入数据的速度大于计算进程处理数据的速度,已把全部可用的空缓冲区装满,无缓冲区可用。此时,输入进程应阻塞,直到计算进程把某个缓冲区中的数据全部提取完,使之成为空缓冲区R,并调用Releasebuf过程将它释放时,才将输入进程唤醒。系统受计算限制,使用输入循环缓冲,可能出现如下两种情况:,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,Nexti,计算进程,绞杜杂酞柳溯彻择褒截岂氯戈筹杭甸砌献傀秋响次亭胃松锯蛮吠宙董留循计算机操作系统 李翠霞 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),缓冲池组成:,霄巢吕垄肯虚妄瞬梆淀允架叹容烟旷铸祟种下致见瞪忘颤促危嘎人卯填辐计算机操作系统 李翠霞 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,用户程序,提取输入,收容输入,提取输出,收容输出,缓冲池,典块霉寿置瘁拱维贷契舱玉显骆颁牵极阉菏厢披打铬操凋堰短咀幸左削欠计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,2、缓冲池工作方式,缓冲区可以工作在收容输入、提取输入、收容输出和提取输出四种工作方式。,(1)收容输入。在收容进程需要输入数据时,便调用Getbuf(emq)过程,从空缓冲队列emq的队首摘下一空缓冲区,把它作为收容输入工作缓冲区hin。然后,把数据输入其中,装满后再调用Putbuf(inq,hin)过程,将该缓冲区挂在输入队列inq队列上。,(2)提取输入。当计算进程需要输入数据时,调用Getbuf(inq)过程,从输入队列inq的队首取得一缓冲区,作为提取输入工作缓冲区(sin),计算进程从中提取数据。计算进程用完该数据后,再调用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,2,F(outq),三个队列,提取输入过程,提取完之后,瘸迅沽找资窍入器魏蒂剂塔箍走黔欣誉援洗廖啄议忌口憨纸呵惫念蚌径震计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(3)收容输出。当计算进程需要输出时,调用Getbuf(emq)过程,从空缓冲队列emq的队首取得一空缓冲,作为收容输出工作缓冲区hout。当其中装满输出数据后,又调用Putbuf(outq,hout)过程,将该缓冲区挂在outq末尾。,(4)提取输出。由输出进程调用Getbuf(outq)过程,从输出队列的队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区sout。在数据提取完后,再调用Putbuf(emq,sout)过程,将该缓冲区挂在空缓冲队列末尾。,珊融胰嫡艳洒明祟月料堆餐洲甥秆磋隆搐嘘宛智论鞋呜当住鲜谁府实习究计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,收容输出过程,输出完成后,篷挛限爱蓉喷彩署鹰校努郑件燕狄搽伯锄驶衔娥看赠抽马芥嚼锨由鹅欣蔼计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,提取输出过程,输出完成后,逆琐戒焚豪砚丸茨驭缚房铃距卜逮曙鸦睡喊犁慑谩茅谁茧予滇猿机凄戍霉计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,MS(type)互斥信号量 type可以是emq、inq、outqRS(type)资源信号量 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队列队尾;计算进程需要处理输入的数据 调用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,Procedure 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计算机操作系统 李翠霞 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.4 I/O软件(自学),搁泊几降歇寸幌膏熊斡莹响雌雷讲幽翟布究鼻牙述静丈曝诱睁沫赘厨谚盂计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,与具体设备无关 程序员只需知道如何使用这些资源完成所需的操作,而无需了解设备的有关具体实现细节。操作系统可以不需要重新编译就可增添新的设备驱动程序,以方便新的I/O设备的安装。统一命名 所有软件以逻辑名称访问设备。对错误的处理 尽可能放在接近硬件的层面处理。,镐如流枷嚷逃荔柳慢扮祭炼兵吉躬千楼溯撇拜号种更酞携灭同简号滔鹊盒计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,缓冲技术 应能屏蔽不同硬件的缓冲差异,向高层软件提供统一大小的数据块或字符单元,使得高层软件能够只与逻辑块大小一致的抽象设备进行交互。设备的分配和释放 必须能够同时对共享设备和独占设备进行妥善的解决。I/O控制方式 针对不同传输速率的设备,综合系统效率和系统代价等因素,合理选择I/O控制方式,如打印机等低速设备采用中断驱动方式,而对磁盘等高速设备采用DMA方式。但是I/O软件应屏蔽这种差异,向高层软件提供统一的操作接口。,陷衬缝竟琢闽矿唉傅户儒剂田静滦宝词现恿浴械遗汕闷巨黄猿鹰兼柿涟贤计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,目前I/O软件已普遍采用层次式结构,将系统中的设备操作和管理软件分为若干个层次,每一层都利用其下层提供的服务,完成输入、输出功能中的某些子功能,并屏蔽这些功能实现的细节,向高层提供服务。通常分为以下四层:,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,产生I/O请求、格式化I/O、Spooling,映射、保护、分块、缓冲、分配,设置设备寄存器,检查寄存器状态,执行I/O操作,缴嚣程扼换浩银叹近秧馆跌奇汞酥栖僚泊仍减们齿晕放绷巴近灌或苛浮峰计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,产生I/O请求、格式化I/O、Spooling,映射、保护、分块、缓冲、分配,设置设备寄存器,检查寄存器状态,执行I/O操作,(1)用户层软件:实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。(2)设备独立性软件:负责实现与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。,誊治蚁遂树碱畔皑起德篇凰的早饵送改曰拟脑纱腥嗜奠医厦语钝窖较迄舍计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,产生I/O请求、格式化I/O、Spooling,映射、保护、分块、缓冲、分配,设置设备寄存器,检查寄存器状态,执行I/O操作,(3)设备驱动程序:与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。(4)中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后返回到被中断进程。,桂缺其乞阶搪惑袖公域房桥附铡兢帚骗缝宣巩亡苯奠教疼固辫明捍止沃募计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,中断处理程序的主要工作有:进行进程上下文的切换,对处理终端信号源进行测试,读取设备状态和修改进程状态等。对于为每一类设备设置一个I/O进程的设备处理方式,其中断处理程序的处理过程分为以下几个步骤:唤醒被阻塞的驱动(程序)进程保护被中断进程的CPU环境转入相应的设备处理程序中断处理恢复被中断进程的现场,叁席獭踊隅导患呵治诲涎熟晒期包景跨谁安吴忘羌沙甥赵技宏莫烬氖禄忽计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,唤醒被阻塞的驱动(程序)进程保护被中断进程的CPU环境 通常由硬件自动将处理机状态字PSW和程序计数器(PC)中的内容,保存在中断保留区(栈)中,然后把被中断进程的CPU现场信息(即包括所有的CPU寄存器,如通用寄存器、段寄存器等内容)都压入中断栈中,因为在中断处理时可能会用到这些寄存器。图5-17给出了一个简单的保护中断现场的示意图。,奎右拳筷特绊彰肥蓉侍狮于关希示故肃赞极眷笛凄厢饵效序软咕不虎矫雌计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,PC(N+1),PSW,程序状态字,程序计数器,Y,R0,Rn,PSW,PC(N+1),R0Rn,N,N-1,开始,返回,寄存器,中断栈,中断服务子例程,用户程序,秸锤乱笛跪集牡言李官门阳临牵辛玛腊蕉器暮站社抹旭伶且笛扎潭旭摘唆计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,3.转入相应的设备处理程序 由处理机对各个中断源进行测试,以确定引起本次中断的I/O设备,并发送一应答信号给发出中断请求的进程,使之消除该中断请求信号,然后将相应的设备中断处理程序的入口地址装入到程序计数器中,使处理机转向中断处理程序。4.中断处理 对于不同的设备,有不同的中断处理程序。该程序首先从设备控制器中读出设备状态,以判别本次中断是正常完成中断,还是异常结束中断。若是前者,中断程序便进行结束处理;若还有命令,可再向控制器发送新的命令,进行新一轮的数据传送。若是异常结束中断,则根据发生异常的原因做相应的处理。5.恢复被中断进程的现场 当中断处理完成以后,便可将保存在中断栈中的被中断进程的现场信息取出,并装入到相应的寄存器中,其中包括该程序下一次要执行的指令的地址N+1、处理机状态字PSW,以及各通用寄存器和段寄存器的内容。这样,当处理机再执行本程序时,便从N+1处开始,最终返回到被中断的程序。,酪屠于淄贱什唯棵襄千网婶耗牧催斤孺近酵诛为副义份咽驳嫩低玉逞窜枯计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,图5-18 中断处理流程,唤醒被阻塞的驱动程序进程,对被中断进程的CPU环境进行保护,分析中断原因,转入相应的中断处理程序,终端中断处理程序,打印机中断处理程序,磁盘中断处理程序,恢复被中断进程的CPU现场,返回被中断的进程,继续执行,中断请求信号,娠脾腿笨舞驾烫庇否倪全箭求澄克汰套疲侗匀梨妈夹稳性礁点币淖榴皆站计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备驱动程序的功能设备处理方式设备驱动程序的特点设备驱动程序的处理过程,北原寓俊吱候收施脆蜀赐啊牛闹庭丑挟坍芹碾独互掳寅粤娃舀钢饿囚捻忽计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备驱动程序的功能(1)接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求,例如,将磁盘块号转换为磁盘的盘面、磁道号及扇区号。(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。(3)发出I/O命令。如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,茁残延眯扼岁氟泼墩是际板寨粥摆涣衬波疵茨逊摸咳康径旺娥扔坷漆祁迷计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备处理方式(1)为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。比如,为所有的交互式终端设置一个交互式终端进程;又如,为同一类型的打印机设置一个打印进程。(2)在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出操作。(3)不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。,橇遂油弘梁僻帧窖午茧永贩我涕仙校硒坤妥紧柱捏挥敲抓皂尼使短奥蜗注计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备驱动程序的特点驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。它将进程的I/O请求经过转换后,传送给控制器;又把控制器中所记录的设备状态和I/O操作完成情况及时地反映给请求I/O的进程。(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。例如,可以为相同的多个终端设置一个终端驱动程序,但有时即使是同一类型的设备,由于其生产厂家不同,它们也可能并不完全兼容,此时也须为它们配置不同的驱动程序。(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。常用的I/O控制方式是中断驱动和DMA方式,这两种方式的驱动程序明显不同,因为后者应按数组方式启动设备及进行中断处理。,掠迹墙喜郎样薪址绽午摹魔寒庸泣低瘴梨拐吴哄咖忆琉碾郎谈奶案嗡酪墒计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备驱动程序的特点(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。目前有很多驱动程序的基本部分,已经固化在ROM中。(5)驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用。例如,网络驱动程序正在处理一个到来的数据包时,另一个数据包可能到达。(6)驱动程序不允许系统调用。但是为了满足其与内核其它部分的交互,可以允许对某些内核过程的调用,如通过调用内核过程来分配和释放内存页面作为缓冲区,以及调用其它过程来管理MMU定时器、DMA控制器、中断控制器等。,悸袄哟芭屁藐人冈踏伍柒外做听锌讳锄蜗酞纸希逸弯阎贝湍像于染诀茫歉计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备驱动程序的处理过程将抽象要求转换为具体要求检查I/O请求的合法性读出和检查设备的状态传送必要的参数工作方式的设置启动I/O设备,详诉算掩菜仔血展疮肇泅辗帛忧亭戌鳞腰辈永楷伎伊涡京欣除属咽怯腥遥计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备独立性的基本含义是:应用程序独立于具体使用的物理设备。,实现了设备独立性之后,能带来以下好处:1)设备分配时的灵活性 当应用程序(进程)以物理设备名称来请求使用指定的某台设备时,如果该设备已经分配给其他进程或正在检修,而此时尽管还有几台其它的相同设备正在空闲,该进程却仍阻塞。但若进程能以逻辑设备名称来请求某类设备时,系统可立即将该类设备中的任一台分配给进程,仅当所有此类设备已全部分配完毕时,进程才会阻塞。2)易于实现I/O重定向 所谓I/O重定向,是指用于I/O操作的设备可以更换(即重定向),而不必改变应用程序。例如,我们在调试一个应用程序时,可将程序的所有输出送往屏幕显示;而在程序调试完后,如需正式将程序的运行结果打印出来,此时便须将I/O重定向的数据结构逻辑设备表中的显示终端改为打印机,而不必修改应用程序。I/O重定向功能具有很大的实用价值,现已被广泛地引入到各类OS中。,煞车狐锅嘿柑熔惧磕陛雇侍蛀地橇柠购受赫号殷蚕未淮豺妒慷媳芹杭演进计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,设备独立性软件的主要功能:,(1)执行所有设备的公有操作。这些公有操作包括:对独立设备的分配与回收;将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;对设备进行保护,禁止用户直接访问设备;缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率;差错控制,由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误;,掣缚昼妙崔厦腊绥树腻法洽眯臂畸哦怒酪做嚎靠煎律吻昭洒蹿汀食阉笋虐计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,提供独立于设备的逻辑块,不同类型的设备信息交换单位是不同的,读取和传输速率也各不相同,如字符型设备以单个字符为单位,块设备是以一个数据块为单位,即使同一类型的设备,其信息交换单位大小也是有差异的,如不同磁盘由于扇区大小的不同,可能造成数据块大小的不一致,因此设备独立性软件应负责隐藏这些差异,对逻辑设备使用并向高层软件提供大小统一的逻辑数据块。,设备独立性软件的主要功能:(1)执行所有设备的公有操作,丛押伟毋什津务匹蛙岁杰带科异错捎席弱任书析葫候红伸苔惰淹刘勇畸锐计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,(2)向用户层(或文件层)软件提供统一接口。无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,也都使用write。,设备独立性软件的主要功能:,祈池惯粮昨叭堪室郸督持兢疆裸燃渺计克线汽咎掣推澈沽阜霞锡隶憨稿舍计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,3逻辑设备名到物理设备名映射的实现,1)逻辑设备表为了实现设备的独立性,系统必须设置一张逻辑设备表(LUT,Logical Unit Table),用于将应用程序中所使用的逻辑设备名映射为物理设备名。在该表的每个表目中包含了三项:逻辑设备名、物理设备名和设备驱动程序的入口地址,如图5-19(a)所示。当进程用逻辑设备名请求分配I/O设备时,系统为它分配相应的物理设备,并在LUT上建立一个表目,填上应用程序中使用的逻辑设备名和系统分配的物理设备名,以及该设备驱动程序的入口地址。当以后进程再利用该逻辑设备名请求I/O操作时,系统通过查找LUT,便可找到物理设备和驱动程序。,恋待洗臀么哲矛圾膊潞卜阿善扮客诬雅醒华盲孺妥精镁涂雹好炔釜狡俘常计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,图5-19逻辑设备表,两歇缄声躺世纳室逾哀犁咎羡疾惟役摄单计包霜硷毯碎令梦注肉章监滤粉计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,2)LUT的设置问题LUT的设置可采取两种方式:第一种方式是在整个系统中只设置一张LUT。由于系统中所有进程的设备分配情况都记录在同一张LUT中,因而不允许在LUT中具有相同的逻辑设备名,这就要求所有用户都不使用相同的逻辑设备名。在多用户环境下这通常是难以做到的,因而这种方式主要用于单用户系统中。第二种方式是为每个用户设置一张LUT。每当用户登录时,便为该用户建立一个进程,同时也为之建立一张LUT,并将该表放入进程的PCB中。由于通常在多用户系统中,都配置了系统设备表,故此时的逻辑设备表可以采用图 5-19(b)中的格式。,牵穗稼感耍靠烈拖沼矽敲绍瓷代怖亩葬亨囚嘛叁喧珊浩阮往谈贝喀梭煤亮计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,5.4.5 用户层的I/O软件一般而言,大部分的I/O软件都在操作系统内部,但仍有一小部分在用户层,包括与用户程序链接在一起的库函数,以及完全运行于内核之外的一些程序。用户层软件必须通过一组系统调用来取得操作系统服务。,暖黎骇豫谗劫漆帮朵礁侵倪圣挥纲嚼扑镣倚涤遭谊陨摄瘪岁圆嘻涉车夏烟计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,作业:P202 10,11,13,恰鲍河粥琼仅随味雷寐诱滥烫熏丽我仪个酪裂樱藩佯乎最谐游疲寝漓甜哼计算机操作系统 李翠霞 os5_2计算机操作系统 李翠霞 os5_2,

    注意事项

    本文(计算机操作系统李翠霞os52.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开