Файловые системы Mac OS X

05 сентября 2008 - 16:28

Mac OS X способен работать с различными файловыми системами. Для этого исполь зуются расширения системы BSD и механизм, который называется виртуальной файловой системой (Virtual File System, VFS).

Поддержка различных файло вых систем включает в себя некоторые новые функции, которых не было в предыдущих версиях Mac OS, а именно:

  • Права доступа к съемным носителям, основанные на уникальных иден­тификационных номерах (ID), которые регистрируются в системе для каждого подключенного устройства со съемными носителями (включая USB-и Firewire-устройства).
  • Основанное на URL монтирование томов, что позволяет монтировать тома на AppleShare- и Web-серверах.
  • Длинные имена файлов (до 255 символов, или 755 байт на основе UTF-8).

Типы носителей, поддерживаемые Mac OS X

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

Форматы носителей, с которыми работает Mac OS

  • HFS+
  • HFS
  • UFS
  • UDF
  • ISO 9660

Множество форматов файловых систем на магнитных дисках создают некоторые сложности при обмене документами между томами. Напри мер, классическая файловая система HFS поддерживает только так назы ваемую MacRoman-систему кодировки символов в именах файлов и па пок. Файловая система HFS+ использует канонический набор символов Unicode 2.1 в формате UTF-16, то есть в виде последовательности 16-раз рядных кодов. Файловая система UFS также поддерживает полный набор символов Unicode 2.1, но только в формате UTF-8. Поэтому, чтобы умень шить количество проблем, настоятельно рекомендуется не использовать файловую систему HFS при работе с Mac OS X, несмотря на то, что фор мально это не запрещено.

Mac OS X поддерживает несколько сетевых файловых протоколов:

  • AFP-клиент
  • NFS-клиент
  • WebDAV

Mac OS X поддерживает механизм дисковых квот. Это означает, что для ка ждого локального или удаленного пользователя администратор системы может устанавливать лимит дискового пространства. Квотирование распро страняется практически на все перезаписываемые устройства с файловой структурой.

HFS и HFS+

Файлы файловых систем HFS и HFS+ состоят из двух логических частей – двух «внутренних файлов», называемых ветвями (forks).

Ветвь ресурсов (resource fork) предназначена для хранения так называе мых ресурсов, то есть окон, меню, иконок, шрифтов, звуков, всевозможных таб лиц и многого другого. Так же одним из ресурсов является исполняемый код программ.

Ветвь данных (data fork) предназначена для хранения динамически соз даваемых данных. В нее программы могут записывать любую информацию.

Файл-программа обычно имеет насыщенную ветвь ресурсов и почти пус тую ветвь данных. В файле-документе все наоборот: основная информация содержится в ветви данных, а ветвь ресурсов либо пуста, либо содержит ми нимум ресурсов.

Структура файлов с несколькими ветвями в целом достаточно удобна, но в некоторых случаях может создавать серьезные проблемы. Главная из них состоит в том, что при передаче данных по не Macintosh-ориентированным сетям ветвь ресурсов зачастую не распознается и не пересылается или пере сылается неверно. А это равносильно разрушению файлов.

Чтобы такого не происходило, приходится принимать специальные меры: сначала создается «обычный» файл, в котором обе ветви Mac-файла упако вываются в специальном формате BinBex. Такой файл передается по компь ютерным сетям без потерь. При получении файла-контейнера он распако вывается – из «обычного» файла получается файл формата HFS или HFS+ с двумя ветвями. Это довольно проблематично и неудобно для большинства пользователей. Поэтому фирма Apple в настоящее время рекомендует разработчикам про грамм не использовать ветвь ресурсов файлов HFS и HFS+, а создавать от дельные ресурсные файлы, в которых все необходимые ресурсы расположе ны исключительно в ветви данных.

Помимо ветви ресурсов и ветви данных каждый файл содержит дополни тельные признаки, называемые атрибутами Finder’a. Атрибуты распознают ся и обрабатываются Finder’oм при отображении информации о данном файле или попытке его открыть (распечатать).

В Mac OS X сокращено количество атрибутов, обрабатываемых Finder’oм. Теперь этот список включает в себя:

  • бит пакета (bundle bit)
  • бит невидимости (invisible bit)
  • коды типа файла и программы-создателя файла (type & creator)
  • оригинальную иконку файла (custom icon)
  • Атрибуты, которые больше не поддерживаются Finder’ом
  • место расположения иконки на Столе
  • форма отображения информации о файле (view)
  • этикетка (label)

Пожалуй, наиболее важными и наиболее специфическими являются атри буты создатель файла (creator) и тип файла (type). Они помогают Finder’y принять правильное решение при открытии (печати) файлов.

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

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

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

Хранение информации о типе файла внутри самого файла имеет одно большое достоинство: никакое переименование файла не может изменить его тип, то есть суть файла не будет зависеть от его имени.

Источник: Themacspin.com