Linux文件系统锁示意图

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

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

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

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

 

 

posted @ 2024-10-08 11:33  一笑的小屋  阅读(7)  评论(0编辑  收藏  举报