по предмету «Системное программирование и операционные системы» на тему: «Операционная система Rhapsody»

Министерство науки и образования Украины

Харьковский национальный экономический университет









Кафедра информационных систем











Реферат

по предмету «Системное программирование и операционные системы»

на тему: «Операционная система Rhapsody»









Выполнил:

студент 2к. 401-2 гр.

Московка А. И.



Проверил:

к.т.н., доцент кафедры ИС

Голубничий Д. Ю.













Харьков, 2009


Rhapsody

В августе 1996 года Apple остановила работу над проектом Copland. Несмотря на желание многих руководящих лиц компании взять все возможное из Copland и дать инженерам Apple еще один шанс, необходимость в быстром ответе на техническое превосходство Windows NT над Mac OS означала, что для разработки in-house просто нет времени. И начался поиск операционной системы, которая могла бы быть использована в качестве основания для наследницы System 7. 

Было рассмотрено несколько кандидатов, включая Sun Solaris, BeOS и саму Windows NT. Но так как Apple считает необходимым контролировать дальнейшее развитие своей ОС, простое лицензирование Solaris или Windows NT не решало проблемы.  

С технической точки зрения приобретение компании Be, управляемой бывшим вице-президентом Apple Жаном-Луи Гассе (Jean-Louis Gassee), являлось наиболее простым решением - BeOS уже работала на Power Mac и заслужила прекрасные отзывы о своей скорости и стабильности. Однако BeOS была все еще новой операционной системой с ограниченным числом приложений, Apple же хотела иметь систему, отвечающую нуждам разработчиков, а не только приносящую устойчивость, столь желанную пользователями "Мака". 

Наконец, 20 декабря 1996 года Apple объявила о приобретении компании NeXT. 

Немного истории. 

В 1985 году Стив Джобс, один из основателей Apple, был вынужден покинуть компанию из-за разногласий с тогдашним CEO Джоном Скалли (John Sculley). 

Уйдя из Apple, Джобс основал компанию NeXT Computer. Главной задачей компании была разработка компьютера, в котором Джобс намеревался воплотить идеи, почерпнутые им во время работы в исследовательском центре компании Xerox. NeXT взяла лучшее из существовавшего в то время: операционную систему Unix, простой объектно-ориентированный язык Objective-C (С++ еще не было) и новую дисплейную систему, основанную на Adobe PostScript. 

Objective-C был одним из первых объектно-ориентированных языков, реализованных на базе С. С++, добавивший к стандартному С множество конструкций и метафор, является наследником Simula-67; Objective-C добавляет к стандартному С совсем немного синтаксиса и является наследником прекрасного и изящного языка SmallTalk... 

NeXT выпускала компьютеры собственной разработки в течение пяти лет. Однако дела компании шли ни шатко ни валко, и в феврале 1993 года производство hardware было прекращено. 

Через четыре месяца вышел первый релиз NextStep для процессоров Intel, затем ОС была портирована на Hewlet-Packard PA-Risc и рабочие станции Sun SPARC. С 1995 года NeXT сосредоточилась на работе над OpenStep, средой разработки, портированной на Windows NT/ 95, и WebObjects, средой разработки для Web-серверов. 

Итак, операционная система следующего поколения Rhapsody основана на технологиях NeXT и Apple и будет выпущена как для PowerPC, так и для Intel. Основным отличием версии для х86 от версии для PowerPC является отсутствие в первой "синего ящика" (Blue Box) - среды для исполнения программ, написанных для Mac OS. Blue Box является портированной версией Mac OS 8. 



Rhapsody состоит из нескольких уровней.

