Аппаратная платформа Макинтош

«Сердце» графической подсистемы Mac OS X - высокоуровневый менеджер окон, содержащий мощную библиотеку векторно-растровой графики Quartz. Именно этот компонент ОС

Аппаратная платформа Макинтош

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
рсии нового ядра (Дарвин). А давно ожидаемый сообществом пользователей Apple релиз Mac OS X вышел 24 марта 2001 года.

Mac OS X (Jaguar)

За кодовым названием Jaguar скрывается по-настоящему революционное изменение в архитектуре операционных систем.

Ядро ОС Jaguar (как и всех ее предшественниц, начиная с NeXTStep) воплощает по сей день нереализованную мечту многих известных проектов - это основанная на отработанном микроядре Mach (проект Университета Карнеги-Миллан) модульно-компонентная конструкция, использующая в качестве «интерфейсных» сервисов наработки не менее известного проекта BSD Unix. За время развития от NeXTStep до Mac OS X создатели ядра ОС не изменили изначально принятой идеологии, и сегодняшняя Jaguar на уровне ядра отличается разве что технологическими нюансами (Mach 3.0 и «интерфейсный» код, заимствованный из ОС FreeBSD версии 4.4). Учитывая опыт многих коммерческих проектов, идеологи Mac OS X приняли довольно нетрадиционное решение, «открыв» исходные коды ядра ОС и подчеркнув его независимость от всей остальной системы даже «именем собственным» - Darwin (Дарвин). Так как исходные коды ядра доступны любому разработчику, то идеи сообщества программистов суммируются, анализируются, и из них выстраивается готовый продукт. Создатель UNIX Кен Томпсон называл такой метод программирования «компьютерным дарвинизмом». Вероятнее всего, именно поэтому ядро Mac OS X получило название Дарвин.

Итак, для разработки ядра новой операционной системы Apple взяла за основу открытую версию операционной системы UNIX - BSD 4.4 и создала новое микроядро (kernel) - Mach 3.0. Первоначально ядро Mach было разработано в Университете Carnegie-Mellon при непосредственном участии Авадиса Тавеняна (занимающего одно время пост вице-президента компании Apple по программному обеспечению).

Использование UNIX-ядра BSD дало много преимуществ для Mac OS X. Прежде всего, Дарвин обеспечивает защиту памяти. Именно этот механизм позволяет Apple говорить о небывалой надежности новой ОС. Еще одним интересным механизмом ядра Дарвин является механизм приоритетной, или вытесняющей, многозадачности (preemptive multitasking), обеспечивающей надежность одновременной работы нескольких приложений. Предыдущие версии Mac OS поддерживали лишь один способ распределения ресурсов процессора между задачами - так называемую кооперативную (совместную) многозадачность (cooperative multitasking), при которой задача, получившая доступ к процессору, занимает его до тех пор, пока поток команд от нее непрерывен. Новый (для Mac OS) способ распределения ресурсов процессора позволяет избежать "притеснения" одних приложений другими. Дарвин по целому ряду критериев, таких как активность приложения, его требования к ресурсам процессора и т.п., определяет приоритет каждой задачи и принудительно распределяет процессорное время в соответствии с этими приоритетами. Это позволяет также избежать простоев процессора.

Mac OS X поддерживает также и многопроцессорность, обеспечивая распределение нагрузки между процессорами оптимальным образом. Упомянем также и систему виртуальной памяти, которая в Mac OS X позволяет использовать дисковое пространство для повышения производительности приложений, требовательных к объему оперативной памяти. И хотя этот механизм применяется практически во всех ОС, создатели Дарвина за счет достаточно сложных механизмов именования объектов памяти добились существенного увеличения скорости и эффективности его работы.

Будучи основанным, на 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 и обеспечивает в совокупности с политикой "открытых текстов" достаточно быстрый и безболезненный перевод программных продуктов в новую среду.

Графическая подсистема и интерфейс

Общесистемные «прослойки» Mac OS X используют ресурсы трех главных низкоуровневых графических подсистем - Quartz, OpenGL и QuickTime. Последние два названия широко известны, а вот Quartz представляет собой относительно новое слово в «интерфейсостроении». «Относительно» потому, что идеология Quartz достаточно сильно перекликается с идеями графической подсистемы NeXT DPS (Display PostScript «дисплейный PostScript»).

«Сердце» графической подсистемы Mac OS X - высокоуровневый менеджер окон, содержащий мощную библиотеку векторно-растровой графики Quartz. Именно этот компонент ОС реализует и «движок» рендеринга единого формата для Mac OS X - PDF, и именно в нем кроется радикальное несходство Mac OS X со своей предшественницей - NeXTStep. Quartz обеспечивает как базовые функции, свойственные большинству аналогичных систем, например буферирование содержимого окон, так и совершенно уникальные, такие, как модель «попиксельного видеомикширования», которая позволяет в реальном времени разделять каждый пиксел физического экрана между несколькими окнами приложений одновременно с помощью различных алгоритмов. В предыдущих версиях Mac OS X критический компонент Quartz - Quartz Compositor, отвечающий за уникальную функциональность подсистемы (в первую очередь, за «попиксельное видеомикширование»), выполнялся на центральном процессоре компьютера и работал с подготовленными областями буферной памяти окон, в которые приложения осуществляли «вывод» посредством вызовов библиотек Quartz. На основе содержания буферов окон Quartz Compositor формировала мгновенный «снимок» текущего состояния экранной области, и именно эта картинка отображалась на экране рабочей станции под управлением Mac OS X. Очевидно, что все процедуры, связанные с обработкой таких объемов информации, да еще и основанные на весьма сложных алгоритмах, крайне ресурсоемки, что и подтверждалось «заторможенностью» Mac OS X прошлых поколений. Найти одновременно красивое и радикальное решение такой проблеме было трудно. Существенно поднять производительность такой высокоуровневой графической подсистемы, как Quartz, можно был

Похожие работы

<< < 3 4 5 6 7 8 >