linux知道文件已关闭的机制到底是什么?我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发关闭文件?
同样,操作系统如何知道文件已打开以及它在哪里注册该事实?
linux知道文件已关闭的机制到底是什么?我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发关闭文件?
同样,操作系统如何知道文件已打开以及它在哪里注册该事实?
操作系统(即内核)是实际打开和关闭文件的系统。程序每次想要通过系统调用执行此操作时,都必须告诉操作系统代表它打开/关闭文件。操作系统可以简单地跟踪通过自身的这些调用。
有一个打开的文件表,列出了所有打开的流以及它们在内存中指向的位置。
这可能会有所帮助:http ://www.cs.kent.edu/~walker/classes/os.f07/lectures/Walker-11.pdf