《操作系统第八章设备与IO管理》由会员分享,可在线阅读,更多相关《操作系统第八章设备与IO管理(98页珍藏版)》请在金锄头文库上搜索。
1、第八章第八章 设备与设备与I/O管理管理n设备及其分类设备及其分类n设备的物理特性设备的物理特性nIO传输方式(查询、中断、通道、传输方式(查询、中断、通道、DMA)n设备分配与去配设备分配与去配n设备驱动设备驱动n设备调度设备调度n缓冲技术缓冲技术n输入输出进程输入输出进程nRAID技术技术n虚拟设备虚拟设备速脑揖性夹识蛔呢秤戴奏污粱替杆樊儿沽耙惹菇米旬殉皂褂淮狐洋池迁津操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.1 设备及其分类设备及其分类n用途用途n存储型设备存储型设备n磁盘,磁带,光盘磁盘,磁带,光盘nIO型设备型设备n扫描仪,打印机,扫描仪,打印机,mouse,key
2、board,monitor,n网络设备网络设备n网卡,交换机,网卡,交换机,etc.家怖奖钦遭蒜贡辖烈雅皋饮撕默粒邪众嚎逞义糕蓉闹娃措锭国兽施失释掉操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.1 设备及其分类设备及其分类n管理管理n共享型设备(块型)共享型设备(块型)n多个进程的多个进程的IO操作以块为单位可以交叉操作以块为单位可以交叉n独占型设备(块型)独占型设备(块型)n多个进程的多个进程的IO操作以块为单位不宜交叉操作以块为单位不宜交叉n独占型设备(字符型)独占型设备(字符型)n多个进程的多个进程的IO操作以字符为单位不能交叉操作以字符为单位不能交叉岁唯新吴杀预九熏缉级疆
3、啃玩网尚皂疡潜略辱督菊任缩矫袋味扔抗建娠箔操作系统第八章设备与IO管理操作系统第八章设备与IO管理IO设备的物理特性设备的物理特性传输一字节发生一次中断传输一字节发生一次中断存储设备的物理特性存储设备的物理特性磁带的物理特性磁带的物理特性头标头标 信息块信息块 信息块信息块 信息块信息块 . 尾标尾标间隙间隙操作:反绕,正向查找,反向查找,读,写,操作:反绕,正向查找,反向查找,读,写,地址:一维地址:一维文件:顺序结构(一个文件占若干连续块)文件:顺序结构(一个文件占若干连续块)8.2 设备的物理特性友哇蕴各湿堆焙莲尿败渔寓折漱谊茬棋獭熏洼嵌拉袭扰试烹滦碍卿驶系掺操作系统第八章设备与IO管理
4、操作系统第八章设备与IO管理.磁盘组的物理特性磁盘组的物理特性.盘面盘面0盘面盘面1盘面盘面2盘面盘面m-1扇区扇区1扇区扇区0扇区扇区n-1柱面柱面0柱面柱面l-1.引臂比志粕黄茨陛疥轨盎浇购鸡套阔绿衙堆趁方械函帅旅响抿貉诣疏呆三鞍辙操作系统第八章设备与IO管理操作系统第八章设备与IO管理柱面号柱面号i盘面号盘面号j扇区号扇区号k块号块号b(一维地址)(一维地址)(三维地址)(三维地址)编址方法:使相邻块物理上最近编址方法:使相邻块物理上最近例子:例子:l=2; m=3; n=3柱面号:柱面号:0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1盘面号:盘面号:0 0 0
5、1 1 1 2 2 2 0 0 0 1 1 1 2 2 2扇区号:扇区号:0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2块块 号:号:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17培庙梭茹卢报嵌攘馅韶房闷依菇孙斧福抨育蹿赫茬椭遏桓盖帕麓珐至山败操作系统第八章设备与IO管理操作系统第八章设备与IO管理三维地址三维地址一维地址:一维地址: b=i m n+j n+k一维地址一维地址三维地址:三维地址: i=b (m n) j=b mod (m n) n k=b mod (m n) mod n曾抑祟码芒杰烘始睹笆入球瓶顷遍柞派鸯特诽先匝
6、帮帐吝饭恢艾尽澳贯毋操作系统第八章设备与IO管理操作系统第八章设备与IO管理未考虑读写延迟的扇区编号:未考虑读写延迟的扇区编号:扇区扇区0扇区扇区7扇区扇区6扇区扇区5扇区扇区4扇区扇区3扇区扇区2扇区扇区1迸筹域亲墩食姚忆刊久卿数冷骡祈供蚀蜜潍胖操冲皂辜导皑狡淳酞辣栗懊操作系统第八章设备与IO管理操作系统第八章设备与IO管理扇区扇区0扇区扇区7扇区扇区3扇区扇区6扇区扇区2扇区扇区5扇区扇区1扇区扇区4考虑读写延迟的扇区编号考虑读写延迟的扇区编号(单交错单交错):阶胚欠趾汝弧声迟冒呕携凸朝暂嗣侗清靠鹤迢煎抡传岁鳖烁惧疟鸦粕娇欠操作系统第八章设备与IO管理操作系统第八章设备与IO管理扇区扇区0
7、扇区扇区5扇区扇区2扇区扇区7扇区扇区4扇区扇区1扇区扇区6扇区扇区3考虑读写延迟的扇区编号考虑读写延迟的扇区编号(双交错双交错):室耀熏毛不兔凋支龟饥蒜号咸弄贴私替遍传舷伍腆敞钙磁汞束包和寄悄揩操作系统第八章设备与IO管理操作系统第八章设备与IO管理光盘的物理特性: 读取原理: pit/land 螺旋线,22188圈(展开5.6km), 内侧转速:530转/分; 外侧转速:200转/分(密度均匀,读取速度均匀) DataECCP14个bit构成一个symble42个symble构成一个frame98个frame构成一个sectorSector2352bytes588bits的frame各包含
8、24字节Preamble: 16bytes, 前12bytes为: 00FFFFFFFFFFFFFFFFFFFF00后随3bytes扇区编号,最后字节为mode2048字节288字节乙锤也撂医烫榜交犹垛敖载肢豫们枫打兹沼贵匀憾喻矛诵迸泡罢纫荤荒质操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3 I/O 传输方式nIO操作演变历史操作演变历史n程序查询方式程序查询方式 (programmed IO) (polling)nCPU and Device can not work in parallel n中断方式中断方式 (interrupt)nCPU and device can w
9、ork in parallel, too many interrupts for CPUn通道方式通道方式 (channel)nspecial processor for dealing with io operationsn直接内存方式直接内存方式 (DMA)nDMA controller in charge of block io痊栗喷锦萝吱瞬洱卢闰述序返谬昂渠刀正剃购秒箱瓮密底值啼其辉涂毫硬操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3.1 程序控制查询方式程序控制查询方式CPU启动设备启动设备完成完成FT缺点缺点: 处理机与设备串行工作处理机与设备串行工作; 消耗大量处
10、理机时间消耗大量处理机时间.逮景郁玖富献贬踏呻峻倦锻胰哑合怯骂呆凭闺点豆胰镍懈滴包部阳妓产冲操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3.2 中断驱动方式中断驱动方式nCPUn计算计算n启动设备启动设备n计算计算nn计算计算n中断处理中断处理n计算计算设备设备:工工作作特点特点: CPU与设备并行工作与设备并行工作 设备多时对设备多时对CPU打扰多打扰多朔档祈戮浦堰撒壬怎恰精奈完册瓣筒仁勤患尽享账辞索惑虐咯局剔玛坞奸操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3.3 DMA方式 数据传输数据传输CPUDMA控制器控制器内存内存地地 址址计计 数数控控 制制缓冲
11、缓冲磁盘磁盘 中断中断 DMA请求请求总线总线磁盘磁盘控制器控制器 回答回答 DMA编程编程启动启动中断中断状态状态艳膊浸帝胖乖阀纠钞拉棺幸并虞凶湖陌忍拘腔枉褥翼枯画粟堪鸥岩唇诚喧操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3.3 DMA方式. nCPU通过设置通过设置DMA控制器实现控制器实现DMA编程,编程,同时启动磁盘控制器由磁盘读入数据至内部缓同时启动磁盘控制器由磁盘读入数据至内部缓冲区并进行和校验;冲区并进行和校验;nDMA控制器向磁盘控制器发出读请求,并将控制器向磁盘控制器发出读请求,并将内存地址放在地址总线上;内存地址放在地址总线上;n磁盘控制器将字节传到内存指定
12、单元;磁盘控制器将字节传到内存指定单元;n磁盘控制器向磁盘控制器向DMA控制器发送回答;控制器发送回答;nDMA控制器将内部地址寄存器加控制器将内部地址寄存器加1同时将记同时将记数减数减1,重复上述过程,重复上述过程直至计数器为直至计数器为0,此时此时DMA控制器向控制器向CPU发出中断信号发出中断信号. 猾费线疏糜并巷庸诧枪厉槽攻铣赣悼沟恍化脆肆枚敦握鲸瓣轨吐仓绘油霹操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.3.4 通道方式通道方式n通道通道n负责负责IO操作的处理机操作的处理机n指令系统指令系统n基本操作:控制、读、写、转移、结束基本操作:控制、读、写、转移、结束n指令格
13、式:(操作码,传输量,特征位,地址)指令格式:(操作码,传输量,特征位,地址)n运控部件运控部件nCAW,CCW,CSW,CDWn存储区域(与存储区域(与CPU共用内存共用内存,通道内有缓冲区)通道内有缓冲区)n通道程序,通道程序,IO数据(数据(channel does have its buffers)阐账喊会恿倔传淬万沂济蝗实税馋爱再熟牛葵缓铰结遣立桥檬裔市悉矛赛操作系统第八章设备与IO管理操作系统第八章设备与IO管理通道程序执行过程:通道程序执行过程:按按CAW取通道命令取通道命令CCW(CAW)+1 CAW是通道结束命令是通道结束命令执行此命令执行此命令F向向CPU发中断发中断一个通
14、道程序可以控制若干设备进行多次一个通道程序可以控制若干设备进行多次IO传输。传输。T蕉盅两躲敏丹兵滁上胎价释忘担估帽事爆通彤阳在硷舒另例雷抒葡咸懂庐操作系统第八章设备与IO管理操作系统第八章设备与IO管理通道类型通道类型n字节多路通道字节多路通道(byte multiplexer channel)n 多个非分配型子通道,连接低速外围设备多个非分配型子通道,连接低速外围设备n数组选择通道数组选择通道(block selector channel)n 一个分配型子通道,连接多台高速设备一个分配型子通道,连接多台高速设备n数组多路通道数组多路通道(block multiplexer channel)
15、n 多个非分配型子通道,连接多台高速设备多个非分配型子通道,连接多台高速设备挤薄卖肿努谰帧矢筛洁榆攘擅蕊炕贩催蜜夏菲东补未伙因损淡册舍京寒饭操作系统第八章设备与IO管理操作系统第八章设备与IO管理设备、通道、内存连接设备、通道、内存连接选择通道选择通道磁盘字节多路通道字节多路通道打印机打印机输入机输入机内存储器内存储器处理机处理机磁带数组多路通道数组多路通道瞻坊扭赂产拈屏巧碴忠壤除请砖蔼担侦假阿硷可铣冉椿带跋愤寿驳随蹦果操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.4 设备的分配与去配设备的分配与去配n独占型设备的分配与去配独占型设备的分配与去配n块型独占块型独占n字符型独占字符
16、型独占n共享型设备的分配与去配共享型设备的分配与去配n块型共享块型共享形谚饼昆卢当契炯输专耻压典澎街孝奉凯侣含狞哎盼卑哑簿刊硬韶染邻王操作系统第八章设备与IO管理操作系统第八章设备与IO管理数据结构数据结构设备控制块设备控制块(UCB) 通道控制块通道控制块(CCB)设备标识设备标识设备状态设备状态相连通道相连通道占有设备进程占有设备进程通道标识通道标识通道状态通道状态通道类型通道类型占有通道进程占有通道进程系统设备表系统设备表(SDT)设备类设备类 总数总数 设备等待队列设备等待队列 UCB表指针表指针 lp m Sm UCBUCBUCB 葵酷扎乖巫干胎鄂寂侨孕惜丝欧换肘黎噶咙盐乞诡康仔紧店
17、皮隔肪自愧和操作系统第八章设备与IO管理操作系统第八章设备与IO管理独占型设备的分配与去配独占型设备的分配与去配用户使用独占型设备活动:用户使用独占型设备活动: 申请,使用,使用,申请,使用,使用,使用,释放,使用,释放 申请:申请:(1) 根据设备类查根据设备类查SDT表表 (2) P(Sm) (3) 查查UCB表找一空闲设备并分配表找一空闲设备并分配 使用:使用:(1) 分配通道分配通道 (2) IO传输传输 (3) 去配通道去配通道 释放:释放:(1) 找找SDT表对应入口表对应入口 (2) 查查UCB表,去配表,去配 (3) V(Sm) 刃胞秧谅偏姚机送舰云挡的啪懂追舱如阁涪搜陵甘钒榷
18、刃古瘩缴拒裂示揪操作系统第八章设备与IO管理操作系统第八章设备与IO管理 8.4 设备的分配与去配设备的分配与去配l共享型设备的分配与去配共享型设备的分配与去配用户使用共享型设备活动用户使用共享型设备活动使用,使用,使用,使用,使用,使用特征特征来自文件系统;来自文件系统;每次读(写)一块;每次读(写)一块;通常经过缓冲;通常经过缓冲;排队优化。排队优化。使用使用分配通道;分配通道;IO操作;释放通道操作;释放通道极租姆丫买偏入踢誓著奈去粘皿往缩宫蜕镁哨歧岩氰起寅骚孰匡螟峡嘻且操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.5 设备驱动设备驱动n通道程序通道程序nCCW指令序列指令
19、序列n静态编制或动态生成静态编制或动态生成n设备启动设备启动n通道启动通道启动n中断处理中断处理n通道向通道向CPU发的中断发的中断忿椅布堵土捐瑟虏容瓣稼故王照趴亿房进萤献匣骄淋放觅太蛛棺廊伟举亚操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.5 设备驱动设备驱动设备设备CAWCCWCDWCSWCCW1CCW2CCWi.CCWn数据区数据区.形成通道程序形成通道程序.地址地址CAW.启动通道启动通道.中断处理中断处理.启动启动中断中断内存内存CPU通道通道 醛碱梳钦漱者束涤胎空晓律芬琵叶啦糠死允涩窿摊漆幌驱蛮佛唾婶涩顿躺操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.5
20、 设备驱动设备驱动设备设备CAWCCWCDWCSWCCW1CCW2CCWi.CCWn数据区数据区.形成通道程序形成通道程序.地址地址CAW.启动通道启动通道.中断处理中断处理.启动启动中断中断内存内存CPU通道通道 晴荷闺苫拦惦唤蚁工框瓮籽抹挞闲诸缓琼礼弘颈镍跳祭隘荧葛湿五瞻弛明操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.5 设备驱动设备驱动设备设备CAWCCWCDWCSWCCW1CCW2CCWi.CCWn数据区数据区.形成通道程序形成通道程序.地址地址CAW.启动通道启动通道.中断处理中断处理.启动启动中断中断内存内存CPU通道通道 唤模苔衬腺呢支炎文宗闰仁韧侧诈替速汕粱塞残
21、稼建夺月裤瑞忌帅栏捌骡操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.5 设备驱动设备驱动设备设备CAWCCWCDWCSWCCW1CCW2CCWi.CCWn数据区数据区.形成通道程序形成通道程序.地址地址CAW.启动通道启动通道.中断处理中断处理.启动启动中断中断内存内存CPU通道通道 娱勇寥滴韦篇拧囱济献獭达淮搪衣诌槽驼缝何铬兆捍余瞩蛰审最师驳穗惹操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.6 设备调度设备调度n优化服务顺序优化服务顺序n考虑因素考虑因素n公平性公平性n防止饿死防止饿死n高效性高效性n减少磁盘引臂移动量减少磁盘引臂移动量描强我挥疑祝壶蔼淘厨如逝崇耐
22、节共柳燕彬鳃急阂铣枷垒蚂孽湘闯梗绊贩操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引臂调度磁盘引臂调度(disk head scheduling)n先到先服务(先到先服务(FCFS)n请求序列:请求序列:130,42,180,15,108,68,970 15 42 53 68 97 108 130 180 199移动量移动量: (130-53)+(130-42)+(180-42)+(180-15)+(108-15)+(108-68)+(97-68)=630缝评戳诧窄仁铆囚粒册渡试胆起韶招症浸升咖芹夷涣裹壤渠窝抽担发未妨操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引
23、臂调度磁盘引臂调度(disk head scheduling)n最短寻找时间优先(最短寻找时间优先(SSTF)n请求序列:请求序列:130,42,180,15,108,68,970 15 42 53 68 97 108 130 180 199移动量移动量: (53-42)+(180-42)+(180-15)=314帆挛胸菏绳骋萍弘奄咕柞翁照屹夏慌裂凡予盯帛捐勒葛闻繁煮靖劲品瓦晒操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引臂调度磁盘引臂调度(disk head scheduling)lSCAN(LOOK)请求序列:请求序列:130,42,180,15,108,68,97SCAN
24、移动量移动量: (53-0)+(180-0)=233LOOK移动量移动量: (53-15)+(180-15)=2030 15 42 53 68 97 108 130 180 199 Look Scan蹄偿揣渊恋桂渠泵劲亚番勒儿羊给磺莫层炉外陋午裳事植愉逊藏挥影功蚁操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引臂调度磁盘引臂调度(disk head scheduling)lC-SCAN(C-LOOK)请求序列:请求序列:130,42,180,15,108,68,97特点:所有磁道地位最长等待时间相同特点:所有磁道地位最长等待时间相同问题:问题:diskhead stickines
25、s(磁头粘性)(磁头粘性)0 15 42 53 68 97 108 130 180 199 C-Look C-Scan诊较樟源画诈具赞煌樱敝坪碧励鹤虑垢徐栋累秽零稽杠确娱娥侣骇峦拯帚操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引臂调度磁盘引臂调度(disk head scheduling)nN-step SCAN(N步扫描)步扫描)n将磁盘请求队列分为若干个长度为将磁盘请求队列分为若干个长度为N的子队列,每的子队列,每个队列内采用个队列内采用SCAN算法算法n例子:磁道由外向内编号例子:磁道由外向内编号0-99,磁头当前位置磁头当前位置20,向向内移动内移动,N=4n12, 5
26、, 7, 30, 60, 77, 13, 26, 61, 80, 53, 66n2030127513266077806661 53n当当N很大时,接近很大时,接近SCAN算法算法n当当N=1时,蜕化为时,蜕化为FCFS算法算法出摈辉揭醇眷秤屁讥葵量北锐原庭锨灰拿尔壳魄爬某汐谬愚窟卒殷簧纱夕操作系统第八章设备与IO管理操作系统第八章设备与IO管理磁盘引臂调度磁盘引臂调度(disk head scheduling)nFSCAN(Freezing SCAN,冻结扫描,冻结扫描)n将磁盘请求分为两个子队列,将磁盘请求分为两个子队列,n服务队列服务队列n请求队列请求队列n用用SCAN算法扫描服务队列,并
27、为请求服务,服务算法扫描服务队列,并为请求服务,服务期间新到达的请求入请求队列期间新到达的请求入请求队列n扫描完成后交换两个队列的地位扫描完成后交换两个队列的地位您脑背章数浚香噬搽社董摆沛幕墅蚊任言烁布灿着胡桩蛤筐皮悦睁凹溯酸操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.6.1 磁盘磁盘I/O参数参数n首先分析一下读首先分析一下读/写一个磁盘块需要多少写一个磁盘块需要多少时间。它一般由如下三个因素确定时间。它一般由如下三个因素确定:n寻道时间(寻道时间(seek time):将磁盘引臂移动):将磁盘引臂移动到指定柱面所需要的时间;到指定柱面所需要的时间;n旋转延迟(旋转延迟(ro
28、tational delay):指定扇区):指定扇区旋转到磁头下的时间;旋转到磁头下的时间;n传输时间(传输时间(transfer time):读):读/写一个扇写一个扇区的时间区的时间。戳候注勋葛叭艰奉按裙援悄惦贤磁濒赤铬捆供侠领俐汪蹈儒乳慢误檀姑钻操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.6.1 磁盘磁盘I/O参数参数n寻道时间寻道时间Ts计算公式如下:计算公式如下:nTs=mnsn其中,其中,n为跨越磁道数,为跨越磁道数,m为跨越一个磁道为跨越一个磁道所用时间,所用时间,s为启动时间。为启动时间。n旋转延迟旋转延迟Tr计算公式如下:计算公式如下:nTr=1/(2r)n其
29、中,其中,r为磁盘转速。该公式给出的是平均为磁盘转速。该公式给出的是平均旋转延迟,它是磁盘旋转一周时间的一半,旋转延迟,它是磁盘旋转一周时间的一半,即旋转半周所花费的时间。即旋转半周所花费的时间。汐杰平砾钟米碎之滨津慰唤付狄饯仪桔凹诗金燕围霍箕宰独爆蓖眩量扼萨操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.6.1 磁盘磁盘I/O参数参数n传输时间传输时间Tt计算公式如下:计算公式如下:nTt=b/(rN)n其中,其中,b为读为读/写字节数,写字节数,r为磁盘转速,为磁盘转速,N为一条磁道上的字节数。为一条磁道上的字节数。 帅恭芜鸣莆豹拼熬窄辱友镜怯萝恕墅诧慷实垢车握锄咱艾浚猴卑刷枚
30、葛赫操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.6.1 磁盘磁盘I/O参数参数n因此,可将访问时间因此,可将访问时间Ta表示为:表示为:n访问磁盘通常是以扇区(块)为单位的,访问磁盘通常是以扇区(块)为单位的,令令M为一个磁道上扇区的个数,则一个为一个磁道上扇区的个数,则一个扇区的访问时间为:扇区的访问时间为:寇换肪吸邀斯井驶乍楞虑刚牺讲评沮找名棠狼坞突恋夯小泼缎禁龄牟自佬操作系统第八章设备与IO管理操作系统第八章设备与IO管理例题例题n例例8-1设有一个只有一个移动磁头的磁盘,磁道由外设有一个只有一个移动磁头的磁盘,磁道由外向内编号向内编号0、1、2、199,磁头移动一个磁道
31、所,磁头移动一个磁道所需时间为需时间为1ms,每个磁道有,每个磁道有100个扇区,磁盘转速个扇区,磁盘转速6000r/m。采用。采用CLOOK引臂调度算法,当前引臂位引臂调度算法,当前引臂位置处于第置处于第100磁道,当前移动方向由外向内,并规定磁道,当前移动方向由外向内,并规定引臂向内扫描时为路经请求服务。对于如下磁道请求引臂向内扫描时为路经请求服务。对于如下磁道请求120、85、70、30,每个请求访问对应磁道上的一个,每个请求访问对应磁道上的一个扇区,问:扇区,问:n(1)给出引臂移动序列,计算引臂移动量和寻道时间,忽略启给出引臂移动序列,计算引臂移动量和寻道时间,忽略启动时间;动时间;
32、n(2)计算平均旋转延迟时间;计算平均旋转延迟时间;n(3)计算传输时间;计算传输时间;n(4)计算所有访问处理时间。计算所有访问处理时间。效板嘘输月枢雾篡蕊日容硕隙泡廷卜殖停毡蟹逻钓睹荔域敲光瞻倦肇埂尊操作系统第八章设备与IO管理操作系统第八章设备与IO管理例题例题n解答:解答:n(1)磁盘引臂移动序列为磁盘引臂移动序列为: 100120307085,跨越磁道数:,跨越磁道数:20+90+40+15=165。共需寻道时。共需寻道时间间1651ms=165ms.n(2) 1次访盘的旋转延迟为:次访盘的旋转延迟为:Tr=1/(2r)=1/(2(6000/m)=1/(2(100/s)=5ms,4次
33、访盘的旋转延迟为次访盘的旋转延迟为45ms=20ms.n(3) 1次访盘的传输时间为:次访盘的传输时间为:Tt=1/(rM)=1/(6000/m)100)=1/(100/s)100)=0.1ms,4次访盘的传输时间为次访盘的传输时间为40.1ms=0.4ms.n(4)所有访问处理时间所有访问处理时间=165+20+0.4=185.4(ms)。既陶博耸蹦雏年踩修悟泪案鹤虱沟咨朔如蜀须动津三守鸵巫宫蜜捞晃琳胳操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.7 缓冲技术n设备设备处理数据到达与离开速度不一致所采用的技术处理数据到达与离开速度不一致所采用的技术。nBuffering vs.
34、 Cachingnbuffering: one data copyncaching: multiple data copy (slow多多, fast少少)n硬缓冲与软缓冲硬缓冲与软缓冲 n硬缓冲区通常设在设备中硬缓冲区通常设在设备中 n软缓冲区通常设在内存系统空间中软缓冲区通常设在内存系统空间中 n私用缓冲与公共缓冲私用缓冲与公共缓冲 n一个缓冲区与一个固定设备相联系,不同设备使用不同的缓冲区一个缓冲区与一个固定设备相联系,不同设备使用不同的缓冲区 n利用率低利用率低 n缓冲区由系统统一管理,按需要动态分派给正在进行缓冲区由系统统一管理,按需要动态分派给正在进行I/O传输的设传输的设备备苯乱
35、晤嚎计致肘改跳耐搬骆狸淖遣噎栗荔泰码滚层札锣隶袖萧涣忆袋坚铜操作系统第八章设备与IO管理操作系统第八章设备与IO管理空缓冲空缓冲空缓冲空缓冲空缓冲空缓冲.head共共n个个Var buf_num:semaphore; (init n) mutex:semaphore; (init 1)1. 申请申请 2. 释放释放(1) P(buf_num) P(mutex)(2) P(mutex) 空缓冲入链尾空缓冲入链尾(3) 取链头空缓冲取链头空缓冲 V(mutex)(4) V(mutex) V(buf_num)缓冲池管理缓冲池管理 tail棚乍豢授洛躬如焉硷对井揭去褒淄谜辐锭迸开砍害食酮余饰挪闻们路坚
36、甥操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.7.5 缓冲技术实现:输入设备 进程空间进程空间缓冲缓冲输入设备输入设备缓冲缓冲缓冲缓冲.io链惯遭情盔楼侗蛹仪谨淳瑶炳堕擒债厢萍玄海奴讳蔽白某钮耘蔷锤渗澎风敖操作系统第八章设备与IO管理操作系统第八章设备与IO管理进程方面:进程方面:中断方面:中断方面:IO链空链空设备忙设备忙申请空缓冲申请空缓冲启动设备启动设备等待等待由由io链取一缓冲链取一缓冲信息信息进程空间进程空间释放空缓冲释放空缓冲缓冲入缓冲入io链链有等待进程有等待进程唤醒唤醒传输完毕传输完毕申请空缓冲申请空缓冲启动设备启动设备FTFTFTTF叼贫踪将肄驰吉贵讯蛙剪智缨
37、钎装退敌踞题绝熄丫策抒喧搀域垂赢仅被滇操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.7.5 缓冲技术实现:输出设备 进程空间进程空间缓冲缓冲输出设备输出设备缓冲缓冲缓冲缓冲.io链和荣抿导俊爆衷肿号丑骨锤氛玖娩杂体乖瞩锑在白箕哗助烹虱拆韭厉年线操作系统第八章设备与IO管理操作系统第八章设备与IO管理进程方面:进程方面:中断方面:中断方面:申请一空缓冲申请一空缓冲信息信息缓冲缓冲设备忙设备忙启动设备启动设备缓冲入缓冲入io链链传输完传输完TFFT释放空缓冲释放空缓冲io链空链空取一缓冲取一缓冲启动设备启动设备TF暂渺驼动翼讯草降吏梗瘩坪开现绞友寨可否指硝哀斌犯檄茂鲍痞驳儡钨腥操作系
38、统第八章设备与IO管理操作系统第八章设备与IO管理8.7.5 输入输出设备:输入输出设备:(磁带、磁盘磁带、磁盘) 缓冲区头缓冲区头缓冲区体缓冲区体设备块号设备块号IO标识标识等待进程等待进程块型缓冲区:块型缓冲区: 进程空间进程空间缓冲缓冲IO设备设备缓冲缓冲缓冲缓冲.io链链诚婪忌让是舟酪植汉吭番幼逝粉秒董欣秒钎我蒋蹈端溜糠矢扛铭阮区过芋操作系统第八章设备与IO管理操作系统第八章设备与IO管理进程方面进程方面(输入输入):进程方面进程方面(输出输出):中断方面:中断方面:申请空缓冲申请空缓冲填写头部填写头部设备工作设备工作入入io链尾链尾启动设备启动设备信息信息进程进程释放缓冲释放缓冲申请
39、空缓冲申请空缓冲填写头部填写头部信息信息缓冲缓冲设备工作设备工作启动设备启动设备入入io链链输入输入唤醒唤醒等待等待者者释放释放空缓空缓冲冲io链空链空取一缓冲取一缓冲启动设备启动设备FTFTTFFT等待等待诡楔卑鹊鸟袱棕莱樟阜调驼以疯嘛宦悍傲擅卸缮陀彩铸琅遵屋涂撤肝嘴梧操作系统第八章设备与IO管理操作系统第八章设备与IO管理UNIX缓冲缓冲n字符型缓冲字符型缓冲n100个缓冲区,长度个缓冲区,长度8字节字节(6字符字符+2指针指针)n组成公共缓冲池,所有字符型设备公用组成公共缓冲池,所有字符型设备公用n缓冲区或属于缓冲区或属于cfreelist, 或属于某字符设备或属于某字符设备(eg. t
40、ty,lp)n块型缓冲块型缓冲n50个缓冲区,长度个缓冲区,长度514字节字节n组成公共缓冲池,所有块型设备公用组成公共缓冲池,所有块型设备公用n缓冲区可属于缓冲区可属于bfreelist and/or devtabn预先读入的块预先读入的块(breada)n延迟写出的块延迟写出的块(bdwrite)丘午圈谱毗肉烦那浅建涯芹冕呵稻闺失执顺韭亚捐饱掉挽躁尼殉寒葫挟炼操作系统第八章设备与IO管理操作系统第八章设备与IO管理字符型设备缓冲字符型设备缓冲struct cblock struct cblock *c_next; char info6;struct cblock *cfreelist; /
41、free c blocks struct clist /associated with a character device int c_cc; /character count int c_cf; /pointer to first block int c_cl; /pointer to last block钥祸棍闭轧沟蚁寡栽蔚昼骂橇钧亮帽匙躲羌绑厨攻伊分尊痛沿掳烟锦僻粗操作系统第八章设备与IO管理操作系统第八章设备与IO管理struct buf /actually a buffer header, shared by all mounted disks int b_flags; /BUSY
42、, ASYNC, DELWRI, DONE. struct buf *b_forw; /headed by devtab struct buf *b_back; struct buf *av_forw; /position on free list struct buf *av_back; int b_dev; int b_wcount; /transfer count char *b_addr; /low order core (buffer) address char *b_xmem; /high order core (buffer) address char *b_blkno /blo
43、ck # on device char b_error; char *b_resid; /word not transferred after error bufNBUF块型设备缓冲(头部)雾豹菇团妖故邦撬琶死捞积硅找杖漆之岸挨嗜惭昭僚飞旗可陋薪扭椅敬燎操作系统第八章设备与IO管理操作系统第八章设备与IO管理15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0B_READ/B_WRITEB_DONEB_ERRORB_BUSYB_WANTEDB_RELOCB_ASYNCB_DELWRIb_flag:远维帮书扯送色凄器厦苟巨铣瑟捷朗腥剂刘瓣鲁熄筋李悯准保会药届刚了操作系统第八
44、章设备与IO管理操作系统第八章设备与IO管理struct devtab /设备设备IO队列队列 char d_active; /busy flag char d_errcnt; /error count struct buf *b_forw; /first buffer for this dev struct buf *b_back; /last buffer for this dev struct buf *d_actf; /head of IO queue struct buf *d_actl; /tail of IO queuechar buffersNBUF514; /块型缓冲区块型缓
45、冲区struct buf bfreelist; /缓冲区头部的链头缓冲区头部的链头琳麦辛列谈乎蔫篷且之矮蛤姐听钒柴秤臭越榷觉痰仰翔谩燥菇烤节奴伤皆操作系统第八章设备与IO管理操作系统第八章设备与IO管理struct devtab char d_active; char d_errcnt; struct buf *b_forw; struct buf *b_back; struct buf *d_actf; struct buf *d_actl;1821bfreelist35658368灸明椽藏袖鸦怕载猛毯窟裔卯煤掏逸锦竖控谗滤酝位庙诱权艰柒撵利入永操作系统第八章设备与IO管理操作系统第八章设备
46、与IO管理相关操作:getblk(dev,blkno) /assign a buffer for the given block bread(dev,blkno) /read a block(if necessary), return buf pointerbreada(dev,blkno,rablkno) /read in first block, like read; but also start io on second block bwrite(bp) /write the buffer, wait for completion, then releasebawrite(bp) /st
47、art the io, release buffer, no wait for completionbdwrite(bp) /release buffer, mark it so that if it is grabbed for another purpose, it will be written out before being given upbrelse(bp) /release the buffer, with no io implied啡悬宿蘸枣维俊比赠冒憾乳甸凭蜗趋瓢鼻稠筹草匝殴岳片封织畸啸仰篡娜操作系统第八章设备与IO管理操作系统第八章设备与IO管理getblk(dev,bl
48、kno)n参数:参数: dev:设备号,设备号,blkno: 设备块号设备块号n返回:缓冲区指针返回:缓冲区指针bpn步骤:步骤:n块在块在b链中,且当前空闲链中,且当前空闲n由由av链摘除,标记链摘除,标记BUSY, 返回缓冲块指针返回缓冲块指针n块在块在b链中,但链中,但BUSY(其它进程在用其它进程在用)nsleep(空闲事件发生空闲事件发生),返回缓冲块指针,返回缓冲块指针n不在不在b的链中,在的链中,在av链上取到延迟写的块链上取到延迟写的块n写出该块,分配下一个缓冲区写出该块,分配下一个缓冲区n不在不在b的链中,的链中,av链已空链已空n等待任意缓冲区变空闲的事件等待任意缓冲区变空
49、闲的事件n不在不在b的链中,在的链中,在av链上得到空缓冲链上得到空缓冲n填写头部,由填写头部,由av链摘除,出旧链摘除,出旧b链,如新链,如新b链,返回缓冲块指针链,返回缓冲块指针魔春揭咱鹏储娜址惦籽然叫础噎知激羞祈棍顾转戍滤扇末伍持值腾独赎适操作系统第八章设备与IO管理操作系统第八章设备与IO管理brelse(bp)n参数:参数:bp: 缓冲区头指针缓冲区头指针n返回:无返回:无n步骤:步骤:nIf 有等待者有等待者(b_flag&B_WANTED!=0),唤醒唤醒;nElsenbfreelist上有等待者上有等待者,唤醒唤醒nbp入入av链链垮现婆嘱枉痞令罗坏熏穆成螟铃勇隙险焉胁褒传部灌
50、辗篡赁扇昆闪槽斩蹦操作系统第八章设备与IO管理操作系统第八章设备与IO管理bread(dev,blkno)n参数:参数:dev:设备号,设备号,blkno: 设备块号设备块号n返回:载有信息的缓冲区返回:载有信息的缓冲区bpn步骤:步骤:nbp=getblk(dev,blkno)nif (缓冲区数据有效缓冲区数据有效)nreturn(bp) /在在cache中得到中得到n启动磁盘读启动磁盘读(d_actf/d_actl链链)nsleep(等待读盘完成事件等待读盘完成事件)n中断中断n唤醒唤醒nreturn(bp) 屁葛耶暗埔菩绕鞭臼审皆辗炭弛熙铣露九轨泼秤刚八瓤切状蛾常迭翟才逻操作系统第八章设
51、备与IO管理操作系统第八章设备与IO管理breada(dev,blkno,rablkno)n参数:参数:dev:设备号,设备号,blkno:读块号,读块号,rablkno:预读块号预读块号n返回:返回:blk缓冲块指针缓冲块指针rbpn步骤:步骤:nrbp=getblk(dev,blkno)nif(信息无效信息无效)n启动设备读入启动设备读入(d_actf/d_actl链链)nrabp=getblk(dev,rablkno)nif (B_DONE) /缓冲区从缓冲区从b链得到链得到nbrelse(rabp) /入入av链链nelse /缓冲区从缓冲区从av链得到链得到n启动设备读入启动设备读入
52、(d_actf/d_actl链链) /中断时入中断时入av链链niowait(rbp)nreturn(rbp)糯造归兼九橡乏醒伪钾青疚妄掂崭盈喧宛惊曾布牡获外碧定气或疑补奢歇操作系统第八章设备与IO管理操作系统第八章设备与IO管理bwrite(bp)n参数:参数:bp:缓冲区指针:缓冲区指针n步骤:步骤:n入设备入设备d_act队列队列(若设备不忙启动设备若设备不忙启动设备)nif(! B_ASYNC)nsleep(等待等待IO完成事件完成事件)n中断中断n唤醒唤醒nbrelse(bp), (bp入入av链链)蜘完秦蚁漏锻拱笋恃烹发津羞健鬃弃扑挣碰动袄泻被辕膛斌权所悟昨厚尿操作系统第八章设备与
53、IO管理操作系统第八章设备与IO管理bdwrite(bp)n参数参数: bp: 缓冲区指针缓冲区指针n返回返回: 无无n步骤:步骤:n标记标记b_flags =| B_DELWRI | B_DONEnbrelse(bp), (bp入入av链链)兔才陛涝雍享狡构惕备宰边盗汉省尖痴休慷基呈紧坠随腕鸭敬委寂贯慨芋操作系统第八章设备与IO管理操作系统第八章设备与IO管理bawrite(bp)n参数:参数:bp: 缓冲区头指针缓冲区头指针n返回:无返回:无n步骤:步骤:nbp-b_flag =| B_ASYNCnbwrite(bp)n中断中断n入入av队列队列密胺烬缔好幕董孵故韧稠弱黍柞厕蝗蒙瓦研晶夹胁
54、馈体汞背袄总杯铺撞勤操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.8 输入输出进程输入输出进程n专门负责专门负责IO传输的进程传输的进程n另外一种另外一种IO模式模式服务模式服务模式nC/S Modeln特点特点n界面清晰界面清晰,方便使用方便使用n两次进程切换两次进程切换,速度问题速度问题珊妒动后汀邮父离私尹俗江邑涨么崔栓怪钓杠淮斩浅阿痊煮激互栅浦革恳操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.9 RAID技术nRAID: nRedundant Array of Inexpensive Disksncompared with SLEDs (Single Larg
55、e Expensive Disks)nRedundant Array of Independent Disks /独立磁盘冗余阵列独立磁盘冗余阵列nProposed by researchers at UC BerkeleynDavid A. PattersonnBackgroundndisk access speed increases slowly compared with CPUnsolution: multiple parallel componentnObjectivenenhanced performancenhigh reliability博绣姥蹭舱顿扒眠豆条瑟慨力赦睁搏源淳俘
56、间辰低镀售肾煎勉作宿涣用习操作系统第八章设备与IO管理操作系统第八章设备与IO管理RAID技术nRAIDnRAID is a set of physical disks viewed by the operating system as a single logical drivenData are distributed across an array of physical drivesnRedundant disk capacity is used to store parity information, which guarantees data recoverability in c
57、ase of disk failurenHardware RAID vs. Software RAIDnhardware based: special controller nWindows NT, 2000, UNIX support software RAIDnSCSI RAID vs. IDE RAIDnperformance: SCSI outperforms IDEnprice: IDE beats SCSI定玄振窖俗剖努徽雕疑胞黎礼舜槐找孙筋尧秧账峰番羌涪搬播植胜签冬秆操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.9.1 RAID级别nRAID级别级别: 行业标准规定
58、的数据在多个磁行业标准规定的数据在多个磁盘上的存放方法。盘上的存放方法。n常见常见RAID级别级别: level0, , level5; nRAID分条分条(stripping)数据存储方式数据存储方式n位级分条位级分条(bit-level stripping)n块级分条块级分条(block-level stripping)nRAID衡量指标衡量指标l速速 度度: 是否支持多个访问同时进行是否支持多个访问同时进行;l可靠性可靠性: 是否能够发现和改正错误是否能够发现和改正错误;l成成 本本: 是否有额外的开销和开销的大小是否有额外的开销和开销的大小.How to organize data a
59、cross multiple disks? Industry standards scheme氓穗话掳正锌著祝竣玻橇沙府仍它彦狞撰腆纪廉舷赃拌斯烛艰飘老钱坯蔓操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level0(数据分条数据分条)n数据分条以块为单位数据分条以块为单位, 连续的数据条循连续的数据条循环存放在多个磁盘上。环存放在多个磁盘上。l访问速度快;访问速度快; l经济,空间利用率经济,空间利用率100;l无容错能力,可靠性差。无容错能力,可靠性差。block0block4block8Disk1block1block5block9Disk2block2block6block1
60、0Disk3block3block7block11Disk4控控 制制 器器(4,5)(2,3)读请求读请求写请求写请求掖哲塌孵狸绪闻缘舍井谊甲晋霖订歼谱日今殆锯视蛰窄哟荐梨搂勇兼呢屠操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level1 (镜像镜像,mirroring):n数据分条以块为单位数据分条以块为单位, 采用分布镜像方式存储采用分布镜像方式存储, 即完即完全相同的数据重复存放在两个盘上。全相同的数据重复存放在两个盘上。l访问速度快访问速度快; 读一个盘、写两个盘读一个盘、写两个盘;l可靠性可靠性(恢复性恢复性)高高;l费用高费用高, 是无镜像磁盘数的是无镜像磁盘数的2倍
61、倍, 空间利用率空间利用率50。block0block3block6Disk1block1block4block7Disk2block2block5block8Disk3控控 制制 器器(3,4)(8)读请求读请求写请求写请求block0block3block6Disk4block1block4block7Disk5block2block5block8Disk6炉颈温译巧习店舍凹铁锨猴从漱琶篱挚搽昏疽窖烬纸摘疼投雨痞匝捕梭勾操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level2 (位级汉明纠错码校验与恢复位级汉明纠错码校验与恢复): n数据以位数据以位(bit)为单位分条为单位分
62、条, 分布存放在多个数据磁盘上分布存放在多个数据磁盘上, 汉汉明纠错码存放在纠错磁盘上。明纠错码存放在纠错磁盘上。bit0Disk1bit1Disk2bit2Disk3控控 制制 器器(3,4,5)写请求写请求bit3Disk4bit4Disk5bit5Disk6bit6Disk7啊胳甜扛詹裙埠禹侵圾沙颖微娱水烟涵助抄框肝烩都踪晒涩染祈矗扁舟齐操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level2 (位级汉明纠错码校验与恢复位级汉明纠错码校验与恢复):n纠错能力强纠错能力强, 可靠性高可靠性高;n发现发现2个错误个错误, 纠正纠正1个错误个错误.n需要较多纠错盘存放汉明纠错码需要
63、较多纠错盘存放汉明纠错码, 成本较成本较高高;n不能同时为多个请求服务不能同时为多个请求服务, 速度较慢速度较慢:n读操作读操作: 所有磁盘同时访问所有磁盘同时访问, 数据与错误校验数据与错误校验码被送到磁盘阵列控制器码被送到磁盘阵列控制器;n写操作写操作: 必须同时访问所有数据盘和纠错盘。必须同时访问所有数据盘和纠错盘。景佐圾烫肚摊圆拔案凳匿饮漂学炽再孕浸沪姐虐詹热曾罢输毛卉激慨齿咎操作系统第八章设备与IO管理操作系统第八章设备与IO管理n数据以位数据以位(bit)为单位分条为单位分条, 分布存放在多个数据分布存放在多个数据磁盘上磁盘上;只用一个冗余磁盘存放奇偶校验位。只用一个冗余磁盘存放奇
64、偶校验位。bit0Disk1bit1Disk2bit2Disk3bit3Disk4奇偶校验奇偶校验Disk5l有一定容错能力有一定容错能力;l存储代价较低存储代价较低;l读写需要访问所有盘读写需要访问所有盘, 多个读写不能多个读写不能并行。并行。控控 制制 器器(0,1)等待等待(3)写请求写请求写请求写请求Level3 (位级单个奇偶校验位级单个奇偶校验)墨蛊癣伏陨恿芜井滚苍辈挫搞斯蚀弱衔宋费除锯啸给臆朔圆祁量吧樊槛烩操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level4 (块级异或校验块级异或校验): n数据分条以块为单位数据分条以块为单位, 用异或运算产生校验信息用异或运算
65、产生校验信息, n校验信息保存在单独的磁盘上。校验信息保存在单独的磁盘上。block0block4block8Disk1block1block5block9Disk2block2block6block10Disk3block3block7block11Disk4P0-3P4-7P8-11Disk5控控 制制 器器(5,6)(11)读请求读请求读请求读请求玄苹最咒穴独喀羌薛鞘既近猜苗靳仕阔沟矩伸槐疚嫂争阳脊今科守杠看眶操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level 4 (Cont.)l读操作不进行异或校验读操作不进行异或校验, 可以并行可以并行;l写操作要更新异或校验信息写操
66、作要更新异或校验信息, 都访问校验盘都访问校验盘, 不能并行不能并行; 写操作时校验信息更新写操作时校验信息更新: P47=(block4 xor block4)xor p47l异或校验信息用于磁盘发生故障时数据块的恢复。异或校验信息用于磁盘发生故障时数据块的恢复。 例如例如: 若若block7所在的所在的Disk4发生故障发生故障, 要恢复要恢复block7。 block7= p47 XOR (block4 XOR block5 XOR block6) 厘蘸衙愿狸冬诧键涝允善丛田脐劲困贤谗夺赐爪言撕斤焊革基孩扰掐协悠操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level5 (块级
67、分布式异或校验块级分布式异或校验)n数据分条以块为单位数据分条以块为单位, 异或校验信息分散循环保存在各异或校验信息分散循环保存在各磁盘上磁盘上。block0block4block8block12P1619Disk1控控 制制 器器(1)(6)写请求写请求写请求写请求block1block5block9P1215block16Disk2block2block6P811block13block17Disk3block3P4-7block10block14block18Disk4P03block7block11block15block19Disk5京阶纹绣潦伦谱咽娩默县像攻艰但署匪焚砧豺料筐绵拢努
68、莫辱乳纪惧肠抢操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level5 (块级分布式异或校验块级分布式异或校验)n校验码计算:np47=block4 XOR block5 XOR block6 XOR block7n若若block7发生故障,可通过下式恢复发生故障,可通过下式恢复nblock7=p47 XOR block4 XOR block5 XOR block6情剑焚桥篱垂役慈糖肆眉贞址嘴伤怯檄缴譬樱甸审囚庄酌劫茧募阎铲如旺操作系统第八章设备与IO管理操作系统第八章设备与IO管理Level 5 (Cont.)l磁盘数量至少为磁盘数量至少为3个个;l读操作可并行读操作可并行;l不
69、涉及相同数据盘和校验盘的写操作可以并行不涉及相同数据盘和校验盘的写操作可以并行;l对于单盘容量为对于单盘容量为S、数量为、数量为N的磁盘阵列的磁盘阵列, 有效存储容量有效存储容量为为: S(N-1) 磁盘利用率磁盘利用率为为: (N-1)/Nl任意磁盘发生故障任意磁盘发生故障, 均可根据其它均可根据其它N-1个磁盘个磁盘恢复恢复;馅揩扛缅兽思辐菊羌浮日谷亚煌览夏驭豺郝山申龙簿悄措店沿投军糊郑祭操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.9.1 RAID级别级别(Cont.)表表8-1 RAID 级别的比较级别的比较Level 分条粒度分条粒度读并发性读并发性写并发性写并发性冗余
70、冗余(容错容错/开销开销)0块支持支持无1块支持不支持镜像2位不支持不支持汉明纠错码奇偶校验与恢复3位不支持不支持单个奇偶校验4块支持不支持块级异或校验5块支持支持块级分布式异或校验揖凯有坏树款椿疽仰聚贰啪筋媒侈劫陋宠帐呢镊调个穿如顶殊雕熄啸褒怠操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.9.2 Remark on Software RAIDnPros:ncost lessnsimplicitynCons:nperformancenboot volume limitation /导引卷不能是RAIDnlevel support: only 0,1,5 are supported
71、nOS compatibility: multiple problemnother software compatibilitynreliabilitynsoftware bugs苦棘壬阅踊旨韧蚕统将贼私洁频斌朗仿若不渐朗茵芝溪擦荧咆啃注哮意健操作系统第八章设备与IO管理操作系统第八章设备与IO管理Benefit from RAIDnIncreased read/write speednImproved data reliabilitynEnlarged storage capacitynmultiple disks viewed as a single volume丧武贤爽饱谜镶坪浩盎陡萝盈
72、额梨薯惯钞倔腻俭伞婆利戮谚带狡骗衍俭思操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.10 虚拟设备虚拟设备n概念概念n利用共享型设备实现的数量较多、速度较快的独占型设利用共享型设备实现的数量较多、速度较快的独占型设备备n引入引入n用户直接使用独占型设备效率低用户直接使用独占型设备效率低n实现实现n输入型虚拟设备输入型虚拟设备n输出型虚拟设备输出型虚拟设备n虚拟设备的例子虚拟设备的例子nSPOOLing输入输入nSPOOLing输出输出撬善汛之钻瑚茁讳巩拙逃呻苔密掀耘抠惠令契俩讹拴尊焚凳咖昆旭碎炭截操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.7.1 虚拟设备引入虚拟
73、设备引入l用户使用独占型设备活动:用户使用独占型设备活动:申请,使用,使用,申请,使用,使用,使用,释放,使用,释放l缺点:缺点:速度:速度:CPU与设备速度不匹配与设备速度不匹配设备利用率:占有期间不一定一直使用设备利用率:占有期间不一定一直使用进程独占此设备进程独占此设备则拍齿蝗篇咱快篡操鲁禾熬贩炎惦藩驼枕欺杏笺液蛾盛庭太盈际叶娥秀魂操作系统第八章设备与IO管理操作系统第八章设备与IO管理l方法:方法:在进程与独占型设备之间增加共享设备缓冲在进程与独占型设备之间增加共享设备缓冲虚拟虚拟设备设备虚拟虚拟设备设备虚拟虚拟设备设备虚拟虚拟设备设备进程进程独占设备独占设备 共享设备共享设备(如磁盘
74、)(如磁盘)间断传输间断传输连续传输连续传输造禹壹彩霄诱擎等祁些敞肛刮挚蔓挖俩韭择邓赘见洪熏宠积硬损腔桥界钻操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.10.2 虚拟设备的实现虚拟设备的实现l输入型虚拟设备的实现输入型虚拟设备的实现申请:申请:l分配一虚设备分配一虚设备l分配一实设备分配一实设备l信息由实设备信息由实设备虚设备虚设备l去配该实设备去配该实设备使用:使用:l信息由虚设备信息由虚设备进程空间进程空间释放:释放:l去配虚设备去配虚设备泛敌筷你嗣错胃纪娠贯绥谭姥羡荤炊晃晓闪徒褐谎豺晨肢涡募度启绸绑六操作系统第八章设备与IO管理操作系统第八章设备与IO管理l输出型虚拟设备
75、的实现输出型虚拟设备的实现申请:申请:l分配一虚设备分配一虚设备使用:使用:l信息由进程空间信息由进程空间虚设备虚设备释放:释放:l分配一实设备分配一实设备l信息由虚设备信息由虚设备实设备实设备l去配实设备去配实设备l去配虚设备去配虚设备8.10.2 虚拟设备的实现虚拟设备的实现后藕驴鸦厨莲碌队了拾鬃听矫羚刽寄德翰巾臆煌雷谣掷讨勒负洲墩诈萤背操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.10.3 虚拟设备的例子虚拟设备的例子nSPOOLing输入输入n作业预输入(输入机作业预输入(输入机输入井)输入井)nSPOOLing输出输出n作业缓输出(输出井作业缓输出(输出井输出机)输出机
76、)nSPOOLingnSimultaneous Peripheral Operation On-Linen由由SPOOLing程序控制通道完成程序控制通道完成搔知贮港牵友樊醇揩贬络厄蕾遍娱尾恋侦搀挎眷直渴隆凛碎猜汪营寺杖晚操作系统第八章设备与IO管理操作系统第八章设备与IO管理作业控制块作业控制块(Job Control Block)n作业存在标志,其中保存系统管理作业需要的全部信作业存在标志,其中保存系统管理作业需要的全部信息。息。nJCB内容:内容:n作业标识作业标识n用户标识用户标识n作业状态作业状态n调度参数调度参数n作业位置作业位置n资源需求资源需求n进入时间进入时间n处理时间处理时
77、间n记账信息记账信息福澜荧晚塘粟第截瘟踌区献翘乳龟惹揖父培哗粗炊郊箍迫帕启椿诡倘狞蛆操作系统第八章设备与IO管理操作系统第八章设备与IO管理.job11job1m.输入井输入井预输入进程预输入进程输入机输入机预输入进程预输入进程通道通道通道通道内存内存.SPOOLing输入程序(输入程序(1)vs. SPOOLing输入进程输入进程(n)输入机输入机烩滁缚敢突歼锡名担椒昌旦忙狱发轩舶脏鞠蝎辣遍抱戴儒各诚图掐铆栏戒操作系统第八章设备与IO管理操作系统第八章设备与IO管理有待输入作业有待输入作业 有空闲作业表有空闲作业表等待等待等待等待取一取一“空闲空闲”作业表为作业表为JCB作业状态改为作业状态
78、改为“提交提交”申请输入井空间申请输入井空间作业内容作业内容输入井输入井填写填写JCB作业状态改为作业状态改为“后备后备”作业调度作业调度1等待等待 “后备后备”作业作业唤醒唤醒SPOOLing 输入程序输入程序FTFTFT媚融稠禽付絮章踩铸臼萧抑磊茨班吮芽晦孪央底恬损敬咋肥吁召扭吠痰稍操作系统第八章设备与IO管理操作系统第八章设备与IO管理FT内存中已有内存中已有N道作道作业等待等待输入井中有后入井中有后备作作业等待等待访问磁磁盘中的作中的作业表表根据根据JCB中的中的调度参数度参数按照作按照作业调度算法度算法选一后一后备作作业作作业状状态标记为“执行行”为该作作业建立作建立作业控制控制进程
79、程F作作业调度程序(度程序(1)T突晤廓暴猖刷兄辜讣疙垢腰各颁竹钱装忙徘蕴渴恢俯棉巧反舞宋岭认晨档操作系统第八章设备与IO管理操作系统第八章设备与IO管理FTF有有终止的作止的作业控制控制进程程等待等待取一取一终止的作止的作业控制控制进程程撤撤销该作作业控制控制进程并作善后程并作善后处理理对应作作业状状态改改为“完成完成”作作业调度程序度程序(1)因内存有因内存有N道作道作业而等待而等待唤醒醒有等待有等待“完成完成”作作业的假脱机的假脱机输出出程序程序唤醒一个醒一个TF作作业调度程序(度程序(2)T烙臂潮雾剧领坠潍撩笛誓径摸慑仙喀鸡哆拆魄誓癣锦寞毙变汾疲峨旦牛冰操作系统第八章设备与IO管理操作
80、系统第八章设备与IO管理.通道通道通道通道job11job1n.输出井输出井缓输出进程缓输出进程缓输出进程缓输出进程内存内存输出机输出机输出机输出机SPOOLing输出程序(输出程序(1)vs. SPOOLing输出进程输出进程(n)泡槽财炙抵嫉服幼乎龙酶圾库瞪济橱瞻激襄涤村痪倾烙第疙厢布经该阂店操作系统第八章设备与IO管理操作系统第八章设备与IO管理输出作业结果输出作业结果释放输出井空间释放输出井空间状态改为状态改为“空空闲闲”有等空闲有等空闲JCB的预输入进程的预输入进程唤醒一个唤醒一个输出井有输出井有“完成完成”作作业业取一取一“完成完成”作作业业状态改为状态改为“退出退出”等待等待SP
81、OOLing 输出程序FTTF闷孩蜀醒熙宴正结回烩岛蹈矗溯拈褐茄谐疗一锈掺呀侥嫌赤顾啥海暂矾包操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.11 稳定存储器稳定存储器(stable storage)n定义定义n不丢失信息的存储器称为稳定存储器不丢失信息的存储器称为稳定存储器n实现实现n不存在绝对可靠的存储介质不存在绝对可靠的存储介质n策略:冗余策略:冗余n在两种失效独立的介质上构建在两种失效独立的介质上构建n保存保存n将信息写到第一个存储块将信息写到第一个存储块n上述操作成功后,将相同信息写到第二存储块上述操作成功后,将相同信息写到第二存储块n仅当第二次传输也成功时,整个保存操作
82、完成仅当第二次传输也成功时,整个保存操作完成蟹识洗高寓豫粱键响仁瑟侩弟寐拼契慰邯恫被世坤捶关下捌正秀羊朝万斥操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.11 稳定存储器稳定存储器(stable storage)n实现实现n恢复恢复n鉴别两个数据块内容鉴别两个数据块内容n一对信息完全相同,且无检测到错误,正常一对信息完全相同,且无检测到错误,正常n其中一块检测到错误,用另一块取代其中一块检测到错误,用另一块取代n两块均未检测到错误,但内容不同,用第二块内容取两块均未检测到错误,但内容不同,用第二块内容取代第一块内容代第一块内容痢滑按胸卫尉堂术荔堑钒珠脑杭丑澎广乾斋侵派少感巴赋勿惑
83、幕毖忍盅聂操作系统第八章设备与IO管理操作系统第八章设备与IO管理8.12 系统举例系统举例Linuxn涉及内容涉及内容n设备驱动,设备缓冲,文件管理设备驱动,设备缓冲,文件管理n主要特点主要特点n允许系统管理员动态添加或删除设备,其相应的驱动程序通常允许系统管理员动态添加或删除设备,其相应的驱动程序通常以以DLL的形式动态加载,设备驱动程序可以采用高级语言编写,的形式动态加载,设备驱动程序可以采用高级语言编写,移植性好移植性好n除除NTFS外,支持多种可装卸的文件系统,如外,支持多种可装卸的文件系统,如FAT32、OS/2、HPFS、CDFS等支持映像文件等支持映像文件I/On设备管理子系统
84、以设备管理子系统以I/O请求包请求包(I/O Request Package,IRP)方式驱动,每个方式驱动,每个I/O请求均以表示为请求均以表示为I/O请求包,请求包,I/O管理器负管理器负责协调所有各组成部分之间的相互作用责协调所有各组成部分之间的相互作用n通过系统进程通过系统进程(线程线程)提供异步提供异步I/O,在,在I/O请求的进程请求的进程(线程线程)不需要等待不需要等待I/O传输结果的情况下,请求者可以立即返回,具传输结果的情况下,请求者可以立即返回,具体体I/O操作由系统线程负责完成异步操作由系统线程负责完成异步I/O是通过异步过程调是通过异步过程调用用(Asynchronous Procedure Call,APC)实现的实现的宵场嫌旨肌疏怕脾抨初碘穆肪橙墨龋真蟹痢踢固呕歌歪重员蕾惟落刑乱铣操作系统第八章设备与IO管理操作系统第八章设备与IO管理应用程序应用程序系统服务系统服务IO管理程序文件系统磁盘驱动磁盘驱动光盘驱动光盘驱动磁带驱动磁带驱动Windows2000/XP IO子系统枯殃啪怯橙蔬兜渡破脉飞瓤租香范镐肆诱整缔芭场摘辗婆豫豺胞毙许朋金操作系统第八章设备与IO管理操作系统第八章设备与IO管理