Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3132591
  • 博文数量: 117
  • 博客积分: 10003
  • 博客等级: 上将
  • 技术积分: 5405
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-23 09:34
文章分类

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类:

2010-01-13 11:51:30

Sreadahead简介

sreadahead是initel再moblin项目里面写的预读取程序。和ubuntu自带的readahead相比,基本原理是一样的:再事先将需要的磁盘文件集中的读到cache中来,提高系统速度。这里涉及一个系统调用readahead。
不同之处在于,其一,intel的sreadahead是分成4个线程进行的。其二sreadahead在 生成文件预读列表的时候,按照时间进行排序,然后分拆成一定大小的record读入。因为需要排序,intel对文件系统内核做了一定修改,再inode 结构体中加了一个成员created_when,并提供了一个IOCTRL方法EXT3_IOC_INODE_JIFFIES辅助排序。(目前intel 提供的包是针对ext3的同样的原理应该可以应用到其他文件系统)
现在sreadahead的使用还需要readahead先安装好,因为readahead回生成rcS下脚本和/etc/readahead下的文件预读列表,这些都是sreadahead所需要的。

另外根据实际测试
readahead对于采用SSD作为存储介质的系统,没于什么效果。这可能与SSD存储一般是采用随机读写的方式有关。

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

chinaunix网友2010-10-24 17:06:30

博主辛苦啦! 文章写的非常精彩! 受益匪浅! 技术需要实践!如需迅速掌握嵌入式核心开发技术 请关注“百度哥2010”的ARM11嵌入式“real6410”开发板 http://shop62249124.taobao.com/