程序输入输出系统_第1页
程序输入输出系统_第2页
程序输入输出系统_第3页
程序输入输出系统_第4页
程序输入输出系统_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章输入输出系统6.1概述6.2存储设备的种类6.3总线6.4I/O与操作系统6.5I/O系统设计6.1概述I/O指处理器和存储器以外的部件Disk,tape,LAN,WAN等过去的状况性能在人们心目中不是很关心特点:外部的,非优先的,不常用的,慢速的例外情况:swap区结论:不重视I/O性能目前新的应用不断出现,特别是多媒体应用I/O设备种类繁多网络技术,通信技术的发展结果:系统总线的性能直接关系到系统整体性能不同机器配置构成是不同的即使是PC也略有不同(价格,功耗)系统性能和CPU性能性能指标吞吐率响应时间当任务都在memory中时,主要关注CPU性能当任务很大或任务访问的数据很大时,并分布在多个文件时,如OLTP,数据库应用等,I/O性能十分重要影响系统性能的因素CPU,Compiler,OS,Cache,MainMemoryMemory-I/ObusI/O控制器或I/O通道I/O驱动程序和中断处理程序I/O设备自动化程度,内部缓冲大小,设备控制参数对响应时间和吞吐率的影响I/O系统性能参数连接特性:哪些I/0设备可以和计算机系统连接I/O系统的容量:I/O系统容纳的I/O设备数衡量I/O系统性能的另一种方法考虑I/O操作对CPU的打扰情况:即考察某个进程执行时,由于其他进程的I/O操作,使得该进程的执行时间增加了多少典型的系统关键是系统性能的平衡Amdahl定律I/O操作与CPU执行重叠TimeWorkload

=Timecpu+TimeI/O–Timeoverlap响应时间与吞吐率的关系I/O系统的可靠性、可用性和可信性系统的可靠性(reliability)指系统从某个初始参考点开始一直连续提供服务的能力通常用平均无故障时间MTTF(MeanTimeToFailure)来度量系统中断服务的时间用平均修复时间MTTR(MeanTimeToRepair)来度量系统失效率:MTTF的倒数如果系统中每个模块的生存期服从指数分布,则系统整体失效率是各部件的失效率之和系统的可用性(availability)指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率可用性=MTTF/(MTTF+MTTR)平均故障间隔时间MTBF=MTTF+MTTR系统的可信性(dependability)指服务质量,即在多大程度上可以合理地认为服务是可靠的可信性与可靠性和可用性不同,它是不可度量的例题假设磁盘子系统的组成部件和它们的MTTF如下:(1)磁盘子系统由10个磁盘构成,每个磁盘的MTTF为1000000个小时(2)1个SCSI控制器,其MTTF为500000小时(3)1个不间断电源,其MTTF为200000小时(4)1个风扇,其MTTF为200000小时(5)1根SCSI连线,其MTTF为1000000小时假定每个部件的生存期服从指数分布,同时假定各部件的故障是相互独立的,求整个系统的MTTF。I/O系统设计需考虑的主要问题I/O设备的类型Size,Bandwidth,传送方式使用频度延迟还是立即进行存储器和I/O总线设备控制器是如何工作的一些典型的I/O设备6.2存储设备的种类磁盘设备磁盘半导体盘盘阵列磁带设备光盘设备DiskFigureofMerit:ArealDensityBitsrecordedalongatrackMetricisBitsPerInch(BPI)NumberoftrackspersurfaceMetricisTracksPerInch(TPI)DiskdesignsbragaboutbitdensityperunitareaMetricisBitsPerSquareInch:ArealDensity=

BPIxTPI磁盘-磁盘结构磁盘-磁盘性能(1/3)访问磁盘时间为:排队时间+寻道时间+旋转时间+传输时间+控制器开销寻道时间若要读写扇区,磁盘控制器首先发出命令,将磁头移动到包含有所需数据的磁道上,这个过程称为“寻道”,所需要的时间叫做“寻道时间”。最小寻道时间,最大寻道时间(实际测量)平均寻道时间(统计结果)旋转时间所需扇区转到磁头下所需要的时间。大部分磁盘的转速在3600rpm到12000rpm。平均延迟是磁盘旋转半圈的时间。即TAR=0.5r/转速磁盘-磁盘性能(2/3)传输时间:指在磁头下传输一个数据块所花费的时间。与传输时间对应的重要I/O参数为数据传输率。现在磁盘驱动器上都有用半导体存储器组成的数据缓冲器,从盘面上读出的数据先送到缓冲器,再从缓冲器经过接口送主机。数据传输率有两种内部传输率:从盘面->缓冲器外部传输率:从缓冲器->主机磁盘-磁盘性能(3/3)控制器时间:控制器在执行I/O访问时的额外开销等待磁盘空闲的时间(排队时间)磁盘成本:每兆字节的成本磁盘-半导体盘按磁盘访问方式工作的DRAM阵列固态盘:DRAM加一个保持系统数据的电池构成扩充存储器:只支持块传送的大容量存储器中的区域FutureDiskSizeandPerformanceContinuedadvanceincapacity(60%/yr)andbandwidth(40%/yr)Slowimprovementinseek,rotation(8%/yr)Timetoreadwholedisk Year Sequentially Randomly

