Структура Mac OS X

28 августа 2008 - 17:26

Mac OS X 10.5 DesktopОперационная система Mac OS X – это достаточно сложный «организм» и однозначно сказать, что она из себя представляет довольно трудно. Наиболее удачным описанием общей концепции считается представление операционной системы в виде некоторой многоуровневой структуры, в которой каждый уровень имеет свое назначение и свой круг решаемых задач.

Mac OS X состоит из нескольких частей, вложенных одна в другую. На самом верху – новый пользовательский интерфейс Aqua. Под ним – слой поддержки прикладных программ: окружения Classic, Carbon, Cocoa, Java. Еще глубже – графика и мультимедиа: Quartz, OpenGL, QuickTime. И, наконец, в самой глубине – главный двигатель системы, ядро Darwin.

Ядро Darwin

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

Центральной частью Darwin является микроядро Mach 3, пришедшее в Mac OS из системы NextStep/OpenStep. Оно отвечает за самые базовые особенности поведения операционных систем более высокого уровня. Преимущество этой микроядерной архитектуры перед архитектурой с монолитным ядром состоит в том, что все базовые функции ядра выполняются в виде небольшой компоненты, которая работает в привилегированном режиме, остальные функции системы оформлены в виде подключаемых модулей и работают в обычном, пользовательском, режиме. Таким образом, значительно повышается надежность, стало довольно легко модифицировать ключевые компоненты ОС и т.д.

Забегая вперед, можно сказать, что в результате, в 2001 году после пяти лет выхода различных ядер (Rhapsody, Darwin) и получилась Mac OS X 10.0 (Cheetah) – на базе микроядра Mach, позаимствованного из NeXT OS и BSD, с системой эмуляции старых Mac OS Classic, рядом новых технологий, направленных на то, чтобы новая ОС от Apple соответство вала требованиям времени. В 2001 году вышли Mac OS X 10.1 (Puma), в 2002 году – Mac OS X 10.2 (Jaguar), в 2003 – Mac OS X 10.3 (Panther), в 2005 – Mac OS X 10.4 (Tiger). Mac OS X 10.4

Итак, на самом нижнем уровне расположено от крытое интегрированное ядро, которое называется Darwin.Компьютерный термин «ядро» обычно означает небольшую, как правило, монолитную часть системы, в обязанности которой входит выполнение минимальных ба зовых функций для поддержки всех основных сервисов операционной си стемы. В Mac OS X понятие ядра существенно расширено. Под ядром в Маc OS X подразумеваются все программные модули, исполняемые в адресном пространстве ядра. Darwin объединяет в себе несколько технологий, основ­ные из которых:

  • микроядро Mach 3.0
  • сервисы операционной системы на базе BSD 4.4-Lite
  • быстрые, основанные на сложившихся стандартах сете вые модули
  • система ввода-вывода (I/O Kit)
  • поддержка различных файло вых систем

Микроядро Mach

Микроядро Mach(разработка Carnegie-Mellon University) является основой всего ядра Darwin, так как выполняет все критически важные функции опе рационной системы. Оно управляет загрузкой процессора, создает расписа ния и отслеживает их выполнение, распределяет память и обеспечивает ее защиту, формирует централизованную инфраструктуру системных сообще ний для других уровней операционной системы.

  • Защита памяти. Mach заботится о том, чтобы никакая программа не смогла записать какие-либо данные в адресное пространство другой программы или системы. Поэтому сбои и нарушения в работе при­кладной программы не приводят к краху всей системы: достаточно отключить программу, вызвавшую сбой, и продолжить работу./li>
  • Вытесняющая многозадачность. В современных системах множество задач разделяют ресурсы процессора. Mach контролирует загрузку процессора, составляет расписания, устанавливает приоритеты задач, чтобы обеспечить максимальную эффективность работы процессора и предоставить всем задачам необходимое процессорное время.
  • Виртуальная память. Каждой задаче в Mac OS X выделяется свое виртуаль ное адресное пространство объемом до 4 Гбайт. Но реальное выпол нение любой задачи возможно только в истинной физической памяти – оперативной памяти компьютера. Mach осуществляет выделение задачам пространства физической памяти и преобразование виртуальных адресов в адреса физической памяти. Обычно только один фрагмент программы или данных, находящихся в виртуальном адресном пространстве задачи, загружен в физическую память. Если требуется другой фрагмент, он загру жается в память с носителя данных, обычно с магнитного диска, вытесняя предыдущий фрагмент. Mach контролирует загрузку и освобождение па мяти, обеспечивая эффективную работу многих задач одновременно.
  • Режим реального времени. Для процессов, требующих быстрой реакции, Mach обеспечивает доступ к ресурсам процессора за минимальное время.

