磁盘预读

来源:互联网 发布:java获取微信用户信息 编辑:程序博客网 时间:2024/06/06 02:12

内存比磁盘的读写速度要快很多,但内存容量要远小于磁盘,数据,程序的执行要调入内存后才能执行,所以内存和磁盘要经常进行I/O操作,I/O操作是个费事的过程,虽然现代系统已经有了通道(I/O处理机)技术的支持,但这还不够


上面是两张磁盘的示意图 ,扇区为磁盘的最小存储单元,当需要从磁盘读取数据时,系统会将逻辑地址发给磁盘,磁盘的控制电路将逻辑地址转换为物理地址(哪个磁道,哪个扇区)这时候就会有磁头的机械运动,磁头找到相应磁道--寻道,时间成为寻道时间,磁头找到对应磁道的对应扇区,成为旋转时间。  这是很大的时间消耗,所以系统一般采取预读的方式,减少磁盘I/O。

系统是分页读取和存储的  一般一页为4KB,每次读取和存取的最小单元为一页,预读即在读取的起始地址连续读取多个页面(现在不需要的页面也读取了,这样以后用时就不用再读取,当一个页面用到时,大多数情况下,它周围的页面也会被用到)  

至于磁盘分页,参考计算机操作系统的分页,分段存储管理      逻辑地址和物理地址被分为大小相同的页面,逻辑地址中叫页,物理地址中叫块

0 0
原创粉丝点击