第十一章 I/O管理和磁盘调度
2015-06-24 20:32:31 8 举报
AI智能生成
第十一章,阳光透过窗户洒在书桌上,照亮了那本翻开的书页。主人公坐在桌前,眼神专注,手指轻轻滑过每一个字,仿佛在与书中的人物进行对话。他的眉头微微皱起,似乎被书中的情节深深吸引。窗外的风轻轻吹动窗帘,带来了一丝清凉。他抬起头,看着窗外的世界,眼中闪过一丝思索。他知道,这一章的结束,意味着新的一章即将开始。他深吸一口气,再次投入到书的世界中。这一刻,时间仿佛静止,只有他和书,以及他们之间的对话。
作者其他创作
大纲/内容
第十一章I/O管理和磁盘调度
了解
I/O Buffer
单缓冲
双缓冲
。
循环缓冲
当爆发性的执行大量的I/O操作时,则仅有双缓冲就不够了,这种情况下使用多于两个缓冲的方案来缓解,这种缓冲区域自身被当成循环区域使用。
I/O 设备划分
面向块的I/O设备
将信息保存在块中,块的大小通常是固定的,传输过程中一次传送一块。
面向流的I/O设备
以字节流的方式输入输出数据。
Cache的作用
利用了局部性原理保存最近访问的数据块,用于提高更好的磁盘性能。
理解
三种I/O模式
程序控制的I/O
中断控制的I/O
DMA
DMA操作
当处理器想读/写一块数据时,它通过向DMA模块发送以下信息来给DMA模块发出一条读/写命令:1.有一个读/写操作请求,通过在处理器和DMA模块之间使用读写控制线发送。2.相关的I/O设备地址,通过数据线传送3.从存储器中度或者往存储器中写的起始单元,在数据线上传送,并由DMA模块保存在其地址寄存器中。4.读/写的字数,再次通过数据线传送,并由DMA模块保存在其数据计数器寄存器中。然后处理器可以继续其它工作,此时已经把这个I/O操作委托给DMA模块,传送结束后,DMA再给处理器发送一个中断请求。
驱动程序的概念
驱动程序是一种可以使计算机和设备通信的特殊程序,相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作
描述I/O的功能层次
逻辑I/O
逻辑I/O层将I/O设备视为逻辑资源,不关心底层的细节。逻辑I/O代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读取等操作与设备打交道。
设备I/O
请求的操作和数据(缓冲的数据、记录等)被转换成适当的I/O指令序列、通道命令和控制器指令。
调度和控制
关于I/O操作的排队、调度和控制发生在这一层,可以在这一次处理中断,收集和报告I/O状态。这一层是与I/O设备真正打交道的软件层。
一次磁盘读/写涉及的时间因素
寻道时间
机械臂移动到数据所在轨道的时间
旋转延迟
磁盘旋转到要读取的数据位置的时间,一般取平均时间即1/2r,其中r表示转速
存取时间
达到读或写的位置所需要的总时间,等于寻道时间和旋转延迟的总和
传送时间
磁头从磁盘中读/写数据所花费的时间 , T=b/rN,b表示要传送的字节数,N表示一个磁道中的字节数,r表示旋转速度,单位为转/秒
磁盘调度算法
先进先出(FIFO)
先来的请求先服务,由于数据的请求式随机的,会导致较高的寻址时间,效率差。
最短时间优先(SSTF)
总是选择磁头臂移动最少的请求响应,对于移动距离相等的请求可以随机移动向一边。同样如果一个进程大量的请求临近的数据会导致其它请求饥饿。
SCAN
SCAN要求磁头臂向一个方向移动,移动过程中响应在当前磁道的请求。当磁头臂到达最外(内)层磁道时,再反向扫描。这种算法并没有很好的利用局部性原理,由于两侧的数据被快速的扫描了两次因此它偏向于外围数据(局部性原理)。
C-SCAN
限定在一个方向扫描,当达到最后一个磁道时,磁头臂返回到相反方向的磁道末端重新开始扫描。
0 条评论
回复 删除
下一页