linux知道文件已关闭的机制究竟是什么? 我知道当文件关闭时,诸如INOTIFY之类的命令会触发IN_CLOSE_WRITE事件。但它是如何工作的?触发文件关闭的原因是什么?
类似地,操作系统如何知道文件已被打开以及它在何处注册该事实?
答案 0 :(得分:2)
操作系统(即内核)是实际打开和关闭文件的操作系统。程序必须告诉操作系统每次通过系统调用代表它打开/关闭文件。操作系统可以简单地跟踪这些通过自身的呼叫。
答案 1 :(得分:0)
有一个打开的文件表,列出了所有打开的流以及它们在内存中指向的位置。
这可能有所帮助:http://www.cs.kent.edu/~walker/classes/os.f07/lectures/Walker-11.pdf