【发布时间】:2011-09-14 20:53:24
【问题描述】:
linux 知道文件已关闭的具体机制是什么? 我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发了文件的关闭?
同样,操作系统如何知道文件已打开以及它在哪里注册该事实?
【问题讨论】:
标签: filesystems kernel inotify pyinotify
linux 知道文件已关闭的具体机制是什么? 我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发了文件的关闭?
同样,操作系统如何知道文件已打开以及它在哪里注册该事实?
【问题讨论】:
标签: filesystems kernel inotify pyinotify
操作系统(即内核)是实际打开和关闭文件的操作系统。程序每次想通过系统调用 来告诉操作系统代表它打开/关闭文件。操作系统可以简单地跟踪通过自己的这些调用。
【讨论】:
有一个打开的文件表,列出了所有打开的流以及它们在内存中指向的位置。
这可能会有所帮助:http://www.cs.kent.edu/~walker/classes/os.f07/lectures/Walker-11.pdf
【讨论】: