Linux 中的 Page Cache

在前几篇中我们介绍了磁盘、文件系统、inode、硬链接、软链接、文件描述符,没看过的同学可以先看一下前几篇文章。

什么是文件系统?

文件系统2:软链接、硬链接与inode

文件描述符简介

由于硬件的限制,如果cpu直接访问磁盘进行文件读写的话,传输速度会很慢,效率很低。所以linux在内存中对访问磁盘文件的内容进行了缓存,通过尽量减少对磁盘的I/O操作,从而提高性能。这种用来缓存磁盘文件内容的内存就是page cache。

page cache以页为单位,一个page cache页一般为4KB,也有16 ~ 64KB的情况。page cache只会缓存文件的部分内容,只需要把当前真正被访问到的文件数据部分缓存起来就可以了,不需要把整个文件都缓存到内存中。

PageCache读写

当用户进程调用read()系统调用读取某个文件时,内核先查看page cache里是否有读取的文件内容,如果有就直接从page cache中读取具体信息。如果page cache里没有,就启动磁盘的I/O从磁盘中读取要访问部分的文件内容放到page cache中,再从page cac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值