Введение

Операционная система Apple Rhapsody — операционная система, разработанная компанией Apple Computer после приобретения NeXT в конце 1990-х годов. Она является пятым основным выпуском операционной системы на базе Mach, разрабатывавшейся в NeXT в конце 1980-х годов и ранее известной как OPENSTEP и NEXTSTEP. Rhapsody была ориентирована на разработчиков как переходный этап между классической Mac OS и Mac OS X. Rhapsody представляла собой новую и экспериментальную стратегию для Apple, выходящую за рамки просто операционной системы, и работала на ПК на базе x86 и Power Macintosh. Фреймворки API Yellow Box, основанные на OPENSTEP, были портированы на Windows NT для создания кроссплатформенных приложений. В конечном итоге поддержка не-Apple платформ была прекращена, а более поздние версии состояли в основном из операционной системы OPENSTEP, портированной на Power Macintosh, объединяющей графический интерфейс Copland, изначально разработанный для Mac OS 8, с графическим интерфейсом OPENSTEP. Были портированы несколько существующих фреймворков классической Mac OS, включая QuickTime и AppleSearch. Rhapsody может запускать Mac OS 8 и её приложения в слое паравиртуализации под названием Blue Box для обеспечения обратной совместимости при переходе на Mac OS X.

Именование

Rhapsody продолжает традицию Apple 1990-х годов использовать музыкальные кодовые имена для версий операционных систем (см. Rhapsody (музыка)). Apple отменила свою предыдущую стратегию разработки операционной системы нового поколения Copland (названной в честь американского композитора Аарона Копленда) и её анонсированного преемника Gershwin (названного в честь Джорджа Гершвина, композитора «Рапсодии в стиле блюз»). Среди других музыкальных кодовых имен – Harmony (Mac OS 7.6), Tempo (Mac OS 8), Allegro (Mac OS 8.5) и Sonata (Mac OS 9).

Предыдущие попытки разработать преемника Classic Mac OS

В середине 1990-х годов Mac OS отставала от Windows. В 1993 году Microsoft представила операционную систему Windows NT нового поколения, независимую от архитектуры процессора, поддерживающую многопроцессорность и многопользовательский режим. В то время как Mac OS оставалась операционной системой для одного пользователя и приобрела репутацию нестабильной. Apple предприняла несколько попыток разработать современную замену Mac OS, но все они оказались безуспешными, что подорвало доверие к компании и привело к дальнейшему снижению продаж Macintosh. Наиболее перспективная операционная система нового поколения от Apple, Copland, была плохо организована и в 1996 году от неё пришлось отказаться. В ответ на это генеральный директор Apple Гил Амелио принял решение о приобретении или лицензировании готовой операционной системы у другой компании. Руководство Apple рассматривало BeOS, NeXTSTEP от NeXT, Solaris от Sun Microsystems и Windows NT, и в конечном итоге в декабре 1996 года приобрело компанию NeXT.

Объявление

Rhapsody была представлена Гилом Амелио 7 января 1997 года на Macworld Expo SF и впервые продемонстрирована на Всемирной конференции разработчиков (WWDC) в мае 1997 года.

Предложение разработчикам

На Macworld SF 1997 Стив Джобс заявил, что Mac OS и Macintosh Toolbox помещают разработчиков на "пятый этаж", Windows NT – на "седьмой", а библиотеки OpenStep в Rhapsody позволят разработчикам начинать работу с "двадцатого этажа". Джобс утверждал, что это ускорит внедрение существующих приложений и позволит даже небольшим командам создавать инновационные продукты. Кроме того, саму Rhapsody можно было установить как на Macintosh PowerPC, так и на ПК с процессорами Intel x86, что расширяло потенциальную аудиторию разработчиков.

Ссылка на пользователей

Apple представила Rhapsody пользователям, делая акцент на его повышенной стабильности и отзывчивости. Например, в классической Mac OS входящие факсы могли приводить к полной блокировке системы до завершения передачи; а сбой приложения мог обрушить всю систему, требуя перезагрузки и потенциально приводя к потере данных. Кроме того, Rhapsody унаследовала функциональность обмена данными в локальной сети от NeXTSTEP, упрощая совместную работу с данными между приложениями. На Macworld SF 1997 Стив Джобс подчеркнул зрелость NeXTSTEP, отметив, что она была внедрена во многих крупных организациях, включая банки Уолл-стрит и ЦРУ.

Планируемый переход от Mac OS

План Apple заключался в обеспечении совместимости с "большинством" существующих приложений Mac OS посредством Blue Box, однако для использования новых возможностей Rhapsody требовалась переработка приложений для Yellow Box. Blue Box работал бы в окне и поддерживал приложения System 7 (Motorola 68k и PowerPC), но только те, которым не требовалось взаимодействие с аппаратным обеспечением. На протяжении разработки Rhapsody компания Apple продолжала выпускать крупные обновления классической Mac OS, поддержка которой сохранялась в течение нескольких лет после публичного релиза Rhapsody.

