Введение
Операционная система 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 is an operating system that was developed by Apple Computer after its purchase of NeXT in the late 1990s. It is the fifth major release of the Mach based operating system that was developed at NeXT in the late 1980s, previously called OPENSTEP and NEXTSTEP. Rhapsody was targeted to developers for a transition period between the Classic Mac OS and Mac OS X. Rhapsody represented a new and exploratory strategy for Apple, more than an operating system, and runs on x86 based PCs and on Power Macintosh. Rhapsody's OPENSTEP based Yellow Box API frameworks were ported to Windows NT for creating cross platform applications. Eventually, the non Apple platforms were discontinued, and later versions consist primarily of the OPENSTEP operating system ported to Power Macintosh, merging the Copland originated GUI of Mac OS 8 with that of OPENSTEP. Several existing classic Mac OS frameworks were ported, including QuickTime and AppleSearch. Rhapsody can run Mac OS 8 and its applications in a paravirtualization layer called Blue Box for backward compatibility during migration to 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.