Система BSD

Тесно интегрированная с микроядром Mach, система BSD в Mac OS X являет ся несколько видоизмененной версией операционной системы BSD 4.4-Lite (Berkeley Software Distribution, разработка University of California at Berkeley). Версия BSD ядра Darwin осуществляет в Mac OS X поддержку различных фай ловых систем и сетевых технологий. Кроме того, BSD отвечает:

  • за систему безопасности, идентификацию и права пользователей
  • преобразование вызовов из уровня программ на уровень системы
  • BSD-модель процессов
  • реализацию механизма BSD sockets
  • реализацию так называемых нитей процессов (POSIX threads)
  • Application Program Interface (API) ядра

Система ввода-вывода

Система ввода-вывода (I/O Kit) построена на объектно-ориентированной модели и соответствующих библиотеках. Она поддерживает множество уст ройств различного типа, облегчает написание драйверов, является модуль ной и расширяемой системой. Важнейшие ее черты:

  • истинный режим plug-and-play
  • динамическое управление устройствами (горячее подключение)
  • динамическая загрузка драйверов по мере необходимости, управление энергопотреблением как для портативных, так и для на­стольных компьютеров
  • многопроцессорная обработка

На уровне пользователя программной основой сетевых и коммуникационных средств Mac OS X является технология OpenTransport.OpenTransport Mac OS X поддерживает большинство функций, имевшихся еще в Mac OS 8 и 9, хотя кое-что пришлось изменить. Для работы в сети в Mac OS X имеется:

  • стек протоколов ТСРДР от BSD 4.4
  • поддержка IP и AppleTalk
  • поддержка нескольких IP-адресов при одном сетевом интерфейсе (multihoming)
  • маршрутизация (routing)
  • многоадресная передача одних и тех же данных нескольким адреса там — multicast
  • реализация AppleTalk на базе технологии socket
  • поддержка Mac OS Classic
  • набор модулей для работы с сетью (OpenTransport), переписанный для работы в окружении Carbon

Mac OS X поддерживает следующие типы сетевых сред:

  • Ethernet-10/100Base-T
  • Ethernet-1000Base-T
  • Jumbo Frame
  • Последовательная передача
  • Беспроводная передача

Mac OS X поддерживает следующие стандартные сетевые протоколы:

  • TCP/IP, UDP/IP
  • PPP
  • PAP
  • HTTP
  • FTR
  • DNS
  • SLP
  • DHCP и BOOTP
  • LDAP
  • NTP

Для добавления новых сетевых технологий без необходимости перекомпи ляции ядра предусмотрен механизм сетевых расширений ядра — Network Kernel Extensions. Этот механизм позволяет не только добавлять отдельные се тевые модули, но и полный набор (стек) новых протоколов, которые динами чески загружаются в ядро или выгружаются из ядра по мере необходимости.

Еще одной привлекательной чертой Mac OS X является то, что очень распространенный Web-сервер Apache входит в Mac OS X как часть операционной системы. Поэтому довольно легко можно сделать из компьютера персональный Web-сервер.

Для этого надо создать гипертекстовую структуру и поместить все файлы этой структуры в персональную папку пользователя Sites.Начальная страница в фор мате HTML должна иметь имя index.html.

Для того чтобы активировать сам Web-сервер, необходимо в панели настроек Sharing, закладка File & Web, найти надпись Web Sharing Off ищелкнуть в экранную кнопку Start под этой надписью.

Источник: Themacspin.com