通过了解文件系统如何使用事务和日志来确保即使在系统崩溃后磁盘仍处于原子状态,我开始好奇文件系统如何处理并发(我猜这也可以扩展到数据库)。
基本上,关于并发文件系统,需要记住哪些关键事项?它们是否如我目前所述?
答案1
首先,“并发文件系统”并不是一个标准的行业术语。我不确定是否存在这样的术语,除非您谈论的是分布式文件系统。因此,我假设您的意思是文件系统级别的并发文件访问。
文件系统通常使用锁定来处理并发(即不处理并发)。也就是说,假设如果我正在写入文件,那么其他人不会同时写入同一个文件。如果你想放弃锁定,那么你大概会接受后果,并且大概会处理你自己的并发。
请记住,文件系统实际上只保证文件系统本身的完整性,而不是文件的完整性。如果您的文件被弄乱了,那是您的错。FS 只是说它不会是来源你的烦恼;但这并不意味着你就不会犯任何错误。
文件系统将保护的元素包括目录条目、文件权限和元数据、分配图以及许多您不关心的内容。您不必关心它们这一事实表明文件系统运行正常。
请注意,理论上文件系统日志可以在一定程度上保护文件内容。但开销难以承受,性能也很糟糕。