作用:
(实现文件的读写同步)当一个进程正在读或修改文件的某个部分时,阻止其他进程修改同一文件区。
访问操作:
写入锁——又叫排它锁
读取锁——又叫共享锁
多进程访问
(同一个进程访问只会覆盖已有的锁)
已存在锁 读取锁 写入锁
无 OK OK
读取锁 OK NG
写入锁 NG NG
同一个进程访问只会覆盖已有的锁
在访问之前尝试加锁可以知道文件是否正在被读写。
加锁区域:
文件锁————整个文件上锁
记录锁————文件部分内容上锁
建议性锁:
别名——劝解锁/劝告锁(写锁)和协同锁/协作锁(读锁)。
每个使用上锁文件的进程都要检查是否有锁存在,要尊重已有的锁。
要靠程序员遵守和实现。(不检查是否有锁的情况下可以强行读写)
强制性锁:
——当文件被上锁来进行写入操作时,在锁定该文件的进程释放该锁之前,内核会阻止任何对该文件的读或写访问(open,read,write),每次读写访问都要检查锁是否存在。
本质:
——内核读写文件自动处理。(内核实现,系统开销大,影响性能,兼容性差)
设置:
1.重新挂载mount系统分区———sudo mount -o remount,mand/
mand———允许强制锁定
n