|
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.
|