Архитектура

Rhapsody работала на модифицированном ядре Mach 2.5 и в среде Unix 4.4BSD. Над этим располагались потоковые, объектно-ориентированные библиотеки Yellow Box, уровень совместимости Blue Box для приложений Mac OS и виртуальная машина Java. Впоследствии Yellow Box послужил основой для фреймворка Cocoa в Mac OS X.

Виртуальная машина Java

Виртуальная машина Java в Rhapsody была основана на JDK 1.1.3 от Sun, который был модифицирован для обеспечения возможности вызова API Yellow Box из Java-приложений. Rhapsody DR1 включал в себя компилятор и библиотеки Sun Java. Общая реакция разработчиков на DR1 была положительной. Том Томпсон из журнала BYTE описал DR1 как "смесь доктора Джекилла и мистера Хайда" – сочетание "удивительно похожего на Mac" пользовательского интерфейса и сложных в использовании компонентов NeXTSTEP, некоторые из которых можно было корректно настроить только через командную строку, но он отметил, что система "ни разу не зависла" во время его тестирования. В четвертом квартале 1997 финансового года квартальные продажи Macintosh снизились с 932 000 до 625 000 единиц в годовом исчислении, а Apple понесла операционные убытки в размере 24 миллионов долларов (при этом у компании оставалось 1,45 миллиарда долларов наличных). Незадолго до выставки Macworld Expo Boston 6 августа 1997 года Амелио попытался добиться от Microsoft обязательства выпустить Office для Rhapsody, но Билл Гейтс отказал. Некоторые небольшие разработчики объявили о портировании своих приложений на Rhapsody, включая Create от Stone Design, PasteUp от Anderson Financial Systems, Glyphix от Onyshuk & Associates, OpenBase и Retrospect от Dantz Development.

Стратегия

На встрече с Майклом Деллом, владельцем компании Dell, производителя ПК, Стив Джобс продемонстрировал Rhapsody на платформе Intel x86 и предложил Dell лицензию на операционную систему для распространения на их компьютерах. Сделка сорвалась, когда Джобс настоял на том, чтобы все компьютеры Dell поставлялись с предустановленными Mac OS и Windows, предоставляя потребителям возможность выбора предпочитаемой платформы (что повлекло бы за собой выплату Dell роялти Apple за каждый проданный компьютер), в то время как Dell предпочитала предлагать выбор операционной системы в качестве заводской опции. В середине 1997 года, после отстранения Амелио с поста генерального директора Apple и его неофициальной замены Джобсом, компания стала менее активно говорить о Rhapsody, что вызвало спекуляции относительно её судьбы. На конференции Seybold в октябре 1997 года Джобс объявил, что переход будет более "постепенным", чем ранее заявлял Амелио, и будет реализован с использованием стратегии "двойной ОС", где Rhapsody будет ориентирована на серверы, а потребительская версия выйдет через несколько лет, следуя стратегии Windows NT от Microsoft. На WWDC 1998, проходившей в мае, Apple заявила, что "ни один" крупный сторонний разработчик не взялся за переписывание своих приложений для Rhapsody. Вместо этого Apple представила стратегию Mac OS X: классическим приложениям Mac OS не потребуется полная переработка для корректной работы в системе, что, по словам Джобса, могло занять до двух лет; вместо этого приложения смогут работать на Mac OS X с лишь "незначительными корректировками". Широко используемые библиотеки Mac OS, такие как QuickTime и AppleScript, были портированы и предоставлены разработчикам. Carbon обеспечивает полную совместимость и нативную функциональность для обеих платформ, а также открывает возможности для новых функций. Apple также объявила, что Adobe, Microsoft и Macromedia поддержали новую стратегию и обязались выпустить свои приложения для Mac OS X. В рамках знакового антимонопольного процесса против Microsoft, Ави Теванян утверждал, что провал Rhapsody был частично вызван доминированием Windows, которое делало новые платформы операционных систем изначально неконкурентоспособными; однако Джон Леттис из The Register утверждал, что "те [Yellow Box] API, поддержку которых Apple не смогла обеспечить от разработчиков, – это, конечно же, те же API, поддержку которых не смогла обеспечить NeXT". Леттис охарактеризовал Rhapsody как принципиально ошибочную, заявив, что: "Теория этой школы разработки ОС [которая] заключается в том, чтобы позволить пользователям запускать существующие приложения, одновременно создавая возможность для появления нового поколения привлекательных приложений в долгосрочной перспективе" – это стратегия, которая "до сих пор не доказала свою эффективность на практике". Несмотря на то, что разработчики ожидали Rhapsody DP3, Стив Джобс объявил на MacWorld Expo NY в июле 1998 года, что улучшенная версия Rhapsody будет выпущена как Mac OS X Server 1.0, в состав которой войдут WebObjects, QuickTime Streaming Server и веб-сервер Apache.