Уровень 1. 	В основе любой современной ОС лежит ядро. В основании Rhapsody лежит ядро Mach, разработанное в Университете Карнеги Меллона (Carnegie Mellon University, CMU). OpenStep использовала Mach версии 2.5. В Rhapsody к этой версии ядра были добавлены некоторые функции микроядра Mach 3.0 (версии Mach 2.х не являются "честным" микроядром, так как в отличие от микроядра, представляющего собой платформно-зависимое ПО, Mach до версии 3.0 рассматривалось как вариант ядра Unix и могло служить платформой для любой аппаратной базы). Apple добавила в ядро загружаемые драйверы устройств, высокопроизводительные сообщения, модифицированную подсистему ввода/вывода и др. Mach - это простое, коммуникационно-ориентированное ядро, поддерживающее распределенные и параллельные вычисления и обеспечивающее совместимость с BSD 4.4. 

Компоненты Mach: 

- небольшое, расширяемое системное ядро, обеспечивающее виртуальную память и межпроцессорные коммуникации; ядро экспортирует пользователю несколько абстракций через совместный интерфейс; 

- среда поддержки операционной системы, обеспечивающая доступ к распределенным файлам, прозрачные сетевые межпроцессорные коммуникации, системы удаленного запуска и эмуляцию BSD 4.4. 

Многие традиционные функции ОС выполняются пользовательскими программами и серверами вне ядра. 

Так как дизайн Mach концептуально похож на дизайн BSD 4.4, оно поддерживает совместимость с BSD 4.4. Большинство программ BSD 4.4 после перекомпиляции работает под Mach. Mach предоставляет следующие функции, отсутствующие в BSD 4.4: 

- множественные задачи, каждая с большим пространством виртуальной памяти; 

- множественные потоки исполнения в каждой задаче; 

- гибкое распределение памяти между задачами; 

- эффективные, основанные на сообщениях межпроцессорные коммуникации; 

- прозрачная сетевая расширяемость. 

Rhapsody является объектно-ориентированной операционной системой, так как обеспечивает большинство услуг через программы пользовательского уровня, доступные по системе передачи сообщений (message passing). Объектно-ориентированная архитектура позволяет пользователю собирать ОС исходя из своих потребностей. Файловую и сетевую систему обеспечивает BSD Unix. Пользователи, предпочитающие работать без графического интерфейса, могут использовать командную строку Unix. 

Уровень 2.		Для представления графики в Rhapsody используется Display PostScript, который имеет два больших достоинства: во-первых, один и тот же код применяется как для изображения на экране, так и для печати; во-вторых, большое число программистов знают эту технологию. В модель Display PostScript были добавлены такие технологии Apple, как QuickDraw GX и ColorSync. 



Уровень 3. 	"Желтый ящик" (Yellow Box) основан на технологии OpenStep и представляет собой программный интерфейс приложений (API) и среду для объектно-ориентированной разработки. Yellow Box будет выпущен как часть Rhapsody, а также как среда разработки для Windows NT/95. С его помощью можно будет создавать приложения работающие в Rhapsody, Windows NT, Windows 95 и Mac OS. Такая кросс-платформность достигается путем распространения вместе с программой динамических библиотек Yellow Box, занимающих при инсталляции всего восемь мегабайт на диске. Для перенесения приложения на разные платформы его достаточно перекомпилировать. По многочисленным отзывам программистов, создание приложений, например, для Windows NT в среде Yellow Box во многих случаях отнимает на порядок меньше времени, чем в среде Microsoft Visual C++. 



Для работы с мультимедийными приложениями в Rhapsody портирована технология Quick Time Media Layer (QTML), состоящая из трех частей:

- Quick Time - промышленный стандарт для хранения, редактирования и проигрывания видео, звука, графики и текста, принятый за основу MPEG-4; 

- Quick Time VR - технология создания и просмотра виртуальной реальности; 

- Quick Draw 3D - позволяет просчитывать в реальном времени трехмерную графику. 

Джон Кармак (John Carmack) из id Software лично представил Стиву Джобсу OpenGL и убедил включить эту технологию в Rhapsody. 

Для распределенных вычислений применяется технология Distributed Objects, позволяющая объектам в разных потоках и задачах взаимодействовать - на одной машине или через сеть - друг с другом. Также Yellow Box поддерживает CORBA. 

