Обзор файловых систем

OS X предоставляет “поля” поддержку нескольких различных файловых систем. Они включают Расширенный формат Mac OS (HFS +), формат файловой системы стандарта BSD (UFS), NFS (промышленный стандарт для сетевых файловых систем), ISO 9660 (используемый для CDROM), MS-DOS, SMB (стандарт совместного доступа к файлам Windows), AFP (Совместный доступ к файлам Mac OS), и UDF.

Поддержка также включена для чтения более старого, Стандартного формата Mac OS (HFS) тип файловой системы; однако, Вы не должны планировать отформатировать новые объемы с помощью Стандартного формата Mac OS. OS X не может загрузиться от этих файловых систем, и при этом Стандартный формат Mac OS не обеспечивает часть требуемой информации OS X.

Расширенный формат Mac OS обеспечивает многие из тех же характеристик как Стандартный формат Mac OS, но добавляет дополнительную поддержку современных функций, таких как полномочия файла, более длительные имена файлов, Unicode, и жесткие и символьные ссылки и большие размеры диска.

UFS обеспечивает чувствительность к регистру и другие характеристики, которые могут ожидаться командами BSD. Напротив, Расширенный формат Mac OS не чувствителен к регистру (но сохранение случая).

OS X в настоящее время может загружаться и «базироваться» от HFS +, UFS, ISO, NFS или объем UDF. Т.е. OS X может загрузиться от и смонтировать объем любого из этих типов и использовать его в качестве основной, или корневой, файловой системы.

Другие файловые системы могут также быть смонтированы, позволив пользователям получить доступ к дополнительным форматам объема и функциям.

NFS обеспечивает доступ к сетевым серверам, как будто они были локально смонтированными файловыми системами. Среда приложения Углерода подражает многим ожидаемым способам поведения Расширенного формата Mac OS и поверх UFS и поверх NFS. Они включают такие характеристики как Информацию Средства поиска, доступ идентификатора файла и псевдонимы.

При помощи возможности Виртуальной файловой системы (VFS) OS X и пишущий расширения ядра, можно добавить поддержку других файловых систем. Примеры файловых систем, в настоящее время не поддерживающихся в OS X, но что можно хотеть добавить к системе, включают Файловую систему Эндрю (AFS) и файловую систему Reiser (ReiserFS). Если Вы захотите поддерживать новый формат объема или сетевой протокол, то необходимо будет записать расширение ядра файловой системы.

Работа с файловой системой

В OS X vnode структура обеспечивает внутреннее представление файла или каталога (папка). Существует уникальный vnode, выделенный для каждого активного файла или папки, включая корень.

В файловой системе операции на определенных файлах и каталогах реализованы через vnodes и VOP (vnode работа) вызовы. Вызовы VOP используются для операций на отдельных файлах или каталогах (такой как открытые, близко, чтение или запись). Примеры включают VOP_OPEN открыть файл и VOP_READ считать содержание файла.

Напротив, операции в масштабе всей системы файлом реализованы с помощью вызовов VFS. Вызовы VFS прежде всего используются для операций в целых файловых системах; примеры включают VFS_MOUNT и VFS_UNMOUNT смонтировать или размонтировать файловую систему, соответственно. Писатели файловой системы должны обеспечить тупики для каждого из этих наборов вызовов.

Переход VFS

Подробные данные подсистемы VFS в OS X находятся в процессе изменения для создания интерфейса VFS поддерживаемым.

Если Вы запишете листовую файловую систему, то эти изменения будут все еще влиять на Вас во многих отношениях. свяжитесь с Поддержкой разработчиков Apple для получения дополнительной информации.