СТРУКТУРА ФАЙЛОВОЙ СИСТЕМЫ
СТРУКТУРА ФАЙЛОВОЙ СИСТЕМЫ

Mac OS X является многопользовательской системой. Это означает, что дос­туп к ресурсам системы строго персонализирован. Для каждого пользовате­ля системы создается учетная запись, в которой указывается его имя (полное и сокращенное) и личный пароль. Сокращенное имя также является регист­рационным именем пользователя.

Каждый пользователь перед началом работы в системе Mac OS X должен пройти процедуру вхождения в систему (login), то есть указать свое имя (Name) и пароль (Password). Система сверяет введенные пользователем данные с данными учетной записи. Если они не совпадают, доступ к ресурсам системы будет закрыт.

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

Количество попыток войти в систему не ограничено.

Существует главный пользователь – администратор системы, который следит за поддержанием порядка. Только администратор системы и никто другой, имеет право создавать или удалять учетные записи пользователей. Администратор может накладывать те или иные ограничения на доступ к ресурсам системы, хотя идеология Mac OS X сводит к минимуму необходи­мость таких операций.

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

Поэтому Mac OS X заметно строже относится к расположению файлов в фай­ловой системе. Практически каждый файл имеет свое заранее определенное ме­сто. Для файлов различного типа и назначения определены различные стандарт­ные места. Не рекомендуется сохранять файлы в произвольных местах и без не­обходимости перемещать или переименовывать их. Изменение местоположе­ния или переименование системных файлов может привести к полной или час­тичной потере работоспособности системы. Алгоритм работы Finder'a также рассчитан на наличие определенного порядка в размещении информации.

 

Домены

Чтобы разделить «сферы полномочий» и навести во всем этом порядок, в Mac OS X введено понятие домена файловой системы, или просто домена.

Домен (domain) –это некоторая область файловой системы, имеющая четко выраженную, заранее определенную структуру, что облегчает поиск доменов и работу с ними. Домены различаются наполнением – конкретны­ми файлами, хранящимися в определенных местах, и степенью доступности этих файлов. Всего имеется четыре домена: User, Local, Network, System.

User (пользователь).Домен пользователя, который в данный момент зарегистрировался в системе. Папка верхнего уровня этой структуры на­зывается домашней папкой пользователя. Домашняя папка пользователя может находиться как на загрузочном диске, так и на другом компьюте­ре в сети. Пользователь сам решает, что и как хранить в своем домене.

Local (локальный).Домен программ, документов и других ресурсов, кото­рые не являются критически важными для работы системы, но должны быть доступны всем пользователям данного компьютера. Администраторы систе­мы могут добавлять, удалять или модифицировать элементы этого домена. Домен всегда располагается на загрузочном диске.

Network (сеть).Домен для программ, документов и других ресурсов, кото­рые должны быть доступны всем пользователям локальной компьютерной сети. Обычно ресурсы этого домена помещаются на один из серверов сети и находятся в ведении администратора сети.

System (система).Домен системного программного обеспечения, устано­вленного фирмой Apple. Всегда находится на загрузочном диске. Содержит программы, критически важные для работы всей системы. Пользователь не может добавлять, удалять или изменять содержимое этого домена. Только главный администратор – root имеет исключительные права на внесение изменений в содержимое домена System.

Следует помнить, что если Mac OS 9.x работала в многопользовательском режиме, то в папке Users автоматически создаются домашние папки для каждого за­регистрированного в Mac OS 9-х пользователя.

Mac OS X очень строго относится к расположению файлов в файловой структуре

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

Структура папки Library одинакова для всех доменов, однако не все эле­менты этой папки являются строго обязательными.

Программы окружения Classic хранятся в папке Mac OS X. Эта папка не входит в доменную структуру, так как обслу­живает только «классические» программы и не просматривается Mac OS X при поиске ресурсов.

 

Параметры объектов

Каждый объект файловой системы характеризуется целым радом парамет­ров. Для просмотра и изменения этих параметров предусмотрена специаль­ная программа –Inspector.

Inspector – это существенно расширенный аналог команды Finder'a Get Infoпредыдущих версий Mac OS. Информация, предоставляемая Inspector'oм, хорошо структурирована с помощью ниспадающих меню. Набор сведений, предоставляемых Inspector'oм, зависит от типа объекта. Основными типами объектов явля­ются: том (volume), папка (folder), программа (application), документ (document), ссылка (alias).Некоторые параметры являются обязательны­ми для объектов всех типов (например, имя объекта, его тип, размер и так далее), а некоторые присущи только объектам определенного типа.

 

Расширение имен файлов в Mac OS

