|
Операционная система 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 заботится о том, чтобы никакая программа не смогла записать какие-либо данные в адресное пространство другой программы или системы. Поэтому сбои и нарушения в работе прикладной программы не приводят к краху всей системы: достаточно отключить программу, вызвавшую сбой, и продолжить работу.
- Вытесняющая многозадачность. В современных системах множество задач разделяют ресурсы процессора. 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под этой надписью.
|