Автор работы: Пользователь скрыл имя, 10 Декабря 2014 в 18:06, реферат
Вот уже несколько лет лидера на рынке операционных систем, компанию Microsoft, постепенно теснят другие производители. ОС Windows, конечно, еще монополист в этом отношении и регулярно выпускает новые продукты, однако компании-конкуренты тоже не дремлют и активно развивают свои системы - например, Apple со своей Mac OS.
Mac OS X 10.4 Tiger: вышла в апреле 2005 года и включила в себя более 200 изменений и дополнений. Главными новинками этой версии операционной системы Mac OS X стали уникальная функция быстрого поиска информации Spotlight и интерфейс для виджетов Dashboard, приложение Automator, предназначенное для автоматизации ряда постоянно повторяющихся действий, что позволило выполнять рутинную работу с помощью одного нажатия.
Mac OS X 10.5 Leopard: появилась на рынке 26 октября 2007 года, она включает в себя более 300 улучшений и дополнений. Изменения в первую очередь коснулись ядра операционной системы, в него теперь интегрирован фреймворк динамической трассировки DTrace, а также имеется среда Cocoa Bridges для разработки приложений на Ruby и Python языках программирования. В данный момент Mac OS X 10.5 Leopard признана полноценной UNIX системой. Немаловажным событием стало появление в данной версии программы Boot Camp, с помощью которой на компьютеры Macintosh теперь можно устанавливать ОС Windows, в качестве второй рабочей операционной системы. В новой версии Mac OS X был полностью обновлен Finder и другие полезные приложения, добавлены такие функции как Stacks, Quick Look, Spaces и программа Time Machine для создания резервных копий системы и данных.
Mac OS X 10.6 Snow Leopard: была представлена в июне 2008 года и включает в себя ряд кардинальных изменений. Теперь она работает только на процессорах Intel, использует в работе 64-разрядные технологии, одинаково работает с 64-разрядными и 32-разрядными приложениями, занимает почти в два раза меньше места на диске, быстрей устанавливается, грузиться и работает. Добавлено масштабирование интерфейса. Увеличена скорость резервного копирования, для передачи данных с целью предотвращения сбоев соединения в iChat теперь может использоваться сервер ретрансляции AIM.
Для обеспечения гладкого перехода с Mac OS 9 на Mac OS X был создан Carbon. Приложение, написанное с помощью Carbon, может запускаться на любой из этих ОС. С другой стороны, Mac OS X наследует многое из OpenSTEP, которая не является обратно-совместимой с другими версиями Mac OS. В данный момент Apple рекомендует API, именуемый Cocoa, и там наследие OpenSTEP весьма заметно — имена многих классов начинаются с «NS» (NSObject, NSArray), что является аббревиатурой от NeXTSTEP.
Также Mac OS X поддерживает Java. Это означает, что приложения, написанные на Java и использующие Swing, выглядят так же, как и приложения, использующие Cocoa. Традиционно приложения под Cocoa разрабатываются на Objective C, альтернативе Java. Однако 25 июля 2007 года Apple заявила, что дальнейшие расширения в Cocoa не будут портированы на Java. В составе Mac OS X, начиная с версии 10.5 Leopard, поставляется интерпретатор Ruby с поддержкой Cocoa.
В отличие от предшественниц, Mac OS X является полноценной, сертифицированной UNIX’03 операционной системой. Это означает, что большинство программ, написанных для BSD, Linux и других UNIX-подобных систем, скомпилируются и будут работать на Mac OS X почти или же вовсе без дополнительных изменений в коде. Для удобной установки таких программ разработаны менеджеры пакетов, такие как Fink или MacPorts (ранее — DarwinPorts). Они подобны apt в Debian или портам во FreeBSD.
Начиная с версии 10.3, Mac OS X по умолчанию также включает в себя X11.app — адаптированную версию X-сервера. Это позволяет запускать на Mac OS X приложения, разработанные для X11 — с использованием gtk, Qt для X11 (Qt4 поддерживает Mac OS X как в режиме X11, так и в обычном режиме Aqua) и прочих. Для вывода на экран X11.app использует Quartz. Однако X11.app имеет ряд проблем, таких как отсутствие Aqua-стиля в оформлении приложений и неполную поддержку Unicode.
Более ранние версии ОС могут запускать X-сервер через XDarwin (англ.).
Mac OS X основана на ядре XNU, созданном на основе микроядра Mach 3.0.
Ранние версии Mac OS X поддерживали все компьютеры Macintosh (лаптопы, десктопы или серверы) на процессорах PowerPC G3, G4 и G5. Более поздние версии перестают поддерживать старое оборудование: например, версия 10.3 Panther не поддерживает старые G3, 10.4 Tiger не поддерживает системы без портов FireWire, бета-версия 10.5 Leopard, представленная на WWDC, не поддерживала G3 вообще. Однако существуют утилиты, такие как XPostFacto, и патчи к установочному диску, сделанные сторонними разработчиками, для установки новых версий Mac OS X на оборудовании, официально не поддерживаемым Apple, включая некоторые до-G3 системы. Исключая некоторые возможности, требуемые оборудованием (такие, как графическое ускорение, запись DVD), операционная система предлагает одинаковую функциональность на всём поддерживаемом оборудовании.
Версия Mac OS X для PowerPC остаётся совместимой со старыми Mac OS приложениями через эмуляцию так называемой Classic, которая позволяет пользователям запускать Mac OS 9 как процесс в Mac OS X, поэтому многие старые приложения запускаются так, как будто под старой операционной системой. Classic не поддерживает компьютеры на процессорах Intel.
В апреле 2002 года eWeek сообщил слух о том, что у Apple есть версия Mac OS X с кодовым названием Marklar, которая запускается на процессорах Intel x86. Идея Marklar была в переходе Mac OS X на альтернативную платформу, которая позволит Apple преодолеть проблемы развития платформы PowerPC. Слухи оставались не подтверждёнными до мая 2005 года, когда в файлообменных сетях появилась версия Mac OS X для процессоров Intel.
6 июня 2005 года Стив Джобс подтвердил слухи и сообщил на WWDC, что в течение двух лет Apple перейдёт с PowerPC на процессоры Intel. До этого Apple меняла платформу с Motorola 68K на IBM/Motorola PowerPC — Apple включила эмулятор Motorola 68K в новую ОС, которая позволяла запускать большинство 68K-приложений. Apple поддерживала эмулятор в течение 11 лет; однако, при переходе на Intel, он был удалён. В новую OS был включён эмулятор PowerPC, который называется Rosetta. Также, новая версия XCode и соответствующие консольные утилиты позволяют разрабатывать universal binaries (fat binaries) — исполняемые файлы, которые могут содержать в себе поддержку нескольких платформ (ppc, ppc64, i386, …).
Сейчас большинство приложений, которые доступны только для PowerPC, поддерживается при помощи эмулятора Rosetta. Однако Apple просит разработчиков создавать универсальные приложения для обеих платформ. Универсальные приложения запускаются быстрее на компьютерах с процессором Intel, чем приложения для PowerPC, запускаемые с помощью эмулятора Rosetta. Некоторое программное обеспечение для PowerPC, такое, как расширения ядра и плагины системных настроек (System Preferences), не поддерживаются на компьютерах с процессорами Intel.
В то время, когда MacIntel могут запускать приложения для PowerPC, x86 и универсальные, PowerPC Маки могут запускать только универсальные и PowerPC приложения. Поддержка платформы PowerPC осталась в Mac OS X 10.5. Джобс также подтвердил слух, что новая версия Mac OS X запускалась на Intel процессорах большую часть своего существования, так как кросс-платформеность уже существовала в Mac OS X — OpenSTEP был портирован на множество платформ, включая x86, и Darwin включил поддержку для обоих (PowerPC и x86).
Mac OS X была портирована на iPhone и iPod touch. Несмотря на серьезные изменения — например, закрытость платформы и отсутствие рабочего стола (его заменяет SpringBoard) — в порте сохранились такие особенности, как Darwin, ядро XNU. В некоторых сторонних программах сохранились эффекты из настольной версии — например, в программе Converter.
OSx86 (сочетание аббревиатуры «OS X» и названия архитектуры микропроцессоров «x86») — хакерский проект, связанный с реализацией возможности запуска и использования операционной системы Apple Mac OS X на персональных компьютерах (PC) c микропроцессорами архитектуры x86. Проект был начат вскоре после того, как на Worldwide Developers Conference в июне 2005 года Apple анонсировала переход от аппаратной платформы PowerPC на микропроцессоры Intel.
Компьютер с процессором архитектуры x86, на котором выполняется Mac OS X, называют словом хакинтош (от англ. hack и Macintosh).
Mac OS X 10.4.4
10 января 2006 года компания Apple выпустила первую версию операционной системы Mac OS X 10.4.4 для первого поколения компьютеров Apple на базе процессоров Intel — iMac и MacBook Pro. В ПЗУ этих машин вместо обычного BIOS устанавливались прошивки Extensible Firmware Interface (EFI). 14 февраля 2006 года в сети Интернет появился первый «хак» Mac OS X v10.4.4. Спустя несколько часов, Apple выпустила обновление 10.4.5, которое также было «пропатчено» тем же автором уже через пару недель. 3 апреля 2006 года вышло обновление 10.4.6 и вновь спустя две недели появились патчи этого обновления — пользователи компьютеров x86 могли обновиться до последней версии системы, хотя само ядро не обновлялось до 10.4.6. В июне того же года хакеры выпустили пропатченное обновление 10.4.7.
Вплоть до выпуска обновления 10.4.8, хакеры использовали ядро 10.4.4, в то время как остальная часть системы обновлялась до 10.4.8. Однако, обновлённые части системы полагались на обновлённое ядро, поэтому с выходом 10.4.8 у пользователей появился ряд проблем. Apple также сделала упор на использование инструкций процессора SSE3, что создало ещё больше сложностей для пользователей, чьи процессоры поддерживали только SSE2 (например, Pentium 4).
Патч ядра XNU
Два программиста, в интернете известные как Mifki и Semthex, выпустили свои версии ядра, взяв за основу исходный код проекта XNU, и написав для него патчи, позволяющие запускать Mac OS X на не-Apple машинах. Однако ядра Mifki и Semthex были неодинаковы — в то время, как ядро Mifki имело минимальное количество патчей, что позволяло его запускать лишь на компьютерах, конфигурация которых была близка к конфигурации оригинальных компьютеров Apple, то ядро Semthex было подвергнуто большим модификациям, что позволяло использовать его с большим количеством конфигураций. Оба ядра позволяли запускать большинство обновлённых фреймворков и расширений ядра, что позволяло сконфигурировать обычный PC, так чтобы для системы он выглядел почти как обычный Macintosh.
Mifki обновил своё ядро лишь однажды, в то время как Semthex стал выпускать регулярные обновления, добавив в последующих версиях поддержку AMD, VMware и SSE2. Semthex также опубликовал исходный код патченного ядра на своей веб-странице. 24 декабря 2006 года, в качестве подарка сообществу, он также опубликовал последние патчи к ядру SSE3 как diff-файл различий по отношению к оригинальной ветке исходников XNU. Стоит также обратить особое внимание на его работу совместно с Rufus по эмуляции инструкций SSE3 — это была первая опубликованная полная эмуляция SSE3, существующие до этого эмуляции были существенно неполны, эмулируя лишь 3 инструкции SSE3. Это достижение позволило полноценно выполнять на процессорах SSE2 приложения, требующие SSE3, такие как iTunes 7 и большинство 3D-программ.
Mac OS X 10.5
Уже после появления билда 9A466 новой версии Mac OS X v10.5 (кодовое имя Leopard), сообщество располагало версией этого релиза для не-Apple машин. Хакер BrazilMac одним из первых проработал процесс патчинга, позволяющий пользователям стороннего оборудования устанавливать легально полученную «розничную» версию Apple Mac OS X. После этого появилось сразу несколько дистрибутивов Mac OSx86, использующих этот патч; четыре наиболее популярных из них — это JaS, Kalyway, iATKOS и iDeneb, хотя довольно скоро эти дистрибутивы перешли на набирающий популярность метод Boot-132 (см. ниже). Дистрибутивы стали регулярно публиковаться в Интернете и регулярно обновляться, не столько для сохранения совместимости с релизами Apple, сколько для включения всё новых патчей для всё более расширяющегося круга аппаратного обеспечения.
Эмуляция EFI
Extensible Firmware Interface (EFI) — это спецификация, определяющая программный интерфейс между операционной системой и аппаратным обеспечением. Давно используется в серверных материнских платах многих производителей, но в ноутбуках и десктопных материнских платах есть только в продукции Apple.
В начале ноября 2007 года, группа хакеров (возглавляемая хакером Netkas), используя модифицированную ветку исходников boot-132 от David Elliot, разработала метод эмуляции EFI, используя особым образом модифицированный загрузчик Darwin. В практическом смысле это означает, что стало возможно представить обычный ПК для Mac OS X таким образом, что Mac OS считает машину обычным Macintosh и ядро системы надёжно и прозрачно работает с "неродным" аппаратным обеспечением без применения модификаций. На основе этого хака появилось сразу несколько рабочих решений. Подробное описание этого достижения, вместе с пошаговым руководством появилось на сайте DigitMemo.com.
Эмуляция EFI была крайне востребованным вкладом в проект. До этого, пользователи могли использовать Mac OS X на обычных ПК, лишь используя пропатченное ядро, обходящее обращения к EFI. С использованием эмуляции EFI, хакинтош смог загружать «ванильные» (немодифицированные) ядра операционной системы, и использовать оригинальные расширения. Это сделало систему совместимой с будущими обновлениями и, кроме того, значительно повысило стабильность системы.
В середине 2008 года появился коммерческий продукт EFi-X (модуль, подключаемый к USB), предоставляющий возможность загружать и устанавливать Leopard без каких-либо патчей.
Boot-132
В середине 2008 года также появился новый метод установки, известный как BOOT-132. Этот метод позволил использовать для установки обычную, легально приобретённую версию Leopard, не требующую взломанных инсталляций, таких как JaS или Kalyway. Загрузчик Boot-132 подготавливает для установки среду, в которой Leopard может загружаться и работать. Необходимые патчи (kext-файлы) подаются для него в виде .img-файла или просто складываются в папку. Преимущество этого метода в том, что можно загружаться и устанавливаться прямо с оригинального DVD и даже обновлять систему прямо с сайта Apple. Переустановка системы также не требует повторного применения необходимых патчей.
Загрузчик работает как ядро Linux: он может использовать mboot-совместимый загрузчик (обычно используется патченый syslinux), который подаёт boot-dfe .img-файл (пользователям Linux он известен как RAM-диск или initrd), и boot-dfe использует его для получения kext/mkext-файлов.
Однако, это работает только на совместимых машинах; но в последнее время, с выходом ядра Voodoo [9], пользователи AMD также получили возможность устанавливаться с оригинального DVD. Это требует размещения патченного ядра на диске с boot-132.
10.6 Snow Leopard
С появлением первых билдов MacOS X 10.6, предназначенных для разработчиков ПО, члены сообщества OSx86 получили возможность загружать новую версию OS X, используя загрузчик, предоставленный хакером Netkas. OSx86 сейчас несколько ограничен в использовании Snow Leopard, в основном из-за того что отсутствуют 64-разрядные драйвера для ряда популярных видеокарт, но в остальном, на совместимом оборудовании, 64-разрядный вариант MacOS X вполне работоспособен.
Live DVD
В марте 2007 года сообщество проекта OSx86 достигло успехов в создании Live DVD, позволяющего загрузить систему и работать в ней, не устанавливая её на компьютер. В тот момент удалось таким образом запустить Mac OS X 10.4.8.
2 января 2009 года LiveDVD-команда форума InsanelyMac опубликовала новый метод, позволяющий создавать LiveDVD для Mac OS X v10.5.x. Этот метод более надёжен, поскольку он использует возможности Netboot и Imageboot самой системы, и работает так, как будто система запущена с сетевого диска. Кроме того, этот метод проще в воплощении, требуется лишь добавить один сценарий к существующей инсталляции. Интересно, что этот метод был успешно опробован на обычной Apple Mac машине.
Соглашение с конечным пользователем (EULA) на Mac OS X запрещает установку системы на компьютеры сторонних производителей (англ. non Apple-labeled hardware).
Компания Psystar в течение нескольких месяцев выпускала компьютеры под маркой «Open Computer» — клоны Mac. 3 июля 2008 года Apple подала иск против Psystar Corporation за нарушение Mac OS X EULA, помимо прочих нарушений.