«Классическая» Mac OS позволяет работать с документами, которые были созданы не только на Macintosh'ax, но и на PC, a Mac OS X также и с документами, соз­данными под UNIX'ом. Такие файлы не имеют специальных внутренних ат­рибутов, а тип файла определяется по так называемому расширению имени файла.

Расширение – это дополнительные символы, которые расположены в конце имени файла после специального разделителя – точки.

Поскольку имеется большое количество программ и, стало быть, большое количество расширений имен, Finder не всегда знает, какая программа нуж­на для работы с документом.

Системная панель управления «классической» Mac OS – File Exchange ре­шает эту проблему: для любого типа документа или для любого расширения имени файла можно указать программу, которой следует открывать доку­менты данного типа.

Использование расширений имен файлов в качестве указателя типа фай­ла имеет серьезный недостаток: если документ был переименован с измене­нием расширения (пусть даже случайно), информация о его типе теряется. Иногда удается догадаться об исходном типе документа из контекста. Но в общем случае восстановить «истинную картину» бывает непросто.

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

Mac OS X с самого начала разрабатывалась как система, способная эффе­ктивно работать в гетерогенной среде. Поэтому Finder Mac OS X был рассчитан на поддержку как внутренних атрибутов файлов HFS и HFS+, так и расширений имен в качестве описателей типа файлов. Фирма Apple настоя­тельно рекомендовала разработчикам программ использовать расширения как обязательную часть имен файлов. Большинство же пользователей Macintosh'eй без особого восторга воспринимало эту необходимость. Поэтому, начиная с версии Mac OS X 10.1, Apple решила пойти на компромисс – в структуру каждого файла был добавлен дополнительный бит, так называемый флаг скрытости расширения имени файла (File пате extension hidden flag). Если этот флаг установлен, то расширение имени файла отображаться не будет, и на­оборот. Общий принцип, который был положен в алгоритм работы с этим флагом, кратко можно описать фразой: «Видишь то, что набрал» (Whatyou see is what you type), то есть имя файла, отображаемое Finder'oм, соответствует имени, заданному в диалоговом окне сохранения файла Save или непосредственно в Finder'e в момент создания файла: если пользователь задал имя с расширением – то он и будет видеть имя этого файла с расширением, если же имя было задано без расширения – то и в дальнейшем этот файл будет без расширения. При по­лучении файла с другого компьютера по умолчанию флаг скрытости не ус­танавливается, то есть Finder показывает его имя целиком как есть.

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

 

Поддержка прикладных программ

Переход на новую операционную систему означает не только переход на новые принципы, структуру, организацию самой системы. Это еще и радикальные изменения в разработке и функционировании прикладных программ. С одной стороны – это новые возможности, которые несет в себе новая система, а с другой – ог­ромное число уже работающих программ, написанных под предыдущие вер­сии Mac OS. Две системы – старая и новая – это две среды обитания, два существенно разных мира. Поэтому в структуре Mac OS X предусмотрен специальный логический уровень – слой поддерж­ки прикладных программ разного типа.

Mac OS X поддерживает работу трех типов прикладных программ и создает соответствующую «среду обитания», окружение для программ данного типа:

  • старых программ, написанных для Mac OS 8 и Mac OS 9. Соответству­ющее окружение называется Classic;
  • старых программ, но подправленных для работы в Mac OS X. Соответ­ствующее окружение называется Carbon;
  • программ, написанных специально для Mac OS X. Соответствующее окружение называется Cocoa.

Можно сказать, что именно Cocoa превращает Mac OS X в опера­ционную систему будущего. Cocoa – это та самая среда разработки, которая, будучи еще библиотеками NeXT, славилась почти сверхъестественной способностью несколькими строками исходного кода ре­шать задачи, зачастую требующие в других сре­дах не меньшего числа страниц.

Выдающиеся способности библиотекам придает удивительный язык программирова­ния, на котором они написаны – Objective-C. Есть еще Cocoa и Java. Написать что-то по­добное на C++, может быть и возможно, но это заняло бы очень много времени и, скорее всего, никогда не было бы отлажено до ра­бочего состояния. И здесь дело вовсе не в том, что Objective-C обладает явными преимуществами, а в том, что для C++ неестественны те конструкции и механизмы, на которых строится Cocoa.

Благодаря этим конструкциям и меха­низмам, а также интеграции с редактором интерфейсов Interface Builder (IB) страте­гия разработки программ с пользователь­ским интерфейсом во многом отличается от общепринятой. В IB разработчик не только расставляет элементы интерфейса, но и ус­танавливает связи между ними и другими частями программного проекта, часто без единой строки кода, написанной вручную.

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

