Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #38, ЯНВАРЬ 2004 г.

Попади в десятку

Каролик Андрей (andrusha@sl.ru)

Спецвыпуск Xakep, номер #038, стр. 038-048-1


Архитектура и возможности Mac OS X

Mac OS X является одной из самых молодых на рынке операционных систем. Как же она устроена? Что новогого и полезного внутри?

В первом приближении Mac OS X (аналогично Mac OS X Server) независимо от версии включает в себя четыре изолированных компоненты.

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

Aqua

Самым "верхним" слоем в иерархии системы Mac OS X является графический интерфейс пользователя Aqua.

Первая вышедшая за пределы лаборатории реализация графического интерфейса пользователя (GUI) была использована в компьютере Apple Lisa (февраль 1984 года). В течение 20 лет практически ничего не менялось. И только в 2001 году, когда вышла первая версия Mac OS X, появилась Aqua, первая серьезная попытка модернизации интерфейса пользователя.

Darwin

Нижний слой Mac OS X называется Darwin. Ты наверняка читал и слышал, что система Mac OS X построена на основе UNIX. Строго говоря, это не совсем так. Mac OS X является полноценным диалектом (разновидностью) UNIX, и в этом отношении ничем не уступает Sun Solaris, FreeBSD, HP-UX, AIX, SCO UNIX и т.д. Более того, перед Linux у Mac OS X имеется существенное преимущество. Mac OS X ближе всего к "ветви" FreeBSD. Начиная с Mac OS X 10.3, подсистема X11 стандартно входит в комплект поставки.

Так вот, Darwin - это не что иное, как UNIX, на основе которого строится Mac OS X. В Darwin можно выделить четыре главных компонента. Прежде всего, это ядро - достаточно небольшая программа, берущая на себя все функции взаимодействия с оборудованием и предоставляющая остальным частям системы различные сервисы.

Второй компонент - библиотеки. Они содержат наборы тех или иных служебных модулей, используемых другими программами. Библиотеки могут быть системными (библиотеки ввода-вывода), общего назначения (библиотека X11) или специализированными (библиотека с реализацией численных методов).

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

Наконец, любая UNIX-система обязательно имеет терминальный режим работы, в котором пользователь работает без GUI (CLI - Command Line Interface). Для работы в этом режиме существуют специальные программы, называемые командными интерпретаторами или оболочками (shells). Подобные оболочки обычно имеют набор встроенных команд, а также допускают вызов других программ-команд, часть из которых считаются стандартными и входят в комплект поставки системы.

Содержание  Вперед на стр. 038-048-2