Apple рассматривает Rhapsody как мощный инструмент для работы с Интернетом. Среда разработки предоставляет API для почты, сообщений, функций безопасности. Yellow Box содержит WebObjects, приложение для создания динамических страниц и серверов. 

WebObjects - это объектно-ориентированная среда для разработки Web-приложений. В ее состав входит несколько программных инструментов (WebObjects Builder, Project Builder и ряд других), богатый набор предопределенных компонентов и процедур, наиболее типичных для Web-приложений. WebObject Builder позволяет визуально разрабатывать прообразы HTML-страниц, включающие как стандартные HTML-элементы, так и динамические объекты WebObjects, кроме того, позволяет связывать эти динамические элементы с переменными в исходном тексте Web-приложения. WebObjects позволяет писать Web-приложения в любом из трех языков: Java, Objective-C и WebScript, а также смешивать любые из этих языков в любой пропорции для повышения производительности итогового приложения. 

WebObjects позволяют в течение нескольких минут, без модификации вручную исходных текстов программ создавать вполне функциональные небольшие программы. Объектно-ориентированная среда, компоненты повторного использования позволяют создавать Web-приложения неограниченной сложности. 

Enterprise Objects - технология для предоставления приложениям доступа к базам данных. Имеются адаптеры для Oracle, Sybase и Informix. С помощью WebObjects информация из базы данных может поступать на Web-сервер. 

Локализация и интернационализация приложений Yellow Box проста, так как элементы пользовательского интерфейса содержатся отдельно от исполняемых, то есть можно вместе с основным кодом поставлять несколько пакетов локализации. Имеется поддержка Unicode. 

Для программирования приложений Yellow Box применяются языки C, C++, Objective-C и Java. При программировании на Java можно будет порождать классы от объектов Yellow Box, то есть Java, как и Objective-C, является родным языком для Rhapsody, которая поддерживает как основные пакеты Java: AWT, JFC, AFC и IFC, так и собственные API. 

Уровень 4.		Графический интерфейс пользователя Rhapsody похож на интерфейс Mac OS 8, таким образом, большие возможности этой операционной системы будут сочетаться с традиционной простотой и удобством интерфейса Macintosh. 

Apple внесла изменения в свою стратегию развития операционных систем: Rhapsody, которая теперь называется Rhapsody, будет выпущена для PowerPC и x86 только в версии 1.0, и дальнейшего развития этой ОС не планируется. Ранее предполагалось, что Apple будет выпускать две системы: Rhapsody для серверов и мощных рабочих станций и классическую Mac OS для настольных компьютеров, но теперь планируется объединить их в одну - Mac OS X. 

Mac OS X отличается от Rhapsody наличием набора API под названием Carbon. 

В сегодняшней Mac OS имеется более 8 тыс. API, большАя часть которых отвечает за совместимость с предыдущими версиями ПО, и эта часть системных вызовов абсолютно несовместима с функциями, которыми должна обладать современная ОС. Для того чтобы обеспечить проигрывание существующих программ для Mac OS с использованием всех преимуществ новой системы, а не только в эмуляции Blue Box, было решено избавиться от устаревших API, и новый набор интерфейсов получил название Carbon. Теперь, после двух-трехмесячной доводки, программы для классической Mac OS будут выполняться, используя вытесняющую многозадачность, защищенную память и устойчивость новой системы. 

Пользователю, запускающему приложение, будет неважно, где оно выполняется: в Blue Box, Yellow Box или Carbon. Впоследствии планируется объединить Yellow Box и Carbon в единый модуль. 

В логотип фирмы Apple Computers входят шесть цветов, однако в предстоящие недели мысли разработчиков ПО для компьютеров Macintosh будут занимать только два из них: желтый и голубой. Дело в том, что компания должна предоставить ряду производителей ПО первую бета-версию своей операционной системы Rhapsody, предназначенную пока только для разработчиков.



	“Желтая” подсистема Yellow Box в составе Rhapsody базируется на интерфейсах прикладного программирования операционной системы OpenStep фирмы NeXT Computer. Она предназначена для выполнения приложений, написанных специально для Yellow Box и использующих возможности базовой части ОС Rhapsody. “Голубая” подсистема, Blue Box, позволяет Rhapsody исполнять практически все Mac-приложения, не обращающиеся напрямую к аппаратной части. Она не является простым эмулятором, поскольку включает в себя весь исходный код операционной системы Mac OS и образ ПЗУ компьютера Macintosh в ОС Rhapsody.

Наряду с компьютерами на базе PowerPC Rhapsody будет действовать на платформах, использующих процессоры семейства X86 корпорации Intel и других производителей. Обе версии Rhapsody имеют сходный пользовательский интерфейс, получивший название Advanced Macintosh Look and Feel (“Обновленный внешний вид Macintosh”).

В распоряжении Apple теперь имеются две ОС, причем фирма планирует продолжать использование Mac OS и в следующем столетии. Пользователи Mac OS могут по-прежнему работать с ней или постепенно переходить на Rhapsody. Переход с Mac OS на новую операционную систему не потребует затрат на обновление ПО, поскольку владельцы компьютеров на базе PowerPC смогут запускать Mac-приложения, используя Blue Box ОС Rhapsody с похожим на Mac OS интерфейсом.

В результате  ознакомления PC Week Labs с предварительной, предназначенной для разработчиков версией Rhapsody создается впечатление, что новая ОС имеет перспективы для разработки приложений и использования на различных платформах. Это может помочь Apple в ее планах укрепиться на корпоративном рынке.

	Первая редакция Rhapsody (Premiere Release) должна выйти в начале следующего года, и тогда менеджеры ИТ и разработчики корпоративных систем смогут ознакомиться с возможностями Rhapsody поддерживать распределенные объектные приложения и клиент-серверные системы. Однако до выпуска окончательной редакции (Unified Release) этой ОС, намечаемого на конец будущего года, большинство пользователей Mac будут продолжать работать с Mac OS и ее планируемыми обновлениями.

 	Базовая часть ОС Rhapsody основана на BSD Unix 4.4 (вариант Unix, разработанный фирмой при Университете Беркли) и микроядре Mach 2.5, и поэтому Rhapsody будет поддерживать вытесняющую многозадачность, защиту памяти, многопоточность и симметричную мультипроцессорную обработку. Помимо этого Apple должна включить в ОС три свои технологии QTML (QuickTime Media Layer): QuickTime, QuickTime VR и QuickDraw 3D.

Что  внутри?

Разработчики корпоративных систем, очевидно, хотели бы познакомиться с Rhapsody поближе и выявить точки соприкосновения новой ОС с запросами корпоративного рынка, и поэтому им будет интересно узнать, что же скрывается за цветными кодовыми именами, придуманными фирмой Apple. Комментарии Тестового центра PC Week Labs по поводу содержимого и принципов функционирования “желтого” и “голубого” ящиков основываются на сопроводительной документации к первоначальной версии ОС для разработчиков.

	Rhapsody for PowerPC представляет собой вариант новой ОС для аппаратурных платформ на базе микропроцессоров PowerPC. Он состоит из базовой части ОС, интерфейса Advanced User Experience и двух “ящиков”: Blue Box и Yellow Box.

Другой вариант, Rhapsody for PC Compatible, предназначен для платформ на базе микропроцессоров семейства X86 и содержит ту же базовую часть ОС, интерфейс Advanced User Experience и Yellow Box, как и в версии для PowerPC. Однако в этом случае отсутствует Blue Box.

Yellow Box операционной системы Rhapsody предлагается в двух вариантах. Вариант для Mac OS, который будет выполняться на базе PowerPC, состоит из библиотек динамически загружаемых модулей Yellow Box и версии Mac OS для поддержки исполнения программ. Он будет иметь внешний вид и способы управления, характерные для Mac OS. Вариант Yellow Box, предназначенный для Windows, должен действовать на базе машин семейства X86 и состоит из библиотек динамически компонуемых модулей Yellow Box и версии Windows 95 или Windows NT для поддержки исполнения программ.  Его внешний вид и способы управления характерны для Windows-систем.