В Cocoa значительно реже прибегают к наследованию библиотечных классов: пове­дение последних можно изменять в очень широких пределах другими штатными мето­дами. С помощью категорий, одного из меха­низмов Obj-C, любой класс, даже корневой, можно расширить. Школы бизнеса рекомен­дуют делегирование – технологию, при ко­торой должностное лицо передает часть пол­номочий подчиненным. В Cocoa этот процесс доведен до совершенства. Многие классы библиотеки предоставляют делегатам набо­ры методов, которые те могут переопреде­лить. Делегатом может быть любой объект, реализующий хотя бы часть таких процедур. В нужные моменты объект библиотечного класса сначала пробует вызывать методы объекта-делегата, а если нужного метода нет или делегат не подключен, использует встро­енный вариант. Делегатов можно подключать и отключать в любой момент выполнения   программы. Некоторые библиотечные классы выставляют на откуп подчиненных сразу не­сколько групп функций. Рекордсмен (Web-View из библиотеки WebKit) различает че­тыре типа делегатов. Некоторые классы (NSTableView, NSOutlineView и ряд других) требуют для нормальной работы специаль­ного делегата, в котором ряд методов обяза­тельно должен быть определен.

Мощь Cocoa в чистом виде очевидна. Но истинная мощь этих библиотек еще со вре­мен NeXT – в легкой доступности других технологий и библиотек, находящихся в си­стеме. Во времена NeXT это были Display PostScript и BSD. В Mac OS X число стан­дартных, обязательно присутствующих в каждом дистрибутиве системы, библиотек и подсистем больше на несколько поряд­ков. Многообразие средств самовыраже­ния просто огромно. Например, одно и то же действие над файлом можно выполнить и средствами BSD, и Carbon (библиотеки классической Mac OS, перера­ботанные в библиотеки современной ОС), и Cocoa. Кроме того, такие же средства есть в Java и стандартных библиотеках различных языков. Такая же ситуация с большинством других аспектов компьютерной жизни.

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

Среда разработки и исполнения про­грамм Cocoa – это лишь первая среди многих равных. На том же уровне располагаются Carbon (осовремененные библиотеки клас­сической системы), Java SDK (в составе си­стемы поставляется вся Java – Awt, Swing и т. п.), Classic (среда отработки программ для классической Mac OS) и BSD.

Всем этим средам разработки и исполне­ния (кроме Classic и в некоторой степени BSD) открыты огромные возможности графических библиотек Cocoa – Quartz 2D, OpenGL и QuickTime. Последние скорее отно­сятся к мультимедиа. Клиентская часть I/O Kit, Open Directory (Mac-реализация Active Directory, LDAPv2, LDAPv3 и не только – это межплатформенные технологии сетевого администрирования), мощная система обес­печения безопасности данных и коммуни­каций, векторные библиотеки и многое дру­гое.

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

Строго говоря, Mac OS X создает еще два типа окружений:

  • для работы с языком Java,
  • для работы в командном режиме BSD.

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

Что касается Java, то следует заметить, что системные средства для под­держки Java-программ существовали и в более ранних версиях Mac OS, но в Mac OS X они наконец-то обрели должный статус. Учитывая критику за от­ставание, неполное соответствие стандартам и недостаточную скорость ра­боты, фирма Apple заметно скорректировала эту часть системы. Теперь она содержит весь необходимый и эффективный набор средств для работы Java-программ и Java-апплет.

Какие же наиболее серьезные изменения были внесены в реализацию под­держки Java на Macintosh'ax?

Во-первых, существенно усилена общая интеграция с системой. В Mac OS X разработчики Java-программ имеют доступ практически ко всем Application Program Interfaces (API) среды Cocoa. Это озна­чает, что теперь реально не существует разницы между программа­ми, написанными на родном для Mac OS X языке Object-C, и про­граммами, написанными на Java. Подтверждением этому служит тот факт, что многие программы, поставляемые в комплекте с Mac OS X, написаны на Java.

Это, в свою очередь, существенно расширяет круг потенциальных разработчиков про­грамм для Mac OS X. Программисты, которые раньше создавали Java-программы для UNIX'a или PC, теперь могут найти применение своим знаниям и опыту на платформе Macintosh не только в качестве разра­ботчиков специфических Java-программ или апплет, но и как авторы обычных программ для Macintosh'a.

В Mac OS X фирма Apple полностью реализовала спецификации стан­дарта Java 2 на основе последней версии Java Development Kit (JDK), включая Java Virtual Machine (JVM). Таким образом, ликвидировано от­ставание реализации Java на Macintosh'ax от остального Java-сообще­ства. Macintosh становится полноценной Java-платформой. Общие UNIX-корни Mac OS X и Sun Solaris позволяют надеяться на хорошую совместимость и переносимость Java-программ.

