Наши друзья:

 

 

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


• файловые системы Mac OS X
• виртуальная файловая система
• права доступа к съемным носителям
• URL-монтирование AppleShare- и Web-серверов
• длинные имена файлов
• дисковые файловые системы HFS, HFS+, UFS •' поддержка CD /DVD-дисков UDF, ISO 9660
• сетевые файловые протоколы AFP, NFS
Mac OS X работает с различными файловыми системами. Для этого исполь­зуются расширения системы BSD и механизм, называемый виртуальной файловой системой (VirtualFile System, VFS). Поддержка различных файло­вых систем включает в себя некоторые новые функции, которых не было в предыдущих версиях Mac OS:
• Права доступа к съемным носителям, основанные на уникальных иден­тификационных номерах (ID), регистрируемых в системе для каждого подключенного устройства со съемными носителями, включая USB-и Firewire-устройства).
• Основанное на URL монтирование томов, что позволяет монтировать тома на AppleShare- и Web-серверах.
• Длинные имена файлов (до 255 символов, или 755 байт на основе UTF-8).
Из-за наличия трех различных сред, в которых запускаются и работают программы, и множества типов носителей информации Mac OS X должна поддерживать несколько форма­тов носителей данных и сетевых файловых протоколов.
Форматы носителей, с которыми работает Mac OS X.
Множество форматов файловых систем на магнитных дисках создают некоторые сложности при обмене документами между томами. Напри­мер, классическая файловая система HFS поддерживает только так назы­ваемую MacRoman-систему кодировки символов в именах файлов и па­пок. Файловая система HFS+ использует канонический набор символов Unicode 2.1 в формате UTF-16, то есть в виде последовательности 16-раз­рядных кодов. Файловая система UFS также поддерживает полный набор символов Unicode 2.1, но только в формате UTF-8. Поэтому, чтобы умень­шить количество проблем, настоятельно рекомендуется не использовать

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

Формат носителя

Пояснения

HFS+

Hierarchical Fie System Plus, расширенный дисковый формат. Является основным форматом томов, с которых происходит загрузка системы Mac OS X. Оптимизирован для работы с дисками большой емкости. Используется не только в среде Mac OS X, но и в более ранних версиях Mac OS 8 и 9

HFS

Hierarchical File System, обычный дисковый формат. Основной формат дисков для систем Mac OS до версии 8.1

UFS

Дисковый формат системы UNIX на основе FFS (Fast File System) от BSD 4.4

UDF

Universal Disk Format — формат DVD-дисков

ISO 9660

Стандартный формат компакт-дисков (CD-ROM)

Сетевые файловые протоколы

Сетевой
файловый
протокол

Пояснения

AFP-клиент

Apple File Protocol — основной протокол общего доступа к файлам а системах Mac OS 8 и 9

NFS-клиент

Network File Service — доминирующий протокол общего доступа к файлам в UNIX-системах

WebDAV

Стандарт для общего доступа к файлам через Интернет

