第八章设备与I/O管理设备及其分类设备的物理特性IO传输方式(查询、中断、通道、DMA)设备分配与去配设备驱动设备调度缓冲技术输入输出进程RAID技术虚拟设备8.1设备及其分类用途–存储型设备磁盘,磁带,光盘–IO型设备扫描仪,打印机,mouse,keyboard,monitor,网卡,etc.管理–共享型设备(块型)多个进程的IO操作以块为单位可以交叉–独占型设备(块型)多个进程的IO操作以块为单位不宜交叉–独占型设备(字符型)多个进程的IO操作以字符为单位不能交叉IO设备的物理特性传输一字节发生一次中断存储设备的物理特性磁带的物理特性头标信息块信息块信息块…………….尾标间隙操作:反绕,正向查找,反向查找,读,写,…地址:一维文件:顺序结构(一个文件占若干连续块)8.2设备的物理特性...磁盘组的物理特性......……盘面0盘面1盘面2盘面m-1扇区n-1扇区0扇区1柱面0柱面l-1…...引臂柱面号i盘面号j扇区号k块号b(一维地址)(三维地址)编址方法:使相邻块物理上最近例子:l=2;m=3;n=3柱面号:000000000111111111盘面号:000111222000111222扇区号:012012012012012012块号:01234567891011121314151617三维地址一维地址:b=imn+jn+k一维地址三维地址:i=b(mn)j=bmod(mn)nk=bmod(mn)modn未考虑读写延迟的扇区编号:扇区0扇区7扇区6扇区5扇区4扇区3扇区2扇区1扇区0扇区7扇区3扇区6扇区2扇区5扇区1扇区4考虑读写延迟的扇区编号(单交错):扇区0扇区5扇区2扇区7扇区4扇区1扇区6扇区3考虑读写延迟的扇区编号(双交错):光盘的物理特性:读取原理:pit/land螺旋线,22188圈(展开5.6km),内侧转速:530转/分;外侧转速:200转/分(密度均匀,读取速度均匀)………DataECCP14个bit构成一个symble42个symble构成一个frame98个frame构成一个sectorSector2352bytes588bits的frame各包含24个数据字节Preamble:16bytes,前12bytes为:00FFFFFFFFFFFFFFFFFFFF00后随3bytes扇区编号,最后字节为mode2048字节288字节8.3I/O传输方式IO操作演变历史–程序查询方式(programmedIO)(polling)CPUandDevicecannotworkinparallel–中断方式(interrupt)CPUanddevicecanworkinparallel,toomanyinterruptsforCPU–通道方式(channel)specialprocessorfordealingwithiooperations–直接内存方式(DMA)DMAcontrollerinchargeofblockio8.3.1程序控制查询方式CPU启动设备完成FT缺点:处理机与设备串行工作;消耗大量处理机时间.8.3.2中断驱动方式CPU–计算–启动设备–计算–…–计算–中断处理–计算设备:工作特点:CPU与设备并行工作设备多时对CPU打扰多8.3.3DMA方式③数据传输CPUDMA控制器内存地址计数控制缓冲磁盘⑤中断②DMA请求总线磁盘控制器④回答①DMA编程8.3.4通道方式通道–负责IO操作的处理机指令系统–基本操作:读、写、控制、转移、结束–指令格式:(操作码,传输量,特征位,地址)运控部件–CAW,CCW,CSW,CDW存储区域(与CPU共用内存,通道内有缓冲区)–通道程序,IO数据(channeldoeshaveitsbuffers)通道程序执行过程:按CAW取通道命令CCW(CAW)+1CAW是通道结束命令执行此命令F向CPU发中断一个通道程序可以控制若干设备进行多次IO传输。T通道类型:1.字节多路通道(bytemultiplexerchannel)多个非分配型子通道,连接低速外围设备2.数组选择通道(blockselectorchannel)一个分配型子通道,连接多台高速设备3.数组多路通道(blockmultiplexerchannel)多个非分配型子通道,连接多台高速设备设备、通道、内存连接选择通道磁盘字节多路通道打印机输入机内存储器处理机磁带数组多路通道8.4设备的分配与去配独占型设备的分配与去配–块型独占–字符型独占共享型设备的分配与去配–块型共享注意:无论是独占型设备还是共享型设备,在绝对的同一时刻都只能有一个进程使用它进行I/O传输。数据结构设备控制块(UCB)通道控制块(CCB)设备标识设备状态占有设备进程通道标识通道状态通道类型占有通道进程系统设备表(SDT)设备类总数设备等待队列UCB表指针…………lpmSm…………UCBUCB…UCB独占型设备的分配与去配用户使用独占型设备活动:申请,使用,使用,…,使用,释放申请:(1)根据设备类查SDT表(2)P(Sm)(3)查UCB表找一空闲设备并分配使用:(1)IO传输释放:(1)找SDT表对应入口(2)查UCB表,去配(3)V(Sm)8.4设备的分配与去配共享型设备的分配与去配–用户使用共享型设备活动–使用,使用,…,使用–特征–来自文件系统;–每次读(写)一块;–通常经过缓冲;–排队优化。8.5设备驱动通道程序–CCW指令序列–静态编制或动态生成设备启动–通道启动中断处理–通道向CPU发的中断8.5设备驱动设备CAWCCWCDWCSWCCW1CCW2…CCWi...CCWn数据区...形成通道程序...地址CAW...启动通道...中断处理...启动中断内存CPU通道8.6设备调度优化服务顺序考虑因素–公平性:I/O请求在一定时间内得到满足防止饿死–高效性:减少设备机械运动所带来的时间开销减少磁盘引臂移动量磁盘引臂调度(diskheadscheduling)先到先服务(FCFS)--简单、效率低,适合I/O负载较轻的系统–请求序列:130,42,180,15,108,68,9701542536897108130180199移动量:(130-53)+(130-42)+(180-42)+(180-15)+(108-15)+(108-68)+(97-68)=630磁盘引臂调度(diskheadscheduling)最短寻找时间优先(SSTF)--存在公平性和饥饿问题—磁道歧视(Trackdiscrimination)–请求序列:130,42,180,15,108,68,9701542536897108130180199移动量:=314磁盘引臂调度(diskheadscheduling)SCAN(LOOK)–请求序列:130,42,180,15,108,68,97SCAN移动量:(53-0)+(180-0)=233边缘柱面:worst:2N-1average:NLOOK移动量:(53-15)+(180-15)=203中部柱面:worst:N-1average:N/201542536897108130180199LookScan磁盘引臂调度(diskheadscheduling)C-SCAN(C-LOOK)–请求序列:130,42,180,15,108,68,97特点:所有磁道地位最长等待时间相同.N步扫描:对Scan/Look和C-scan/C-look的改进。(略)01542536897108130180199C-LookC-Scan8.7缓冲技术处理数据到达与离开速度不一致所采用的技术。–硬缓冲与软缓冲硬缓冲区通常设在设备中软缓冲区通常设在内存系统空间中–私用缓冲与公共缓冲一个缓冲区与一个固定设备相联系,不同设备使用不同的缓冲区–利用率低缓冲区由系统统一管理,按需要动态与分派给正在进行I/O传输的设备空缓冲空缓冲空缓冲...head共n个Varbuf_num:semaphore;(initn)mutex:semaphore;(init1)1.申请2.释放(1)P(buf_num)P(mutex)(2)P(mutex)空缓冲入链头(3)取链头空缓冲V(mutex)(4)V(mutex)V(buf_num)缓冲池管理8.7.5缓冲技术实现:输入设备进程空间缓冲输入设备缓冲缓冲...io链进程方面:中断方面:IO链空设备忙申请空缓冲启动设备等待由io链取一缓冲信息进程空间释放空缓冲缓冲入io链有等待进程唤醒传输完毕申请空缓冲启动设备FTFTFTTF8.7.5缓冲技术实现:输出设备进程空间缓冲输出设备缓冲缓冲...io链进程方面:中断方面:申请一空缓冲信息缓冲设备忙启动设备缓冲入io链传输完TFFT释放空缓冲io链空取一缓冲启动设备TF8.7.5输入输出设备:(磁带、磁盘)缓冲区头缓冲区体设备块号IO标识等待进程块型缓冲区:进程空间缓冲IO设备缓冲缓冲...io链进程方面(输入):进程方面(输出):中断方面:申请空缓冲填写头部设备工作入io链尾启动设备信息进程释放缓冲申请空缓冲填写头部信息缓冲设备工作启动设备入io链输入唤醒等待者释放空缓冲io链空取一缓冲启动设备FTFTTFFT等待8.8输入输出进程专门负责IO传输的进程–另外一种IO模式—服务模式–C/SModel特点–界面清晰,方便使用–两次进程切换,速度问题8.9RAID技术RAID:–RedundantArrayofInexpensiveDiskscomparedwithSLEDs(SingleLargeExpensiveDisks)–RedundantArrayofIndependentDisksProposedbyresearchersatUCBerkeley–DavidA.PattersonBackground–diskaccessspeedincreasesslowlycomparedwithCPU–solution:multipleparallelcomponentObjective–enhancedperformance–highreliabilityRAID技术RAID–RAIDisasetofphysicaldisksviewedbytheoperatingsystemasasinglelogicaldrive–Dataaredistributedacrossanarrayofphysicaldrives–Redundantdiskcapacityisusedtostoreparityinformation,whichguaranteesdatarecoverabilityincaseofdiskfailureHardwareRAIDvs.SoftwareRAID–hardwarebased:specialcontroller–WindowsNT,2000,UNIXsupportsoftwareRAIDSCSIRAIDvs.IDERAID–performance:SCSIoutperformsIDE–price:IDEbeatsSCSI8.9.1RAID级别Howtoorganizedataacrossmultipledisks?Industrystandardsscheme–levels:level0,…,level5level01/10level03/30level05/50level15/51Level0Strip(Striping):–dataarestripedandstoredonmultipledisks–highdatatransfercapacity–nofaulttoleranced0d3d6d9disk0d1d4d7d10disk1d2d5d8d11disk2d0,d1,d2,d3,…,d11Level1Mirror(mirroring)–complet