(1sector/seek) 1990 4minutes 6hours 2000 12minutes 1week(!) 2006 56minutes 3weeks(SCSI) 2006171minutes 7weeks(SATA)UseArraysofSmallDisks?14”10”5.25”3.5”3.5”DiskArray:1diskdesignConventional:4diskdesignsLowEndHighEnd

KatzandPattersonaskedin1987:“CansmallerdisksbeusedtoclosegapinperformancebetweendisksandCPUs?”ReplaceSmallNumberofLargeDiskswithLargeNumberofSmallDisks!(1988Disks)CapacityVolumePowerDataRateI/ORateMTTFCostIBM3390K20GBytes97cu.ft.3KW15MB/s600I/Os/s250KHrs$250KIBM3.5"0061320MBytes0.1cu.ft.11W1.5MB/s55I/Os/s50KHrs$2Kx7023GBytes11cu.ft.1KW120MB/s3900IOs/s???Hrs$150KDiskArrayshavepotentialforlargedataandI/Orates,highMBpercu.ft.,highMBperKW,butwhataboutreliability?9X3X8X6XArrayReliability

ReliabilityofNdisks=Reliabilityof1Disk÷N

50,000Hours÷70disks=700hours DisksystemMTTF:Dropsfrom6yearsto1month!•Arrays(withoutredundancy)toounreliabletobeuseful!Hotsparessupportreconstructioninparallelwithaccess:veryhighmediaavailabilitycanbeachieved磁盘-磁盘冗余阵列RAID

