摘要:
页高速缓存是linux内核实现磁盘缓存。它主要用来减少对磁盘的IO操作。具体地讲,是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。16.1 缓存手段16.2 Linux页高速缓存16.2.1 address_space对象在页高速缓存中的页可能包含了多个不连续的物理磁盘块。Linux页高速缓存对被缓存的页面范围定义非常宽泛。address_space结构体是虚拟地址区间vm_area_struct的物理地址对等体。当一个文件可以被10个vm_area_struct结构体标识,那么这个文件只能有一个address_space数据结构——也就是文件可以有多个虚拟地址,但是 阅读全文
摘要:
15.1 地址空间进程地址空间由进程可寻址的虚拟内存组成。每个进程都有一个32位或64位的平坦地址空间,空间的大小取决于体系结构。术语“平坦”指的是地址空间范围是一个独立的连续区间。一些操作系统提供了段地址空间,这种地址空间并非一个独立的线性区域,而是被分段的,现代采用虚拟内存的操作系统通常都使用平坦地址空间而不是分段式的内存模式。通常,每个进程都有唯一的这种平坦地址空间,一个进程的地址空间与另一进城的地址空间即使有相同的内存地址,实际上也互不相干,我们称这样的进程为线程。尽管一个进程可以寻址4GB的虚拟内存(32位),并不表示它有权访问所有的虚拟地址。可以被合法访问的地址空间称为内存区域。通 阅读全文