文件系统cache机制

复杂度3/5
机密度3/5

最后更新2021/04/27

AIX并未采用传统Unix的cache模式。传统Unix(包括Linux)的cache模式是把cache作为一个单独的旁路应用,嵌入在文件读写的路径中。当应用请求读文件时,kernel从磁盘将数据读到kernel的cache空间,然后把数据转给应用;应用请求文件写的时候,应用把数据发给kernel,kernel根据配置参数,或者只把数据保存在cache空间就返回(回写write back模式),或者保存到cache空间之后再继续写磁盘,完成后才返回(透写write through模式),或者并不写cache,完全直接写盘(旁写write bypass模式)。无论哪一种模式,都无法高效利用内存,或者额外一次数据在内存中的移动。这是因为内核cache不能直接被应用访问,必须完成cache到应用buffer之间的数据转移之后才能修改数据,这种数据转移必然需要一次用户地址空间到内核地址空间的数据move。

AIX采用的策略是在虚拟内存空间中设置了额外一种内存段给应用直接使用,用于与磁盘文件之间进行直接映射。此内存不属于内核数据,因此可以被应用直接操作,应用修改此内存数据,既等于修改了磁盘数据。此虚拟内存由AIX的VMM统一管理,如果内存被更新,定期执行的syncd进程将会以一定周期(一般是60秒,可修改)将数据刷新到磁盘(相当于回写模式)。由于AIX 虚拟内存极其巨大,因此几乎可以映射实际存在的任意大小文件(32位AIX下最大可编辑文件只有2GB,是个例外,但有其它机制实现类似功能,由于已经过时,我们此

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ensighine

如需特定专题,踢我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值