Рассмотрим чуть подробнее окружение Classic, потому что после перехо­да на новую систему именно окружение Classic некоторое время будет яв­ляться основной средой для практической работы, так как только в этой среде могут работать привычные «классические» программы.

По своей сути, Classic-окружение – это полностью развернутая версия Mac OS 9.xс некоторыми дополнениями для правильного взаимодействия с остальными частями Mac OS X. При первом обращении к окружению Classic, например при запуске «классической» программы, в среде Mac OS X, система, после по­лучения согласия от пользователя, устанавливает в Mac OS 9.х необходимые дополнительные файлы. В дальнейшем, при попытке открыть документ, соз­данный «классической» программой, или запустить саму «классическую» про­грамму, Mac OS X будет запускать Mac OS 9.x, настроенную для работы в сре­де Mac OS X.

В настройках системы можно указать, чтобы окружение Classic загружа­лось автоматически при каждом старте системы. В этом случае при запуске «классической» программы или открытии документа, созданного «классиче­ской» программой, не будет появляться никакого специального сообщения, а будет просто открываться соответствующая программа, как это происхо­дит в Mac OS 9.x.

В этом режиме вам доступны практически все средства Mac OS 9.x – под­ключение к компьютерной сети, печать, работа со съемными носителями и так далее. Однако надо помнить, что при этом пользователь не получает никаких пре­имуществ, заложенных в Mac OS X: никакой серьезной защиты памяти задач, никакой полноценной многопроцессорности. Окружение Classic рассмат­ривается фирмой Apple как переходная фаза, пока большинство фирм-раз­работчиков прикладных программ не перепишут свои программы для но­вой операционной системы.

Многие компоненты Mac OS X тщательно отлажены и облагорожены. Некоторые из них обновлены, устремлены в будущее и быстро достигают совершенства. Еще никогда все это многообразие не встреча­лось под одной оболочкой, тем более в масштабах пользовательского интерфей­са. Во многом это все еще потенциал, большей части которого только предстоит дойти до разработчиков.

 

Шрифты, используемые в Mac OS X

В работе со шрифтами Mac OS X использует механизм, который получил название Apple Type Solution (ATS). Он позволяет работать с такими форматами шрифтов как Open Type, Type 1, TrueType и bitmap. Также ATS обеспечивает централизованное управление шрифтами для всех пользователей сис­темы.

Для того, чтобы управлять шрифта­ми в системе предусмотрена работа специального модуля. Этот модуль появляется в меню Format прикладных программкак команда Font. Он одновременно является рабочим инструментом для выбо­ра конкретного шрифта, его размера и начертания. Также этот модуль используется как средство уп­равления шрифтами.

Список Collection используется для переключения между различными на­борами (коллекциями) шрифтов, которые можно создавать самостоятельно.

Фирма Apple в Mac OS X упростила набор системных шрифтов. Набор шрифтов сводится к единственной гарнитуре Lucida Grande, которая имеет не­сколько различных начертаний. Но это вовсе не означает, что Mac OS X поставляется и работает только с этим шрифтом – Mac OS X снабжен довольно неплохим набором шрифтов, разно­образных по своему стилю и назначению.

В коллекцию Classic (классические) входят такие шрифты, как Big Caslon, Didot, Baskerville, Copperplate.

Фирма Apple этой коллекцией отдает своеобразную дань уважения тем людям, которые внесли свой вклад в формирование такой отрасли, как шрифты.

Шрифт Big Caslon обязан своим появлением Уильяму Каслону (William Caslon). Этим шрифтом была отпечатана пер­вая редакция Декларации независимости США.

Шрифты семейства Didot, основаные на пойнте – 1/72 дюйма до сегодняшних дней существует и действует в системе типографских размеров.

В честь Джона Баскервиля (John Baskerville) названа гарнитура Baskerville. На написание книги о всех тонкостях типографского производства он потратил семь лет своей жизни.

Коллекция Fun (декоративные, необычные) включает в себя шрифты: American Typewrite, Herculanum, Marker Felt, Papyrus, Zapfino.

В коллекцию Modern (современные) входитне очень большой, но достаточно разнообразный по сти­лю набор шрифтов, созданный современными мастерами: Futura, Gill Sam, Helvetica Neue, Optima.

Коллекция шрифтов PDF больше всего подходит для создания документов в формате PDF. В нее входят такие шрифты какCourier, Helvetica, Symbol, Times, Zapf Dingbats.

Для создания Web-страниц используется коллекция Web. Наиболее подходящие шрифты: Andale Mono, Arial, Arial Black, Brush Script MT, Comic Sans MS, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana, Webdings.

Copyright © 2006-2008 "TheMacSpin.com"


На главнуюНаписать письмоКарта сайта
Разделы