第4章_IO设备管理试卷.ppt

进程管理 * 库函数:如C语言里与I/O有关的库函数write、 read等,它们实质上只是将它们的参数再传递给 系统调用函数,并由后者来完成实际的I/O操作; Spooling技术:在多道系统中,一种处理独占设 备的方法。 用户空间的I/O软件 进程管理 * 利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称虚拟设备技术)可把独占设备转变成具有共享特征的虚拟设备,从而提高设备利用率。 Application A Application B SPOOLing Program Device Virtual I/O Actual I/O 打印机... 进程管理 * 4.4 磁盘 4.4.1 磁盘硬件 磁盘的硬件结构:磁盘(软盘和硬盘)由一个或多个金属盘片组成,这些盘片组合固定在一根旋转轴上,由同一个马达驱动。每个盘片有上下两个盘面,在盘面上涂有磁性材料,信息就记录在这些盘面上。在每个盘面上方,都有一个磁头,它固定在一个磁头臂上,而磁头臂又固定在一个传动装置上。通过磁头的读写装置,磁盘上的信息可以被写入、读出和修改。 进程管理 * 磁道 扇区 柱面 读写磁头 磁头臂 盘片 传动装置 旋转轴 移动方向 进程管理 * 磁道:当传动装置固定在某个位置时,若盘面旋转一圈,磁头所能访问的圆环区域; 柱面:在所有盘面上,半径相同的所有磁道即组成一个柱面; 扇区:每一个磁道被划分为若干个扇区; 磁盘的访问过程:以扇区作为最小的寻址和存取单位。首先移动传动装置,通过它来移动磁头,从而定位正确的柱面。然后选中相应的磁头,等我们想要的扇区正好路过这个磁头正下方的时候,就可以对它进行访问了。 进程管理 * 如何写一个字节?读-修改-写 读入包含该字节的扇区; 修改该字节; 把整个扇区写回到磁盘; 进程管理 * 参数 IBM 360-KB软盘 Barracuda 180硬盘 柱面数 40 24247 磁道数∕柱面 2 24 扇区∕磁道 9 609(平均) 扇区∕磁盘 720字节数∕扇区 512 512 磁盘容量 360KB 181GB 柱面定位(相邻) 6毫秒 0.8毫秒 柱面定位(平均) 77毫秒 7.4毫秒 旋转时间 200毫秒 8.33毫秒 扇区传送时间 22毫秒 17微秒 进程管理 * 硬盘的格式化可分为三个步骤,即低级格式化、分区和高级格式化。 低级格式化:标出磁道和扇区,在相邻的扇区之间有狭窄的间隙隔开。一个扇区的格式是:相位编码(preamble)+数据区+纠错码(ECC)。 相位编码:以某个特定的位组合模式开始,向硬件表明这是一个新扇区的开始。还包括柱面号、扇区号、扇区大小等类似信息; 数据区:由格式化程序确定其大小,一般512; 纠错码:包含冗余信息,用来纠正读取错误。 4.4.2 磁盘格式化 进程管理 * 分区:用分区软件把整个硬盘划分为若干个逻辑分区,每个分区可视为一个独立的磁盘。在多数计算机上,用第0个扇区来存放一些系统启动代码和一个分区表,记录了每个分区的起始扇区和大小。 高级格式化:对每一个逻辑分区,分别进行一种高级格式化(即通常的格式化操作),生成一个引导块、空闲存储管理结构、根目录和一个空白的文件系统。对不同的分区,可以使用不同的文件系统,如FAT16、FAT32、NTFS等。 进程管理 * 磁盘的访问是以扇区作为最小的寻址和存取单位, 在访问一个磁盘扇区时,所需的时间主要有: 柱面定位时间:磁头在磁头臂牵引下,移动到指定柱面的机械运动时间; 旋转延迟时间:等待指定的扇区旋转到磁头的正下方所需的机械运动时间;它与磁盘转速有关,如:软盘转速可为600rpm(每分钟转速),硬盘可为7,200rpm至10,000rpm; 数据传送时间:从指定扇区读写数据的时间。 4.4.3 磁盘调度算法 进程管理 * 方法1:合理地组织磁盘数据的存储位置。 例子:磁盘转速为10,000rpm,每个磁道有300个扇区,每个扇区有512字节,现要读一个150KB的文件。假设柱面定位(平均)时间为6.9毫秒,旋转延迟(平均)时间为旋转时间的一半(3ms),扇区数据传送时间17微秒; (1)文件由同一个磁道上的300个连续扇区构成: (2)文件由300个随机分布的扇区构成: 随机分布时的访问时间为连续分布时的187倍。 如何提高磁盘访问速度? 6.9ms + 3ms + 6ms = 15.9ms; (why?) (6.9ms + 3ms + 0.017ms)*300 = 2975.1ms; 进程管理 * 如何提高磁盘访问速度? 方法2:磁盘调度。 对于大多数磁盘来

文档评论(0)

1亿VIP精品文档

相关文档