Шрифт:
Файловые системы могут реализовать уникальную функцию для каждой из этих операций или использовать общий существующий метод. Общие методы нормально работают для обычных Unix-подобных файловых систем. Разработчики файловых систем не обязаны реализовать все эти функции, хотя основные методы должны быть реализованы. Если какой-либо метод не представляет интереса, то его можно установить в значение
Рассмотрим каждую операцию подробнее.
•
Эта функция устанавливает значения указателя текущей позиции в файле (file pointer) в заданное значение параметра
•
Эта функция считывает
•
Эта функция запускает асинхронную операцию считывания
•
Эта функция записывает
•
Эта функция запускает асинхронную операцию записи
•
Эта функция возвращает следующий элемент из списка содержимого каталога. Данная функция вызывается из системного вызова
•
Эта функция переводит вызывающий процесс в состояние ожидания для ожидания действий, которые производятся с указанным файлом. Она вызывается из системного вызова
•
Эта функция используется для того, чтобы отправлять устройствам пары значений команда/аргумент. Функция используется, когда открытый файл — это специальный файл устройства. Данная функция вызывается из системного вызова
•
Эта функция отображает указанный файл на область памяти в указанном адресном пространстве и вызывается из системного вызова
•
Эта функция создает новый файловый объект и связывает его с указанным файловым индексом. Она вызывается из системного вызова
•
Эта функция вызывается подсистемой VFS, когда уменьшается счетчик ссылок на открытый файл. Назначение данной функции зависит от файловой системы.
•
Эта функция вызывается подсистемой VFS, когда исчезает последняя ссылка на файл, например, когда последний процесс, который использовал соответствующий файловый дескриптор, вызывает функцию
•
Эта функция вызывается из системного вызова