(RapidArrayofInexpensiveDisks)容量大,速度快,可靠性高,造价低廉的存储技术通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能通过把数据分成多个数据块,并行写入/读出多个磁盘,以提高访问磁盘的速度通过镜像或数据校验操作提供容错能力根据实际情况选择适当的RAID级别,可以满足用户对存储系统可用性、性能和容量的要求RAID级别数组种类英文简述硬盘容错吗?N颗硬盘可用容量RAIDlevel0Stripe/SpanNoNRAIDlevel1MirrorYesN÷2RAIDlevel3ParallelwithParityYesN—1RAIDlevel4ParallelwithParityYesN—1RAIDlevel5StripedwithRotatingParityYesN—1RAIDlevel0+1Mirror+StripeYesN÷2RAID0无冗余。整个逻辑盘的数据被分条分布在多个物理盘上,可以并行读/写,提供最快的速度,至少两个盘。可靠性差RAID1镜像:把一个磁盘的数据镜像到另一个磁盘上每个盘是另一个盘的校验盘,所写的文件在两个盘上,一旦一个失效,可以从另一个盘上恢复。盘利用率为50%RAID0+1把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响可用性,并具有快速读写能力,要求至少4个硬盘,才能做RAID0+1RAID2位交叉式海明编码阵列(存储器式ECC)。原理上比较优越,但冗余开销太大,未被广泛使用所需的冗余盘的个数为log2m级,m是数据盘的个数,即数据字的位数OverheadCost20%~40%UseableStorageCapacity71%~83%虽然在分级上有这一级,但实际上没有商业化的产品RAID3,RAID4两种方式类似,数据是以位或字节(RAID3),或以块(RAID4)为单位交叉方式存储RAID3vs.RAID4RAID3带有一个专门的校验盘来存储校验信息当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据,要求至少三块盘我们需权衡,从故障恢复的时间和成本校验=所有磁盘块的和写操作时,必须存取所有盘,这可能是性能瓶颈RAID4与RAID3类似,但校验和仅是针对一块因此,只需对目标盘和校验盘存取问题是并发写时,校验盘是性能的瓶颈RAID5数据以块交叉的方式存于各盘,但无专用的校验盘,而是将冗余的奇偶校验信息均匀地分布在所有磁盘上校验盘不再写在同一盘上可能会减少写冲突因此在连续写情况下有较高的性能RAID4vs.RAID5实现盘阵列的方式软件方式阵列卡方式子系统方式6.3总线总线的概念共享的通信链路由一组线连接多个子系统是构成大而复杂系统的基本工具总线的主要特点多样性新的设备很容易添加到系统中。由于采用相同的总线标准,不同计算机上的外设可以互换低成本:多台设备共享一组线总线的主要缺点由于其独占性,造成通信瓶颈:总线的带宽限制了最大的I/O吞吐量总线的速度受限于总线的长度,总线上设备的数量以及所需支持的设备的种类这些设备可能延迟各不相同,数据传输率也不相同6.3.1总线的基本组成控制线服务请求与确认信号指示数据线上信息的类型数据线:源设备与目的设备之间的信息交换数据和地址复杂的命令DataLinesControlLines主设备和从设备总线事务包括两部分发出命令(和地址)-请求传送数据-实际操作主设备指启动事务发送命令和地址的设备从设备是响应主设备请求,发送数据给主设备或从主设备接收数据的设备BusMasterBusSlaveMasterissuescommandDatacangoeitherway6.3.2总线的类型Processor-MemoryBus(designspecific)短而高速仅需匹配存储系统,使memory-to-processor的带宽最大直接连到CPU优化Cache块的传送I/OBus(industrystandard)通常比较长,较慢需要适应较大范围的I/O设备(I/O设备种类多)一般连接到processor-memorybus或backplanebusBackplaneBus(standardorproprietary)Backplane:机箱内组件间的互连方式可以将processors,memory和I/Odevices连接在一起低成本:一条总线连接所有设备SerialBuses(wholescalemovetoserialinterconnects)例如PentiumSystemOrganizationProcessor/MemoryBusPCIBusI/OBusses计算机系统的单总线结构:BackplaneBus一条总线用于CPU-Memory,I/O之间,以及I/O-Memory之间的通信优点:简单,便宜缺点:慢,总线是性能瓶颈例如:IBMPC-ATProcessorMemoryI/ODevicesBackplaneBus双总线结构I/OBUS通过BusAdaptor连到Processor-MemoryBusProcessor-MemoryBus主要进行CPU-Memory之间的数据传送I/OBuses:提供I/O扩展槽如AppleMacintosh-IINuBus:Processor,Memory以及一些快速I/O设备SCCIBus:其余的I/O设备ProcessorMemoryI/OBusProcessorMemoryBusBusAdaptorBusAdaptorBusAdaptorI/OBusI/OBus三总线结构加入一些BackplaneBusProcessor-MemoryBus仅用于CPU-Memory之间的数据交换I/O总线连到BackplaneBusProcessor-MemoryBus上的通信量进一步减少ProcessorMemoryProcessorMemoryBusBusAdaptorBusAdaptorBusAdaptorI/OBusBackplaneBusI/OBusThemovefromParalleltoSerialI/OCPUI/OIFI/O1I/O2SharedParallelBusWiresCentralBusArbiterCPUI/OIFI/O1I/O2DedicatedPoint-to-pointSerialLinks

Parallelbusclockratelimitedbyclockskewacrosslongbus(~100MHz)HighpowertodrivelargenumberofloadedbuslinesCentralbusarbiteraddslatencytoeachtransaction,sharinglimitsthroughputExpensiveparallelconnectorsandbackplanes/cables(alldevicespaycosts)Examples:VMEbus,Sbus,ISAbus,PCI,SCSI,IDE

