BufferCache和PageCache的工作原理图
2021-08-24 22:30:31 0 举报
BufferCache和PageCache的工作原理图
作者其他创作
大纲/内容
自定义缓存(可有可无,看用户具体实现)(例如-MySQL InnoDB的BufferCache,单位为Page,默认为16k)
脏页刷写至磁盘
磁盘IO
内核空间
文件系统
swap机制
指针链接
直接IO
经过文件系统的IO场景
硬件
进程对应的内存(区分于文件页,又称为匿名页)
磁盘(扇区(512B)-> 柱面 -> 分区 -> 文件系统(格式化+挂载) -> VFS)柱面:扇区/分区:柱面/VFS:FS=1:多;FS:分区=1:1;一个柱面对应一个快组,存在磁盘最内圈磁道上)(超级快(1块)+inode位图(1块)+数据块位图(1块)+inode表(多块)+数据块区域(多块))
PageCache(单位-Page,4k)
说明:Linux2.4后,PageCache是指向多个BufferCache的指针了,从而避免多次缓存。只有经过文件系统的IO才存在所谓的PageCache(本质上还是BufferCache的封装),其他IO场景都是BufferCache
块驱动设备程序
用户空间
BufferCache(单位-数据块,4k,是驱动设备和磁盘交互的缓存!!磁盘IO一定存在)
用户程序
收藏
0 条评论
回复 删除
下一页