操作系统文件建议锁与强制锁

Posted 让自己行动起来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统文件建议锁与强制锁相关的知识,希望对你有一定的参考价值。

文件锁有建议使用和强制使用之分。

  • 建议锁又称协同锁。对于这种类型的锁,内核只是提供加减锁以及检测是否加锁的操作,但是不提供锁的控制与协调工作。也就是说,如果应用程序对某个文件进行操作时,没有检测是否加锁或者无视加锁而直接向文件写入数据,内核是不会加以阻拦控制的。因此,建议锁,不能阻止进程对文件的操作,而只能依赖于大家自觉的去检测是否加锁然后约束自己的行为;多数 Unix 和类 Unix 操 作系统使用建议型锁,有些也使用强制型锁或兼而有之。 
  • 强制锁,是OS内核的文件锁。每个对文件操作时,例如执行open、read、write等操作时,OS内部检测该文件是否被加了强制锁,如果加锁导致这些文件操作失败。也就是内核强制应用程序来遵守游戏规则;微软的操作系统往往使用的是强制型锁。

所以依赖于强制文件锁定的应用程序,从根本上讲就是不可移植的。如果所有的文件锁均为建议型,并在访问共同资源的各个应用程序间使用一致的文件锁定,是明智之举,可以在跨操作系统工作。

以上是关于操作系统文件建议锁与强制锁的主要内容,如果未能解决你的问题,请参考以下文章

Linux建议锁和强制锁

建议性锁和强制性锁

互斥锁与进程间通信

31互斥锁与进程间通信

乐观锁与悲观锁

python并发编程之多进程1------互斥锁与进程间的通信