Как ядро ​​знает, что файл закрыт - PullRequest
0 голосов
/ 15 сентября 2011

Что именно представляет собой механизм, с помощью которого Linux знает, что файл был закрыт?Я знаю, что такие команды, как INOTIFY, будут вызывать событие IN_CLOSE_WRITE при закрытии файла.Но как это работает ?Что вызывает закрытие файла?

Точно так же, как ОС узнает, что файл был открыт и где регистрирует этот факт?

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Операционная система (то есть ядро) - это та, которая фактически открывает и закрывает файлы. Программа должна будет указывать ОС открывать / закрывать файлы от своего имени каждый раз, когда она хочет это сделать с помощью системных вызовов . ОС может просто отслеживать эти вызовы, которые проходят через себя.

0 голосов
/ 15 сентября 2011

Существует открытая таблица файлов, в которой перечислены все открытые потоки и места, на которые они указывают в памяти.

Это может помочь: http://www.cs.kent.edu/~walker/classes/os.f07/lectures/Walker-11.pdf

...