版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1414讲讲 I/OI/O系统系统授课教师:马立平授课教师:马立平联系方式:联系方式:Southwest University of Science and Technology提纲I/O特点I/O结构I/O数据传输磁盘调度磁盘缓存设备接口类型同步和异步I/OSouthwest University of Science and Technology 三种常见设备接口类型字符设备块设备网络设备Southwest University of Science and Technology 三种常见设备接口类型字符设备块设备网络设备如: 键盘/鼠标, 串口等Southwest Universit
2、y of Science and Technology 三种常见设备接口类型字符设备块设备网络设备如: 键盘/鼠标, 串口等如: 磁盘驱动器、磁带驱动器、光驱等如: 以太网、无线、蓝牙等Southwest University of Science and Technology 字符设备块设备网络设备设备访问特征Southwest University of Science and Technology 字符设备块设备网络设备设备访问特征访问特征以字节为单位顺序访问I/O命令get()、put()等通常使用文件访问接口和语义Southwest University of Science and
3、 Technology 字符设备块设备网络设备设备访问特征I/O命令原始I/O或文件系统接口内存映射文件访问访问特征均匀的数据块访问Southwest University of Science and Technology 字符设备块设备网络设备设备访问特征I/O命令send/receive 网络报文通过网络接口支持多种网络协议访问特征格式化报文交换Southwest University of Science and Technology I/OI/O请求处理过程请求处理过程设备驱动设备驱动中断处理中断处理硬件控制硬件控制数据传送数据传送用户用户时间时间内核内核同步与异步I/O阻塞I/O:
4、 “Wait”读数据(read)时,进程将进入等待状态,直到完成数据读出写数据(write)时,进程将进入等待状态,直到设备完成数据写入处理 等待等待 Southwest University of Science and Technology I/OI/O请求处理过程请求处理过程设备驱动设备驱动中断处理中断处理硬件控制硬件控制数据传送数据传送用户用户时间时间内核内核同步与异步I/O立即从read或write系统调用返回,返回值为成功传输字节数read或write的传输字节数可能为零非阻塞I/O: “Dont Wait”Southwest University of Science and T
5、echnology I/OI/O请求处理过程请求处理过程设备驱动设备驱动中断处理中断处理硬件控制硬件控制数据传送数据传送用户用户时间时间内核内核同步与异步I/O异步I/O: “Tell Me Later”读数据时,使用指针标记好用户缓冲区,立即返回;稍后内核将填充缓冲区并通知用户写数据时,使用指针标记好用户缓冲区,立即返回;稍后内核将处理数据并通知用户 等待等待 Southwest University of Science and Technology 提纲I/O特点I/O结构I/O数据传输磁盘调度磁盘缓存Southwest University of Science and Technol
6、ogy I/O 结构: 一个实际例子北桥内存AGP/PCI-ExpressBuilt-in display南桥ATA/IDEPCI总线USB/Firewire总线Serial/Parallel接口DMA 控制器Interrupt控制器RTC, ACPI, BIOS, Pentium 4Pentium 4CPUCPU133MB/s133MB/s266MB/s266MB/sATA100ATA100IDEIDEdrivesdrivesCNRCNRI/OI/OControllerControllerHub 2Hub 2(ICH2)(ICH2)FlashFlashBIOSBIOSPCI slotsPCI
7、 slots10/10010/100EthernetEthernetUSBUSB1.6GB/s1.6GB/s1.6GB/s1.6GB/sMemoryMemoryControllerControllerHubHub(MCH)(MCH)1GB/s1GB/sAGPAGP4x4xDual channelDual channelRDRAMRDRAMmemory slotsmemory slotsAGPAGPslotslot3.2GB/s3.2GB/sSouthwest University of Science and Technology CPU与设备的连接设备控制器设备控制器读数据读数据写数据写数据
8、控制控制状态状态可寻址存储可寻址存储或或队列队列寄存器寄存器( (端口端口0 x20)0 x20)硬件控制器硬件控制器内存映射内存映射地址地址: 0 x8f008020: 0 x8f008020总线接口总线接口地址地址+ +数据数据中断请求中断请求CPUCPU总线总线适配器适配器总线总线适配器适配器总线总线中断中断控制器控制器设备控制器CPU和I/O设备间的接口向CPU提供特殊指令和寄存器I/O地址CPU用来控制I/O硬件轮询、设备中断和DMACPU与设备的通信方式内存地址或端口号I/O指令内存映射I/OSouthwest University of Science and Technolog
9、y I/O 指令和内存映射I/OI/O指令通过I/O端口号访问设备寄存器设备的寄存器/存储被映射到内存物理地址空间中内存映射I/O通过内存load/store指令完成I/O操作特殊的CPU指令out 0 x21,ALMMU设置映射,硬件跳线或程序在启动时设置地址Southwest University of Science and Technology 内核I/O结构SCSISCSI设备设备键盘键盘鼠标鼠标PCI PCI 总线总线软盘软盘ATAPIATAPI设备设备( (磁盘磁盘, ,磁带等磁带等) )SCSISCSI设备驱动设备驱动键盘键盘设备驱动设备驱动鼠标鼠标设备驱动设备驱动PCIPCI
10、总线总线驱动驱动软盘软盘设备驱动设备驱动ATAPIATAPI设备驱动设备驱动内核内核I/OI/O子系统子系统SCSISCSI设备控制器设备控制器键盘键盘设备控制器设备控制器鼠标鼠标设备控制器设备控制器PCIPCI总线总线控制器控制器软盘软盘设备控制器设备控制器ATAPIATAPI设备控制器设备控制器Southwest University of Science and Technology I/O请求生存周期设备驱动设备驱动中断处理例程中断处理例程硬件设备硬件设备内核内核 I/OI/O子系统子系统用户用户进程进程判断是否已有判断是否已有I/OI/O请求结果?请求结果?与进程交换数据,并返与进程
11、交换数据,并返回完成结果或错误信息回完成结果或错误信息是是向驱动发送向驱动发送I/OI/O请求,请求,并等待结果并等待结果否否处理处理I/OI/O请求请求发送控制命令发送控制命令并等待中断响应并等待中断响应控制设备操作控制设备操作完成时完成时,产生中断产生中断设备控制命令设备控制命令I/OI/O完成完成,生成中断请求生成中断请求设备控制器设备控制器确定确定I/OI/O操作完成状态,操作完成状态,通知通知I/OI/O子系统子系统接收中断,保存结果,接收中断,保存结果,并通知设备驱动并通知设备驱动中断中断时间时间I/OI/O请求请求I/O I/O 操作完成操作完成输入数据可用或输出完成输入数据可用
12、或输出完成系统调用返回系统调用返回系统调用系统调用Southwest University of Science and Technology 提纲I/O特点I/O结构I/O数据传输磁盘调度磁盘缓存Southwest University of Science and Technology CPU与设备控制器的数据传输程序控制I/O(PIO, Programmed I/O)通过CPU的in/out或者load/store传输所有数据适用于简单的、小型的设备I/O直接内存访问(DMA)设备控制器可直接访问系统总线控制器直接与内存互相传输数据适用于高吞吐量I/O特点 硬件简单,编程容易消耗的CPU
13、时间和数据量成正比特点 设备传输数据不影响CPU需要CPU参与设置Southwest University of Science and Technology 通过直接I/O寻址读取磁盘数据的步骤CPUCPU高速缓存高速缓存DMADMA、总线、总线和中断控制器和中断控制器缓存缓存内存地址内存地址X XPCIPCI总线总线IDEIDE磁盘控制器磁盘控制器磁盘磁盘磁盘磁盘磁盘磁盘磁盘磁盘4.4.磁盘控制器传送数据到磁盘控制器传送数据到DMADMA控制器控制器3.3.磁盘控制器初始化磁盘控制器初始化DMADMA传送传送6.DMA6.DMA控制器完成数据传送控制器完成数据传送后,产生中断请求,通后,产
14、生中断请求,通知知CPUCPU传送完成传送完成5.DMA5.DMA控制器传送控制器传送C C字节数字节数据到内存地址据到内存地址X X2.2.设备驱动控制磁盘控设备驱动控制磁盘控制器从磁盘读取数据制器从磁盘读取数据1.1.设备驱动收到读取磁设备驱动收到读取磁盘数据到内存地址盘数据到内存地址X X系统总线系统总线Southwest University of Science and Technology I/O 设备通知操作系统的机制操作系统需要了解设备状态I/O操作完成时间I/O操作遇到错误两种方式CPU主动轮询设备中断Southwest University of Science and T
15、echnology 轮询I/O 设备在特定的状态寄存器中放置状态和错误信息操作系统定期检测状态寄存器特点 简单I/O操作频繁或不可预测时,开销大和延时长Southwest University of Science and Technology 设备中断设备中断处理流程CPU在I/O之前设置任务参数CPU发出I/O请求后,继续执行其他任务I/O设备处理I/O请求I/O设备处理完成时,触发CPU中断请求CPU接收中断,分发到相应中断处理例程如:高带宽网络设备一些设备可能结合了轮询和设备中断第一个传入数据包到达前采用中断轮询后面的数据包直到硬件缓存为空特点 处理不可预测事件效果好开销相对较高Sou
16、thwest University of Science and Technology 设备中断I/O处理流程 设备驱动初始化设备驱动初始化I/OI/O请求请求1 1CPUCPUI/OI/O控制器控制器 CPU CPU在执行一条指令后检查中断请在执行一条指令后检查中断请求求中断服务例程进行中断处理中断服务例程进行中断处理5 56 6CPUCPU恢复被中断进程的执行恢复被中断进程的执行3 3操作完成或错误后,操作完成或错误后,产生中断产生中断2 2初始化初始化I/OI/O操作操作 CPU CPU收到中断请求,分收到中断请求,分发给相应中断服务例程发给相应中断服务例程4 47 7Southwest
17、 University of Science and Technology 提纲I/O特点I/O结构I/O数据传输磁盘调度磁盘缓存Southwest University of Science and Technology 磁盘工作机制和性能参数磁道磁道t t磁盘轴磁盘轴磁头组磁头组扇区扇区s s柱面柱面c c盘片盘片磁头磁头读写头读写头读取或写入时,磁头必须被定位在期望的磁道,并从所期望的柱面和扇区的开始寻道时间定位到期望的磁道所花费的时间旋转延迟从零扇区开始处到达目的地花费的时间平均旋转延迟时间=磁盘旋转一周时间的一半Southwest University of Science and
18、Technology 磁盘I/O传输时间rNbrTTsa21等待设备可用等待设备可用等待通道可用等待通道可用寻道寻道 数据传数据传送送访问时间访问时间设备忙设备忙旋转延时旋转延时Southwest University of Science and Technology 磁盘I/O传输时间rNbrTTsa21寻道时间寻道时间等待设备可用等待设备可用等待通道可用等待通道可用寻道寻道 数据传数据传送送设备忙设备忙旋转延时旋转延时Southwest University of Science and Technology 磁盘I/O传输时间rNbrTTsa21旋转延迟旋转延迟1/r 1/r = =旋
19、旋转转一周的一周的时间时间等待设备可用等待设备可用等待通道可用等待通道可用寻道寻道 数据传数据传送送设备忙设备忙旋转延时旋转延时Southwest University of Science and Technology rNbrTTsa21磁盘I/O传输时间传输时间传输时间b = b = 传输传输的比特数的比特数N = N = 磁道上的比特数磁道上的比特数r = r = 磁盘转数磁盘转数等待设备可用等待设备可用等待通道可用等待通道可用寻道寻道 数据传数据传送送设备忙设备忙旋转延时旋转延时Southwest University of Science and Technology 磁盘调度算法
20、通过优化磁盘访问请求顺序来提高磁盘访问性能随机处理磁盘访问请求的性能表现很差寻道时间是磁盘访问最耗时的部分同时会有多个在同一磁盘上的I/O请求Southwest University of Science and Technology 先进先出(FIFO)算法按顺序处理请求公平对待所有进程在有很多进程的情况下,接近随机调度的性能Southwest University of Science and Technology FIFO算法示例/Faculty/Rainwater/COSC3355/Animations/diskschedulingfcfs.ht
21、m合计磁头移动距离=磁盘访问序列磁盘访问序列 = 98,183,37,122,14,124,65,67= 98,183,37,122,14,124,65,67初始磁头位置:初始磁头位置:53530 0141437375353 6565 67679898122122 12412418318319919945+85+146+85+108+110+59+2=640Southwest University of Science and Technology 最短服务时间优先(SSTF)选择从磁臂当前位置需要移动最少的I/O请求总是选择最短寻道时间Southwest University of Scie
22、nce and Technology SSTF算法示例/Faculty/Rainwater/COSC3355/Animations/diskschedulingfcfs.htm合计磁头移动距离=磁盘访问序列磁盘访问序列 = 98,183,37,122,14,124,65,67= 98,183,37,122,14,124,65,67初始磁头位置:初始磁头位置:53530 0141437375353 6565 67679898122122 12412418318319919912+2+30+23+84+24+2+59=236Southwest Univers
23、ity of Science and Technology 扫描算法(SCAN)磁臂在一个方向上移动,访问所有未完成的请求,直到磁臂到达该方向上最后的磁道调换方向也称为电梯算法(elevator algorithm)Southwest University of Science and Technology SCAN算法示例/Faculty/Rainwater/COSC3355/Animations/diskschedulingfcfs.htm合计磁头移动距离=磁盘访问序列磁盘访问序列 = 98,183,37,122,14,124,65,67= 98,1
24、83,37,122,14,124,65,67初始磁头位置:初始磁头位置:53530 0141437375353 6565 67679898122122 12412418318319919916+23+14+65+2+31+24+2=236+59Southwest University of Science and Technology 循环扫描算法(C-SCAN)限制了仅在一个方向上扫描当最后一个磁道也被访问过了后,磁臂返回到磁盘的另外一端再次进行Southwest University of Science and Technology C-LOOK算法磁臂先到达该方向上最后一个请求处,然后
25、立即反转,而不是先到最后点路径上的所有请求Southwest University of Science and Technology N步扫描(N-step-SCAN)算法磁头粘着(Arm Stickiness)现象SSTF、SCAN及CSCAN等算法中,可能出现磁头停留在某处不动的情况如:进程反复请求对某一磁道的I/O操作N步扫描算法将磁盘请求队列分成长度为N的子队列按FIFO算法依次处理所有子队列扫描算法处理每个队列Southwest University of Science and Technology 双队列扫描(FSCAN)算法FSCAN算法是N步扫描算法的简化FSCAN只将磁盘
26、请求队列分成两个子队列FSCAN算法把磁盘I/O请求分成两个队列交替使用扫描算法处理一个队列新生成的磁盘I/O请求放入另一队列中所有的新请求都将被推迟到下一次扫描时处理Southwest University of Science and Technology 提纲I/O特点I/O结构I/O数据传输磁盘调度磁盘缓存Southwest University of Science and Technology 磁盘缓存磁盘缓存是磁盘扇区在内存中的缓存区缓存数据传输双方访问速度差异较大时,引入的速度匹配中间层磁盘缓存的调度算法很类似虚拟存储调度算法磁盘的访问频率远低于虚拟存储中的内存访问频率通常磁盘缓存调度算法会比虚拟存储复杂Southwest University of Science and Technology 单缓存与双缓存单缓存(Single Buffer Cache) 双缓存(Double Buffer Cache) 缓存区缓存区输入输入(T)(T)I/OI/O设备设备缓存区缓存区1缓存区缓存区2I/OI/O设备设备工作区工作区用户进程用户进程工作区工作区处理处理(C)(C)传送传送(M)(M)用户进程用户进程Southwest University of Scie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏理工学院公开招聘工作人员64人备考题库(含答案详解)
- 2025年琼海市中医院医共体总院东太分院招聘乡村医生备考题库完整参考答案详解
- 江西中医药大学2026年高层次人才招聘159人备考题库及答案详解(新)
- 2025年九江一地公开招聘编外聘用人员8人备考题库完整参考答案详解
- 2025年勐海县融媒体中心招聘编外人员备考题库及完整答案详解一套
- 2025年富宁县紧密型医共体田蓬一中心分院公开招聘编外合同制人员的备考题库及参考答案详解1套
- 2025年鄂州消防补录政府专职消防员备考题库(含答案详解)
- 2025年深圳证券交易所人才引进备考题库及完整答案详解1套
- 2025年武汉国有企业招聘泛半导体产业园招商运营专业人才5人备考题库附答案详解
- 陵水黎族自治县妇幼保健院2025年公开招聘编外人员备考题库及参考答案详解1套
- 中华民族共同体概论课件专家版4第四讲 天下秩序与华夏共同体的演进(夏商周时期)
- 2022低压有源电力滤波装置
- 数控刀具行业现状分析
- 炎症相关生物标志物的研究与应用
- 潜污泵维修及保养施工方案
- 高钾血症案例分析
- 火龙罐技术课件
- 中小学幼儿园教师职称晋升考试试题
- 机关档案管理工作培训-课件
- 心力衰竭病历模板
- 装修合同模版
评论
0/150
提交评论