Chinaunix首页 | 论坛 | 博客
  • 博客访问: 170169
  • 博文数量: 35
  • 博客积分: 2067
  • 博客等级: 大尉
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:29
文章分类

全部博文(35)

文章存档

2014年(3)

2011年(2)

2010年(20)

2009年(10)

我的朋友

分类: LINUX

2010-11-22 11:06:58

今天我查了下<> 2rd, 中文版。

2.6版本以前,内核用的是一个全局的hash表进行检索 (应该是是暗指所有的文件缓存页放在统一的链表上),

现在为什么要用address space来取代hash呢?

第217页,谈到了一下几个原因:

1.锁的竞争会非常大。
2.搜索的范围会非常大。
3.如果搜索操作失败了,此时会去磁盘内读数据。因为搜索失败之前必定要搜索整个hash链表,所以开销非常大。
4.hash表更加耗内存。

第四点个人不是很明白,忘知情者告知。

并且,大家能够给一个原来内核实现PageCache的版本给个示意链接吗?



阅读(1237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~