файловую систему HFS при работе с Mac OS X, несмотря на то, что фор­мально это не запрещено.
Так как Mac OS X рассчитана на работу в сложных гетерогенных средах, она поддерживает несколько сетевых файловых протоколов.
Mac OS X поддерживает механизм дисковых квот. Это означает, что для ка­ждого локального или удаленного пользователя администратор системы может устанавливать лимит дискового пространства. Квотирование распро­страняется практически на все перезаписываемые устройства с файловой структурой.
Файловые системы HFS, HFS+: особенности структуры файлов
• ветвь ресурсов (resource fork), ветвь данных (data fork)
• упаковка/распаковка Mac-файлов; BinHex-формат
• ресурсные файлы
• атрибуты Finder'a
• тип файла (type), создатель файла (creator)
Файлы файловых систем HFS и HFS+ состоят из двух логических частей — двух «внутренних файлов», называемых ветвями (forks).
Ветвь ресурсов (resource fork) предназначена для хранения так называе­мых ресурсов — окон, меню, иконок, шрифтов, звуков, всевозможных таб­лиц и многого, многого другого. Исполняемый код программ тоже один из ресурсов.
Ветвь данных (data fork) предназначена для хранения динамически соз­даваемых данных. Программы могут записывать в нее любую информацию.
Файл-программа обычно имеет насыщенную ветвь ресурсов и почти пус­тую ветвь данных; в файле-документе все наоборот: основная информация содержится в ветви данных, а ветвь ресурсов либо пуста, либо содержит ми­нимум ресурсов.
Структура файлов с несколькими ветвями в целом достаточно удобна, но в некоторых случаях может создавать серьезные проблемы. Главная из них состоит в том, что при передаче данных по не Macintosh-ориентированным сетям ветвь ресурсов зачастую не распознается и не пересылается или пере­сылается неверно. Это равносильно разрушению файлов.
Чтобы такого не происходило, приходится принимать специальные меры: сначала создается «обымный» файл, в котором обе ветви Mac-файла упако­вываются в специальном формате BinBex Такой файл передается по компь­ютерным сетям без потерь. При получении файла-контейнера он распако­вывается — из «обычного» файла получается файл формата HFS или HFS+ с двумя ветвями. Это хлопотно и неудобно для большинства пользователей. Поэтому фирма Apple в настоящее время рекомендует разработчикам про­грамм не использовать ветвь ресурсов файлов HFS и HFS+, а создавать от­дельные ресурсные файлы, в которых все необходимые ресурсы расположе­ны исключительно в ветви данных. Так, например, новый тип шрифтовых файлов Mac OS X, имеющих расширение .dfont,— это, по сути, обычные шрифтовые файлы, все ресурсы которых перенесены в ветвь данных. Кроме того, программы для Max OS X должны создаваться по новой идеологии, которая учитывает эти изменения в организации хранения ресурсов.
Помимо ветви ресурсов и ветви данных каждый файл содержит дополни­тельные признаки, называемые атрибутами Finder'a. Атрибуты распознают­ся и обрабатываются Finder'oм при отображении информации о данном файле или попытке его открыть (распечатать).
В Mac OS X сокращено количество атрибутов, обрабатываемых Finder'oM. Теперь этот список включает в себя:
• бит пакета (bundle bit),
• бит невидимости (invisible bit),
• коды типа файла и программы-создателя файла (type & creator),
• оригинальную иконку файла (custom icon).
Атрибуты, которые больше не поддерживаются Findre'OM:
• место расположения иконки на Столе,
• форма отображения информации о файле (view),
• этикетка (label).
Пожалуй, наиболее важными и наиболее специфическими являются атри­буты создатель файла (creator) и тип файла (type). Они помогают Finder'y принять правильное решение при открытии (печати) файлов.
Когда мы пытаемся открыть файл-программу, для Finder'a все понятно: надо просто запустить эту программу, а дальше она сама знает, что ей делать.
При открытии файла-документа приходится решать более сложную зада­чу. Сначала Finder проверяет код программы-создателя этого документа. Ес­ли на данном компьютере имеется нужная программа, она запускается и от­крывает указанный документ. Логика такого поведения очевидна: «автор» до­кумента лучше всех знает, как с ним работать.
Если на компьютере нет программы, создавшей документ, то проверяется код типа файла. Если находится несколько программ, которые умеют рабо­тать с файлами данного типа,— запускается одна из них. Например, с про­стыми текстовыми файлами работает множество редакторов текста, с гра­фическими файлами, или файлами изображений, работает несколько про­грамм просмотра или редактирования графики и так далее.
Если не находится ни одной программы, о которой системе известно, что она умеет работать с документами данного типа,— вызывается диалоговое окно, в котором вам предлагается самостоятельно выбрать подходящую. Ес­ли указанная вами программа успешно открыла документ, то система запо­минает это и в следующий раз сразу запускает ее.
Хранение информации о типе файла внутри самого файла имеет важное достоинство: никакое переименование файла не может изменить его тип, то есть суть файла не зависит от его имени.
Расширения имен файлов в Mac OS X
• расширения имен файлов
• особенности работы с расширениями имен в Mac OS X
«Классическая» Mac OS позволяет работать с документами, созданными не только на Macintosh'ax, но и на PC, a Mac OS X также и с документами, соз­данными под UNIX'OM. Такие файлы не имеют специальных внутренних ат­рибутов, а тип файла определяется по так называемому расширению имени файла.
Расширение — это дополнительные символы, которые расположены в конце имени файла после специального разделителя — точки. Например, файлы с расширением .doc — это документы программы Microsoft Word.
Поскольку имеется большое количество программ и, стало быть, большое количество расширений имен, Finder не всегда знает, какая программа нуж­на для работы с документом.
Системная панель управления «классической» Mac OS — File Exchange ре­шает эту проблему: для любого типа документа или для любого расширения имени файла можно указать программу, которой следует открывать доку­менты данного типа.
Использование расширений имен файлов в качестве указателя типа фай­ла имеет серьезный недостаток если документ был переименован с измене­нием расширения (пусть даже случайно), информация о его типе теряется. Иногда удается догадаться об исходном типе документа из контекста. Но в общем случае восстановить «истинную картину» бывает непросто.
Конечно, использование специальных внутренних атрибутов type и creator для описания типа файла и программы, его создавшей, идеологиче­ски более правильно и удобно. Но, к сожалению, такой подход, кроме фир­мы Apple, никем больше не поддерживаемся. Применение для этих целей расширений имен файлов — существенно более ущербное решение, но ши­роко распространенное. Как быть?
Mac OS X с самого начала разрабатывалась как система, способная эффе­ктивно работать в гетерогенной среде. Поэтому Finder Mac OS X был рассчитан на поддержку как внутренних атрибутов файлов HFS и HFS+, так и расширений имен в качестве описателей типа файлов. Фирма Apple настоя­тельно рекомендовала разработчикам программ использовать расширения как обязательную часть имен файлов. Большинство же пользователей Macintosh^ без восторга воспринимало необходимость «возвращения к со­хе». Начиная с версии Mac OS X 10.1, Apple решила пойти на компромисс — в структуру каждого файла был добавлен дополнительный бит — флаг скры-тости расширения имени файла (File пате extension hidden flag). Если этот флаг установлен, то расширение имени файла отображаться не будет, и на­оборот. Общий принцип, положенный в алгоритм работы с этим флагом, кратко можно описать фразой: «Видишь то, что набрал» (Whatyou see is what you type), то есть имя файла, отображаемое Finder'oм, соответствует имени, заданному в диалоговом окне сохранения файла Save или непосредственно в Finder'e в момент создания файла: если вы задали имя с расширением — то будете видеть имя этого файла с расширением, если имя было задано без расширения — то и в дальнейшем этот файл будет без расширения. При по­лучении файла с другого компьютера по умолчанию флаг скрытости не ус­танавливается, то есть Finder показывает его имя целиком как есть, напри­мер, Image.jpg. Если в дальнейшем пользователь захочет переименовать файл, например MyPicture, то расширение jpg сохранится, но не будет ото­бражаться Finder'oM — для пользователя он будет виден под именем MyPicture. В случае передачи данного файла на другой компьютер его имя будет передано целиком, без сокращений,— MyPicture.jpg.
Если пользователь захочет изменить расширение файла — система преду­предит о возможных последствиях такого изменения.
Экранной кнопкой Use... изменяется расширение, если это необходимо.
Экранная кнопка Keep... сохранит текущее значение расширения имени.
Таков, вкратце, алгоритм работы системы с расширениями имен файлов по умолчанию. В настройках Finder'a можно принудительно указать, чтобы расширения имен файлов отображались всегда. Если есть желание сохра­нить «разумное» поведение Finder'a, свойственное ему по умолчанию, и при этом получить информацию о полном имени файла, включая расшире­ние,— воспользуйтесь SI) Inspector^ .
Ссылки на файлы
• ссылка по идентификатору — основной тип ссылок в Mac OS X
• способ создания символической ссылки в Mac OS X
Файловые системы HFS и HFS+ поддерживают ссылки на файлы по иден­тификатору. Файловая система UFS работает с символическими ссылка­ми. Mac OS X поддерживает как ту, так и другую файловую систему, но в качестве основного сохранен механизм ссылок по идентификатору, хо­тя в некоторых случаях для повышения эффективности и надежности системных модулей, которые имеют постоянное место в файловой сис­теме, используются символические ссылки. Finder понимает символиче­ские ссылки, но создавать разрешает только ссылки по идентификато­ру. Даже когда Finder встречает символическую ссылку, он представляет ее пользователю как ссылку по идентификатору. Таким образом, пользо­ватель практически не чувствует разницы между этими двумя типами ссылок. Единственным способом создать символическую ссылку в Mac OS X является выполнение BSD-команды в терминальном ре-
жиме.
Квоты дискового пространства
• дисковые квоты
• типы квот: индивидуальные, групповые, «мягкие», «жесткие»
Mac OS X, как и большинство других UNIX'OB, позволяет устанавливать ли­миты (квоты) дискового пространства для пользователей системы. Квоты могут быть индивидуальными и/или групповыми. Лимит может быть уста­новлен как на общий объем дисковой памяти, занимаемой пользователем, так и на количество файлов. Квоты бывают «мягкими» и «жесткими». «Мяг­кая» квота позволяет в течение некоторого заранее заданного интервала времени превышать установленные пределы, но при этом система преду­преждает пользователя о том, что им исчерпан лимит дисковой памяти. Ес­ли по истечении этого интервала пользователь не навел порядок и не уда­лил лишние файлы, включается режим «жесткого» квотирования, при кото­ром пользователь не сможет ничего записать на диск до тех пор, пока зани­маемое дисковое пространство превышает норму.
Установка дисковых квот чаще всего используется на серверах, где много пользователей разделяют ресурсы системы и нужна достаточно жесткая дис­циплина в распределении и учете ресурсов. На «обычных» компьютерах необ­ходимость установки дисковый квот возникает редко. Поэтому в Mac OS X все настройки режима квотирования доступны только в терминальном режиме команд BSD.
Имеется целый ряд команд, связанных с дисковыми квотами. Назовем ос­новные из них:
quota     - просмотреть текущие квоты конкретных пользователей
и/или групп пользователей, edquota  - отредактировать (задать/изменить) квоты, quotaon - активировать квоты, назначенные с помощью команды
edquota.
Более подробное описание указанных команд можно получить, восполь­зовавшись встроенной системой подсказок UNIXa, то есть командой man: man quota, man edquota, man quotaon.

 

 
| На главную | Содержание | Вперёд | Назад |

Последнее обновление

С вопросами и предложениями можно обращаться на nicivas@bk.ru