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

Страница: 15/19

NEXTSTEP преподнесла Apple современную систему, которая ей требовалась, но у нее был радикально другой графический интерфейс пользователя, чем у Mac OS. Apple начала изменять NEXTSTEP, чтобы сделать ее более похожей на Mac OS. Результатом стало нечто, что Apple назвала Rhapsody. Rhapsody была новой современной операционной системой для маковских пользователей со знакомым маковским интерфейсом, однако ей не хватало совместимости с существующими приложения под Mac OS. В 1999 г. Apple провозгласила разработку в рамках «открытых кодов» одним из ключевых принципов своей стратегии, и в марте 1999 г. появились исходные тексты первой версии нового ядра (Дарвин). А давно ожидаемый сообществом пользователей 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 позволяет использовать дисковое пространство для повышения производительности приложений, требовательных к объему оперативной памяти. И хотя этот механизм применяется практически во всех ОС, создатели Дарвина за счет достаточно сложных механизмов именования объектов памяти добились существенного увеличения скорости и эффективности его работы.

Реферат опубликован: 19/09/2006