题目
(考研真题)某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小为512B。文件系统的每个簇包含2个扇区。请回答下列问题。 (1)磁盘的容量是多少? (2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100260、60005、101660和110560。若采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么? (3)第100530簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/O系统的什么程序完成的?
(考研真题)某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小为512B。文件系统的每个簇包含2个扇区。请回答下列问题。 (1)磁盘的容量是多少? (2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100260、60005、101660和110560。若采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么? (3)第100530簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/O系统的什么程序完成的?
题目解答
答案
【答案解析】(1)磁盘容量=(300×10×200×512/1024)KB=3´105KB。 (2)每个柱面有10´200个扇区,每个簇含2个扇区,则每个柱面有1000个簇。 簇号100260对应的柱面号为⌊100260/1000⌋=100; 簇号60005对应的柱面号为⌊60005/1000⌋=60; 簇号101660对应的柱面号为⌊101660/1000⌋=101; 簇号110560对应的柱面号为⌊110560/1000⌋=110; 根据SSTF算法的思想,从85号开始访问的簇号顺序为100260、101660、110560、60005。 (3)第100 530簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成。 其所在的柱面号为⌊100530/(10×200/2)⌋=100。 100530%(10×200/2)=530,磁头号为⌊530/(200/2)⌋=5,扇区号为(530×2)%200=60。 将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。
解析
步骤 1:计算磁盘容量
磁盘容量 = 柱面数 × 磁道数 × 扇区数 × 扇区大小 / 1024
步骤 2:计算每个柱面的簇数
每个柱面的簇数 = 磁道数 × 扇区数 / 每个簇的扇区数
步骤 3:计算簇号对应的柱面号
柱面号 = ⌊簇号 / 每个柱面的簇数⌋
步骤 4:计算簇号对应的磁头号和扇区号
磁头号 = ⌊(簇号 % 每个柱面的簇数) / 每个磁道的簇数⌋
扇区号 = (簇号 % 每个磁道的簇数) × 每个簇的扇区数
步骤 5:根据SSTF算法确定访问顺序
根据磁头当前位置和请求簇号对应的柱面号,计算每个请求的寻道距离,按距离从小到大排序。
步骤 6:确定簇号转换成磁盘物理地址的程序
簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。
磁盘容量 = 柱面数 × 磁道数 × 扇区数 × 扇区大小 / 1024
步骤 2:计算每个柱面的簇数
每个柱面的簇数 = 磁道数 × 扇区数 / 每个簇的扇区数
步骤 3:计算簇号对应的柱面号
柱面号 = ⌊簇号 / 每个柱面的簇数⌋
步骤 4:计算簇号对应的磁头号和扇区号
磁头号 = ⌊(簇号 % 每个柱面的簇数) / 每个磁道的簇数⌋
扇区号 = (簇号 % 每个磁道的簇数) × 每个簇的扇区数
步骤 5:根据SSTF算法确定访问顺序
根据磁头当前位置和请求簇号对应的柱面号,计算每个请求的寻道距离,按距离从小到大排序。
步骤 6:确定簇号转换成磁盘物理地址的程序
簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。