Point-to-pointlinksrunatmulti-gigabitspeedusingadvancedclock/signalencoding(requireslotsofcircuitryateachend)Lowerpowersinceonlyonewell-behavedloadMultiplesimultaneoustransfersCheapcablesandconnectors(tradegreaterendpointtransistorcostforlowerphysicalwiringcost),customizebandwidthperdeviceusingmultiplelinksinparallelExamples:Ethernet,Infiniband,PCIExpress,SATA,USB,Firewire,etc.MaincomponentsofIntelChipset:Pentium4Northbridge:HandlesmemoryGraphicsSouthbridge:I/OPCIbusDiskcontrollersUSBcontrollersAudioSerialI/OInterruptcontrollerTimersreview存储设备磁盘磁盘阵列总线总线的基本组成总线的基本类型总线的定义6.3.4总线的定义BunchofWiresPhysical/MechanicalCharacteristics–theconnectorsElectricalSpecificationTimingandSignalingSpecificationTransactionProtocol问题之一:同步总线和异步总线同步总线:总线信号中包含时钟信号通信以相对于该时钟固定的协议进行优点:控制逻辑简单,速度快缺点:总线上的每一设备必须以相同的时钟速率运行为避免时钟信号扭曲,总线较短异步总线:没有统一的时钟信号可以适应多种速度的设备总线可以较长,不必担心时钟扭曲需要握手协议典型的同步协议BReqBGCmd+AddrR/WAddressData1Data2DataData1Wait从设备标识何时数据传送准备好然后进行实际的数据传送简单的同步协议BReqBGCmd+AddrR/WAddressData1Data2Data存储器总线的同步协议要复杂一些存储器读写数据需要一定的时间可能需要控制数据传输率异步握手协议-写事务时序AddressDatawriteReqAckMasterAssertsAddressMasterAssertsDataNextAddressWriteTransactiont0t1t2t3t4t5t0:主设备获得总线控制权,发出地址信号,数据信号以及读写信号,等待从设备t1:主设备发出请求信号t2:从设备发出应答信号,指示接收数据t3:主设备释放请求信号t4:从设备释放应答信号读事务时序t0:主设备获得总线控制权,发出地址信号和读写信号,等待从设备t1:主设备发出请求信号t2:从设备发出应答信号,指示数据传送准备好t3:主设备释放请求信号,接收数据t4:从设备释放应答信号AddressDataReadReqAckMasterAssertsAddressNextAddresst0t1t2t3t4t5SlaveData问题之二:主设备和从设备°°°MasterSlaveControlLinesAddressLinesDataLines总线主设备:具有控制总线,初始化总线事务能力的设备总线从设备:由总线事务激活的模块总线通信协议:说明信息传送过程中发生的事件以及时序要求.总线事务仲裁: 确定哪个设备占用总线总线请求: 请求完成什么操作响应操作: 响应请求所进行的操作仲裁:总线的控制权BusMasterBusSlaveControl:MasterinitiatesrequestsDatacangoeitherway总线设计的最重要的问题之一:希望使用总线的设备如何占用总线只有总线主设备可以控制访问总线,它初始化事务,并控制所用的总线请求。从设备只能响应读写请求最简单的系统处理器是唯一的总线主设备所有的总线请求必须由处理器控制发出主要缺陷:处理器参与每一总线事务多个总线主设备时需要仲裁逻辑总线仲裁方案:需要使用总线的主设备发出总线请求该请求信号未被确认前,主设备不能使用总线一旦得到总线使用权,该设备使用完总线后,必须通知仲裁器总线仲裁方案通常考虑以下两个因素:优先级:高优先级的设备优先使用总线公平性:低优先级的设备不能永远得不到服务总线仲裁方案可以分为四类:菊花链仲裁方案中央控制的并行仲裁方案分布式自选方案:希望得到总线的设备将标识该设备的设备码放到总线上分布式冲突检测方案:希望得到总线使用权的设备总是直接使用,发现有冲突时解决冲突菊花链方案BusArbiterDevice1HighestPriorityDeviceNLowestPriorityDevice2GrantGrantGrantReleaseRequestwired-OR优点:简单缺点:无法保证公平性:

低优先级设备可能永远得不到总线使用权使用菊花链确认信号也限制了总线的速度集中式仲裁方式BusArbiterDevice1DeviceNDevice2GrantReq所有的processor-memorybusses和high-speedI/Obusses都使用这种方式6.3.5总线的使用提高总线带宽独立的地址线和数据线VS.分时复用地址线和数据线如果分别有地址线和数据线,地址信号和数据信号可以同时传送开销:(a)需要更多的信号线,(b)增加了复杂性数据总线的宽度:增加数据总线的宽度,使得可以用较少的总线周期传送多个字例如:SPARCstation20’smemorybus128位宽开销:需要更多的信号线块传送模式:允许总线一次传送多个字只需要在开始时给出地址信息传送完一个字后,不放弃总线占用权,继续传送下一个字,直到传送完一块开销:(a)增加了复杂性

(b)请求的响应时间加长提高总线的吞吐率仲裁与事务的执行重叠执行当前事务期间完成下一事务的仲裁Busparking只要没有其他主设备请求,当前主设备一直占用总线,完成多个事务包交换总线地址传送阶段与数据传送阶段完全分开这两个阶段分别仲裁地址阶段有标识位来标识其对应的数据以上技术是现代大多数存储器总线使用的技术典型的总线-ParallelI/Obus典型的总线-SerialI/Obus典型的总线-CPU-memoryinterconnects6.4I/O与操作系统早期Unix很多使用16位微处理器作为I/O控制器I/O与Cache的数据一致性问题3个Copy-cache,memory和disk2个陈旧数据问题I/O系统将数据从memory->I/O,如果没有从cache写回I/O系统将数据从I/O->memory,I/O仅更新了memory,因此CPU见到的是陈旧数据解决办法第一个问题:cache写策略采用writethrough,否则OS帮助进行数据检查,如果I/O所访问的数据块在cache中,则首先进行写回操作。第二个问题:保证输入后,CPU使用最新数据。(1)通过OS来保证(2)通过硬件失

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论