Главная arrow Статьи arrow Обзоры, приемы, методы... arrow Знакомство с миром Apple Macintosh Часть 1

Знакомство с миром Apple Macintosh Часть 1 Версия для печати Отправить на E-mail

Часть 1 "Mac OS X"

Операционная система Apple Computer, Inc
Ядром Mac OS X является Darwin (предшественницей которой является NeXTStep и OpenStep компании Стива Джобса - NeXT )
В свою очередь Darwin основан на технологиях Mach, BSD, I/O Kit.
Разберем по отдельности:

Mach (Читается как МАК) - это микро ядро, предшественницей которого является система RID (Которая была написана для 16 битного мини компьютера компании DataGeneral под названием Elipce в 1975 году) университет Карнеги-Мелона основной разработчик Mach - Авадис Теванян (Avadis Tevanian) бывший (к сожалению ушел недавно) руководитель программного направления Apple и основной идеолог Mac OS X. Не буду описывать методику обмена сообщений, планирования, C-нитей и тп техническую шелуху, просто сведу основные задачи этой технологии. Mach является основой всего ядра Darwin, потому что выполняет критически важные функции операционной системы. Оно управляет загрузкой процессора, создает расписания и отслеживает их выполнение, распределяет память и обеспечивает ее защиту, формирует централизованную инфраструктуру системных сообщений для других уровней операционной системы. Сводные задачи:

Защита памяти. Mach заботится о том, чтобы никакая программа не смогла записать какие-либо данные в адресное пространство другой программы или системы. Поэтому сбои и нарушения в работе прикладной программы не приводят к краху всей системы: достаточно отключить программу, вызвавшую сбой, и продолжить работу.

Вытесняющая многозадачность. В современных системах множество задач разделяют ресурсы процессора. Mach контролирует загрузку процессора, составляет расписания, устанавливает приоритеты задач, чтобы обеспечить максимальную эффективность работы процессора и предоставить всем задачам необходимое процессорное время.

Многопроцессорные системы. Возможность Mach известная как "многопоточность" когда потоки, порождаемые одним процессом, способны выполняться на различных процессорах системы, дает возможность использовать два процессора в практически любом приложении.

Виртуальная память. Каждой задаче в Mac OS X выделяется свое виртуальное адресное пространство объемом до 4 Гбайт. Однако реальное выполнение любой задачи возможно только в истинной физической памяти — оперативной памяти компьютера. Mach осуществляет выделение задачам пространства физической памяти и преобразование виртуальных адресов в адреса физической памяти. Обычно только один фрагмент программы или данных, находящихся в виртуальном адресном пространстве задачи, загружен в физическую память. Если требуется другой фрагмент, он загружается в память с носителя данных, обычно с магнитного диска, вытесняя предыдущий фрагмент. Mach контролирует загрузку и освобождение памяти, обеспечивая эффективную работу многих задач одновременно.

RTOS - RealTime OS Режим реального времени. Для процессов, требующих быстрой реакции, Mach обеспечивает доступ к ресурсам процессора за минимальное время.

---

BSD - Berkeley Software Distribution разработка Университета Беркли Калифорния. Именно благодаря этому "слою" Darwin относится к UNIX системам. Версия BSD ядра Darwin отвечает в Mac OS X:
за систему безопасности, идентификацию и права пользователей.
преобразование вызовов из уровня программ на уровень системы.
BSD-модель процессов.
реализацию механизма BSD sockets.
реализацию так называемых нитей процессов (POSIX threads).
Application Program Interface (API) ядра.
---
I/O Kit Система ввода-вывода
Система ввода-вывода (I/O Kit) построена на объектно-ориентированной модели и соответствующих библиотеках. Она поддерживает множество устройств различного типа, облегчает написание драйверов, является модульной и расширяемой системой. Важнейшие ее черты:
истинный режим plug-and-play.
динамическое управление устройствами (горячее подключение).
система ввода-вывода.
plug-and-play.
горячее подключение устройств.
динамическая загрузка драйверов.
управление энергопотреблением.
многопроцессорная обработка данных .
---
Файловая система компьютеров Apple
HFS — Mac OS Standartd (Использовалась вплоть до Mac OS 8.1) kHFSSigWord = 0x4244
HFS+ — Mac OS Extended (Используется начиная с Mac OS 8 и выше) kHFSPlusSigWord = 0x482B
Особенности :
"Много форковая" структура хранения (Ветвь ресурсов и ветвь данных)
Использование символа : (двоеточие) в качестве разделителя
Поддержка даты создания
Поддержка zero-filling
Поддержка Алиасов (Aliases)
Коды типа и создателя (type & creator)
Мета данные файлов

Традиционная файловая система маков - HFS+ (Hierarchical File System) Иерархическая файловая система, не похожа на другие файловые системы, в ней файл представляет из себя две ветви - ветвь ресурсов (resource fork) и ветвь данных (data fork). Ветвь ресурсов как можно догадаться, используется для хранения ресурсов — окон, меню, иконок, шрифтов, звуков, всевозможных таблиц и тп. Ветвь данных хранит тоже самое что и другие файловые системы - данные. Именно по этой причине при передача файла с HFS+ на другую фс, создается дополнительный файл ._имя файла - этот файл будет содержать ветвь ресурсов, метаданные и тп. Именно по этой причине нельзя установить Photoshop, Office 2004 и другие программы не относящиеся к поколению Cocoa на диск отличный от HFS+.
Традиционно на маке вплоть до Mac OS X для определения типа файла и с помощью чего его надо открыть используются коды типа и создателя, это 4 буквенный код - тип файла (JPEG, PNGf, XLS8 и тп) и код его создателя (для Excel это XCEL для Word это MSWD для Photoshop это 8BIM и тд - данные коды не видны, их можно просмотреть с помощью утилиты GetFileInfo входящей пакет Xcode. Поскольку данная система обозначений используется только на компьютерах Mac возникали проблемы (в класических системах Mac OS 9 и ниже), в Windows и других системах использовались расширения имен известные всем как файл.jpg и тд, поэтому начиная с Mac OS X используется и тот и другой метод, сначала Finder проверяет код типа и создателя, если их нет то используется расширение файла. Выше сказанное можно проверить - создайте файл в Photoshop или любой другой Carbon-программе, сохраните его в формате к примеру JPG, у вас наверняка установлено что по умолчанию файлы в формате jpg открывались в Preview, но замете что файл который вы создали в Photoshop открывается с помощью Photoshop - это прямое действие кодов типа и создателя, вы так же можете проверить это удалив расширение в имени файла - если у него есть код типа и создателя то это ничего не изменит - файл по прежнему будет открываться в нужной программе.
В файловой системе HFS+ истинный путь к файлы выглядит следующим образом (Название раздела)Macintosh HD:Users:Dmitry:Documents:text.doc, он так и выглядел в эпоху до Mac OS X, в Mac OS X же в большинстве случаев используется стандартное UNIX обозначения пути /Users/Dmitry/Documents/text.doc, хотя некоторые программы (iTunes, Office, StuffIt, Photoshop и тд) все еще используют первый тип представления пути.

Продолжение следует...

Автор: AppleDS

Источник: Apple Life

Обсудить на форуме


spacer.png, 0 kB

spacer.png, 0 kB