Blue Box полностью независим от Yellow Box и может запускаться либо в полноэкранном представлении, либо в режиме окна внутри Rhapsody. Поскольку Blue Box не поддерживает вытесняющую многозадачность и защиту памяти, то аварийный отказ выполняемого в “голубом ящике” Mac-приложения может вызвать зависание всей подсистемы. Однако благодаря изолированному функционированию Blue Box базовая часть ОС и подсистема Yellow Box будут продолжать свою работу. Поэтому Rhapsody более прочно защищена от сбоев, чем Mac OS, и в этом смысле аналогична Windows NT в сопоставлении с Windows 95.

Поскольку старые приложения для Macintosh, которые должны запускаться в Blue Box, как правило, избегают прямого доступа к аппаратной части и в этом плане более дисциплинированны, чем старые Windows-приложения, то для них менее вероятна проблема совместимоcти вверх.

Blue Box поддержит модель памяти, обеспечивающую совместимость с Mac-приложениями. Кроме того, он будет поддерживать (подобно Yellow Box) модель разбиения памяти базовой части ОС под названием sparce virtual memory (разреженная виртуальная память). При использовании sparse virtual memory запускаемые приложения могут иметь в своем распоряжении до 1 Гб памяти. Эта модель уменьшает кажущуюся фрагментацию памяти, доступной отдельным приложениям, и таким образом препятствует тенденции Mac OS к неуправляемой фрагментации памяти.

Инфраструктура и интерфейсы прикладного программирования Yellow Box позволяют поддерживать компоненты, созданные с помощью Java и ActiveX, в дополнение к интерфейсам прикладного программирования фирмы Apple. Rhapsody позволит разработчикам ПО создавать приложения, предназначенные для более широкого применения по сравнению с Mac OS.

Какие  возможности  получат  разработчики?

Что все это означает для разработчиков? Используя новую ОС фирмы Apple, они смогут составлять программы Rhapsody-приложений  для платформы PowerPC, а затем перекомпилировать их исходный код для платформы X86. Благодаря этому пользователи Windows получат приложения, базирующиеся на Rhapsody, но имеющие внешний вид и средства управления, соответствующие Windows. Это резко сократит время на освоение новых приложений персоналом компаний, привыкшим к Windows-системам.

Базовая часть Rhapsody и технологии Yellow Box предоставляют этой ОС хорошие сетевые возможности, в которые входят поддержка Ethernet, TCP/IP, PPP (протокол “точка  -  точка”), NFS (сетевая файловая система), AppleTalk, AppleShare и Lightweight Directory Access Protocol (облегченный протокол доступа к сетевым каталогам). Сервер на базе Rhapsody сможет действовать в качестве многопользовательской системы с множественными именами пользователей и индивидуальными настройками и с высокой степенью защиты на уровне Unix-систем.

Rhapsody также будет располагать всеми возможностями объектной модели PDO (Portable Distributed Objects) фирмы NeXT, которая согласована с архитектурой CORBA. Как система для распределенных вычислений, PDO позволяет выполнять различные процессы на отдельных компьютерах. Процессы могут пересылать друг другу сообщения через сеть так же просто, как если бы они выполнялись в рамках одной программы на одном компьютере. Распределяя процессы, связанные с выполнением приложения, между несколькими компьютерами, разработчик получает возможность создания мощных приложений, в полной мере использующих все имеющиеся вычислительные ресурсы.

Rhapsody x86 DR2

Год выпуска: 1998

Версия: Developer Realease 2 (5.1)

Разработчик: Apple Computer

Платформа: Intel x86

Совместимость с Vista: нет

Системные требования: Pentium II 300MHz, 128Mb RAM, 2 Gb HDD partition

Язык интерфейса: только английский

Таблетка: Не требуется

Описание: Ранняя версия MacOS X, базируется на OPENStep. Используется ядро Mach.





Внешний вид рабочего стола





10