Страница: 16/19
Будучи основанным, на BSD UNIX, Дарвин поддерживает все возможности BSD: в него включена полная поддержка стандарта POSIX, что дает возможность исполнять любые UNIX-приложения, совместимые с этим стандартом; используется UNIX-модель процессов (идентификаторы процессов, сигналы и проч.); поддерживаются потоки (или нити - threads) UNIX, что позволяет назвать Mac OS X не только многозадачной, но и многопотоковой системой, в которой каждое приложение имеет ряд параллельно выполняемых задач. Кроме того, в Дарвине применяется политика безопасности UNIX (идентификаторы пользователя, полномочия, атрибуты и т. п.).
Кроме «классических» достоинств «скрытой Unix на микроядре», разработчики Apple создали ряд расширений функциональности, представляющих отдельный интерес. В первую очередь это относится к подсистеме NKE (Network Kernel Extensions – «сетевые расширения ядра»), позволяющей без необходимости перезагрузки или приостановки работы ОС фактически полностью изменять не только параметры, но и саму организацию сетевой подсистемы, например, динамически добавлять новые сетевые протоколы или модули, реагирующие на события в сетевой подсистеме. При этом NKE сама является загружаемым модулем ядра и органично вписывается в многоуровневую архитектуру ОС.
«Виртуальность» сетевых протоколов, обеспечиваемая NKE, подкрепляется и виртуальной файловой системой (VFS - Virtual File System), свойственной Unix, - Mac OS X может одновременно работать с файловыми системами форматов HFS+ (расширенная иерархическая файловая система, поддерживаемая «классическими» Mac OS 8 и 9), HFS (предшественница HFS+ из «Mac-мира»), UFS (классика в мире Unix), UDF (универсальный формат для CD ROM) и ISO9660 (стандартный формат CD ROM).
В связи с коренной перестройкой ядра и архитектуры Mac OS X ее разработчикам пришлось искать решения, призванные обеспечить одновременно использование всех возможностей новой ОС и поддержку приложений, созданных для предыдущих версий Mac OS. Таким решением стало создание трех типов программного окружения (application environment).
Classic. Mac OS X сама по себе не поддерживает приложения, созданные для предыдущих версий Mac OS. Поэтому для их исполнения запускается специфическое приложение, именуемое Classic и представляющее собой вариант Mac OS 9. Вот на этом виртуальном компьютере и исполняются все приложения старых ОС. Если закрыть приложение Classic, все работавшие в нем приложения тоже будут завершены. Если какое-либо Classic-приложение приводит к сбою, система защиты памяти срабатывает не для этого отдельного приложения, а для всего Classic-окружения. Кроме того, существует целый ряд ограничений для Classic-приложений, например невозможность использовать PDF как глобальное средство отображения информации.
Carbon. Кроме того, существует и компромиссный вариант перехода на Mac OS X. Программное окружение Carbon представляет собой способ перевода приложений для старых версий Mac OS на новую с минимальными затратами. Незначительная модификация приложений, конечно, не приводит к использованию всех возможностей Mac OS X, но позволяет все же избавиться от ограничений и неудобства Classic-окружения.
Cocoa - так называется «полноценное» программное окружение Mac OS X, позволяющее полностью задействовать все технологии новой ОС (и нового оборудования - Cocoa поддерживает многопроцессорность и Velocity Engine). Одной из интересных его особенностей является способ организации приложения в системе, дающий возможность гибкой настройки и расширения функциональных возможностей.
Кроме упомянутых выше, Mac OS X поддерживает и ряд дополнительных окружений, например Java. Сюда же следует отнести и поддержку BSD-приложений.
Подытоживая, можно сказать, что Mac OS X предоставляет превосходные возможности для программ, написанных специально для нее, поддерживает (но не более) программы для предыдущих версий Mac OS и обеспечивает в совокупности с политикой "открытых текстов" достаточно быстрый и безболезненный перевод программных продуктов в новую среду.
Реферат опубликован: 19/09/2006