今天我查了下<
> 2rd, 中文版。
2.6版本以前,内核用的是一个全局的hash表进行检索 (应该是是暗指所有的文件缓存页放在统一的链表上),
现在为什么要用address space来取代hash呢?
第217页,谈到了一下几个原因:
1.锁的竞争会非常大。
2.搜索的范围会非常大。
3.如果搜索操作失败了,此时会去磁盘内读数据。因为搜索失败之前必定要搜索整个hash链表,所以开销非常大。
4.hash表更加耗内存。
第四点个人不是很明白,忘知情者告知。
并且,大家能够给一个原来内核实现PageCache的版本给个示意链接吗?
阅读(1237) | 评论(0) | 转发(0) |