28 августа 2008 - 17:26
Операционная система 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