Rambler's Top100 Service

РАЗДЕЛЫ ПОРТАЛА
  Главная страница
Бесплатная документация
Форумы
ГОРЯЧАЯ НОВОСТЬ
 

11 Aug (00:01)
Windows Memory Diagnostic
Бесплатная утилита тестирования памяти

Архив...
ЛАБОРАТОРИЯ
  Место где решаются Ваши проблемы

Сейчас в Лаборатории
Компаний: 1444
Экспертов: 615

Вход
для пользователей
для экспертов

Как работает Лаборатория?
НОВОСТИ КОМПАНИЙ
 

26 May (18:12)
Семинар "Создание эффективных веб-сайтов"


29 Apr (00:08)
Интернет-сайт компании: удобное средство для заработка денег или дополнительные накладные расходы?

15 Apr (00:26)
Три источника, три составные части Intel Centrino

27 Mar (00:10)
Опечатка в публикации ITUnion

24 Mar (00:07)
Новинки промышленной компьютерной техники весны 2003 года

Архив...
СТАТЬИ И ОБЗОРЫ
 

Как работает и что дает теневое копирование
Служба VSS систем Windows Server 2003

Хакерский детектив

Языки PCL и PostScript

Конференция WinHEC 2003

Longhorn и Blackcomb

Архив...
Назад НаверхВниз
Советуют профессионалы! Совет: Зарегистрированные пользователи портала www.itunion.ru получают возможность пользоваться следующим пакетом услуг, сервисов и льгот

NEWS.ITUNION.RU НазадНаверхВниз

Какие ядра в операционной системе Mac OS X?


Мы получили от Oleg V. Zyazev такое письмо:

"Здравствуйте. Спасибо за интересные и полезные новости, идущие по рассылке. Однако возник такой вот вопрос по поводу сегодняшних новостей, в частности статьи "Licensing 6.0, Nvidia против Microsoft, XScale в Pocket PC, UnitedLinux, ..." ( news.itunion.ru/index.phtml?act=show&tid=4&fid=10359 ). В статье говорилось следующее: "Принято считать, что поклонники Linux критикуют только продукты Microsoft, однако статья в Linux Journal весьма нелестно характеризует новую ОС компании Apple. Микроядро Mac OS X названо "устаревшим", а у самой ОС найдены "проблемы с производительностью и отсутствие ранее заявленных функциональных возможностей". При всем нашем уважении к "культовой" системе Mac OS X, нужно заметить, что микроядро Mach было разработано уже более десяти лет назад, а NeXTStep/OpenStep (на нем основана Mac OS X) не намного отличается от Mach. Насколько мне известно, Mac OS X основана на ядре "Darwin" ( developer.apple.com/darwin/ ), которое, в свою очередь, было разработано на базе FreeBSD версии 3.X или 4.4. Не могли бы Вы прояснить ситуацию? "

Действительно, в командной строке системы Mac OS X выводится Darwin Kernel Version 1.3, однако ядро Darwin было разработано не на пустом месте, поэтому вобрало в себя опыт разработки предыдущих ядер (можно говорить и о заимствовании готовых фрагментов программного кода). Чтобы разобраться с соотношением Mach, FreeBSD и OpenStep в составе ядра Darwin, придется начать с истории вопроса.

Классическая модель ОС похожа на матрешку. Внутри находится оборудование, затем ядро, потом интерфейс. Лет пять назад заговорили о "микроядре" внутри ядра ОС. Микроядро - это относительно маленькое ядро ОС с ограниченными возможностями. В отличие от традиционного ядра ОС, предназначенного для непосредственной поддержки прикладных программ и пользовательского интерфейса, микроядро служит фундаментом, на котором системные программисты могут построить различные ОС. Итак, микроядро обеспечивает функции API для разработчиков ОС, а ядро - для пользователей и приложений. Не трудно догадаться, что микроядро предоставляет меньше системных вызовов (функций API), чем само ядро. Четко выделить микроядро в составе ядра не смогут и сами разработчики ОС, поэтому понятие "микроядра" сохранилось и активно используется только в системах реального времени (например, в QNX). Кроме того, такие новые технологии непосредственного общения пользователя с оборудованием (как например Plug and Play) подрывают концепцию изолированности (и независимости от оборудования) не только микроядра, но и самого ядра ОС.

Ядро (микроядро) Mach первоначально было создано в университете Карнеги-Меллон (кстати, не на пустом месте, а на основе BSD Unix). В других университетах были разработаны альтернативные варианты (например, микроядро Chorus), которые тоже использовались при построении Unix-систем. На Mach основаны все последние версии Mac OS, а переход от Mac OS 8.x на Mac OS X означает смену ядра Mach 2.5 на Mach 3.0 (в Apple это назвали созданием принципиально новой ОС). Однако ядро Mach используется не только в "маковских" ОС, но и во FreeBSD, откуда в ядро Darwin были заимствовано то, что принято называть "технологиями", "базовыми службами" или "системными сервисами". В некотором смысле, это напоминает подсистемы исполнения в ОС NT (например, среды Win16 или Win32). Таким образом, ядро Darwin основывается не только на Mach 3.0, но и на BSD 4.4 вместе с FreeBSD 3.0.

Это еще не все. Когда Стив Джобс ушел из Apple, созданная им компания Next Computer решила разработать универсальное ядро (микроядро) для широкого спектра ОС, включая системы Microsoft. Идея была слишком безумной, чтобы воплотиться в жизнь, но Next Computer все же удалось создать пару успешных сред разработки операционных систем - NextStep и OpenStep. Эти среды как раз и позволяли разработчикам ОС писать дополнительные программные модули для микроядра, чтобы получить обычное ядро. Не трудно догадаться, что среда OpenStep прекрасно подходила для микроядра Mach. Естественно, что как сама среда разработки, так и созданные в ней программные модули вошли в состав ядра Darwin.

Возникает вопрос: Почему все так сложно и запутанно? На него есть простой ответ: Практически все, о чем мы говорили выше, предоставляется в виде открытых исходных кодов и поэтому может успешно использоваться в любых новых проектах (кстати, обширное "цитирование" в ядре Darwin продуктов Mach, OpenStep и BSD привело к тому, что Apple распространяет исходные коды Darwin). С этим связаны как самый большой недостаток, так и самое большое достоинство систем Unix - заимствование и произвольное улучшение чужих достижений способствует прогрессу ОС, но препятствует стандартизации. Отсюда столь много различных вариантов Unix (выскажем крамольную мысль, о том, что к Unix можно отнести и систему Mac OS X). Заметим, что в мире Linux ядро полностью контролирует Линус Торвальдс, а в семействе NT - компания Microsoft.

Из того, что нам попадалось на русском языке об архитектуре Mac OS X можно рекомендовать третью часть статьи Олега Фомина "X в кубе" в PC Magazin Russian Edition, 3, 2001 г. (где высказано примерно то же самое мнение об источниках формирования ядра Darwin).

Об архитектуре Mac OS X можно также узнать на сайтах:

www.everymac.com

www.maccentral.com

Полная лента новостей NEWS.ITUNION.RU

Вы можете подписаться на ежедневную
бесплатную рассылку IT-новостей:




  Site DESIGN by MIRRON (C) 2000-2001 Rambler's TOP100