假设一个程序重复完成将磁盘上一个 4KB 的数据块读出,进行相应处理后,写回到磁盘的5另外一个数据区。各数据块内信息在磁盘上连续存放,数据块随机位于磁盘的一个磁道上。磁盘转速为7200转/分平均寻道时间为10ms,磁盘最大内部数据传输率为40MB/s,磁盘控制器的开销为 2ms,没有其他程序使用磁盘和处理器,并且磁盘读写操作和磁盘数据的处理时间不重叠。若程序对磁盘数据的处理需要 20 000 个时钟周期,处理器时钟频率为500MHz,则该程序完成一次数据块“读出一处理一写回”操作所需的时间为多少?每秒钟可以完成多少次这样的数据块操作?
时间: 2024-03-30 13:34:14 浏览: 202
行业分类-设备装置-一种磁盘数据读写方法和系统.zip
该程序完成一次数据块“读出一处理一写回”操作所需的时间可以分为以下几个部分:
1. 寻道时间:10ms
2. 磁盘控制器的开销:2ms
3. 读取数据块时间:4KB / 40MB/s = 0.1ms
4. 处理数据块时间:20000个时钟周期 / 500MHz = 0.04ms
5. 写回数据块时间:4KB / 40MB/s = 0.1ms
因此,一次数据块“读出一处理一写回”操作所需的时间为10ms + 2ms + 0.1ms + 0.04ms + 0.1ms = 12.24ms。
每秒钟可以完成的数据块操作次数为 1秒 / 12.24ms ≈ 81.6次/秒,约为81次/秒。
阅读全文