Linux文件系统锁示意图

字节偏移锁:file结构体是内核对于打开文件的结构体表示,可以在其上对指定的偏移量进行加锁,只锁定需要读写的部分,主要为了避免加锁整个文件。

文件加锁:直接对inode结构体进行加锁,因为inode结构体代表了一个文件,从而实现对文件的加锁。

page加锁:page是文件系统在内存中的表示结构,inode通过address_space来管理其对应的各个page,可以对指定page进行加锁,比如在进行磁盘I/O的时候。

缓冲区加锁:buffer是直接和文件系统磁盘中的块对应,在内存中被映射进page结构中,buffer_head中记录了其在磁盘中的各个属性,在某些情况下I/O可以以buffer为单位进行,所以需要对其进行加锁。

 

 

posted @   一笑的小屋  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示