江畔何人初见月?江月何年初照人?
文章目录
前言
这三个东西都是为了缓和高速设备和低速设备之间的速度不匹配而想出的策略
对换区
将磁盘分为对换区和文件区,对换区物理上使用连续分配的方式,文件区使用离散分配的方式,因此对换区的磁盘IO速度比文件区的更快。这样,当发生缺页请求时,这样当发生缺页中断的时候,尽量从文件区找你需要的块,UNiX方式,运行之前将进程有关的数据全部放到文件区,故使用过的页面都可以从文件区直接调入,若被使用过的页面需要换出,则写回对换区,下次需要从对换区调入,物理上是属于磁盘的
高速缓存
存放的是低速设备上的某些数据的复制数据,即高速缓存上有的,低速设备上必然有,高速缓存存放的是高速设备上经常要访问的数据,若是高速设备要稳定的数据不在高速缓存中,则高速设备就需要访问低速设备,常见的高速缓存是Cache,磁盘高速缓存计数则是利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的数据,因此,磁盘高速缓存逻辑上属于磁盘,物理上则是驻留在内存中的盘块。
缓冲区
存放的是低速设备传递给高速设备的数(或高速设备给低速设备的数据)而这些数据在低速设备(或高速设备)上却不一定有备份,这些数据再从缓冲区传送道高速设备(低速设备)
高速设备和低速设备的通信都要经过缓冲区,高速设备永远不会直接区访问低速设备,我们这个缓冲区通常是为了解决CPU与外设之间的速度问题,通常是于内存中,大家熟悉的SPOLLing技术就是使用的缓冲区