Rhapsody es un sistema operativo desarrollado por Apple Computer después de la compra de NeXT a finales de la década de 1990. Es la quinta versión importante del sistema operativo basado en Mach que se desarrolló en NeXT a finales de los años 1980, anteriormente llamado OPENSTEP y NEXTSTEP . [1] Rhapsody estaba dirigido a desarrolladores durante un período de transición entre Classic Mac OS y Mac OS X. Rhapsody representó una estrategia nueva y exploratoria para Apple, más que un sistema operativo, y se ejecuta en PC basadas en x86 y en Power Macintosh .
Los marcos API Yellow Box basados en OPENSTEP [a] de Rhapsody se trasladaron a Windows NT para crear aplicaciones multiplataforma. Finalmente, las plataformas que no eran de Apple fueron descontinuadas y las versiones posteriores consisten principalmente en el sistema operativo OPENSTEP portado a Power Macintosh, fusionando la GUI de Mac OS 8 originada por Copland con la de OPENSTEP. Se trasladaron varios marcos de trabajo clásicos de Mac OS existentes, incluidos QuickTime y AppleSearch . Rhapsody puede ejecutar Mac OS 8 y sus aplicaciones en una capa de paravirtualización llamada Blue Box para compatibilidad con versiones anteriores durante la migración a Mac OS X.
Rhapsody sigue el patrón de Apple durante la década de 1990 de nombres en clave relacionados con la música para lanzamientos de sistemas operativos (ver Rhapsody (música) ). Apple había cancelado su estrategia anterior de sistema operativo de próxima generación de Copland (llamado así por el compositor estadounidense Aaron Copland ) y su sucesor preanunciado Gershwin (llamado así por George Gershwin , compositor de Rhapsody in Blue ). [2] Otros nombres en clave musicales incluyen Harmony ( Mac OS 7.6 ), Tempo ( Mac OS 8 ), Allegro ( Mac OS 8.5 ) y Sonata ( Mac OS 9 ).
A mediados de la década de 1990, Mac OS estaba quedando atrás de Windows. [3] En 1993, Microsoft había introducido la próxima generación de Windows NT , que era un sistema operativo independiente del procesador, multiprocesamiento y multiusuario . [4] En ese momento, Mac OS todavía era un sistema operativo de usuario único y se había ganado la reputación de ser inestable. Apple hizo varios intentos de desarrollar reemplazos modernos para Mac OS, pero todos fracasaron, dañando la confianza del público en la empresa, mientras que las ventas de Macintosh continuaron cayendo. El sistema operativo de próxima generación más prometedor de Apple, Copland , fue mal administrado y tuvo que ser abandonado en 1996. En respuesta, el director ejecutivo de Apple, Gil Amelio, decidió adquirir o licenciar un sistema operativo ya construido de otra empresa. El equipo ejecutivo de Apple consideró BeOS , NeXTSTEP de NeXT , Solaris de Sun Microsystems y Windows NT, y finalmente adquirió NeXT en diciembre de 1996. [3]
Rhapsody fue anunciada por Gil Amelio en la Macworld Expo SF del 7 de enero de 1997 , [5] [6] y se demostró por primera vez en la Conferencia Mundial de Desarrolladores (WWDC) de mayo de 1997. [7] [8]
En Macworld SF 1997, Steve Jobs dijo que Mac OS y su Macintosh Toolbox colocaban a los desarrolladores en el "quinto piso", Windows NT en el "séptimo piso", mientras que las bibliotecas OpenStep [a] de Rhapsody permitirían a los desarrolladores comenzar en el "vigésimo piso". . [9] Jobs argumentó que esto agilizaría la implementación de aplicaciones existentes y permitiría que incluso los equipos de desarrolladores pequeños crearan aplicaciones innovadoras. [9] En ese momento, menos del 25% de los estadounidenses usaban computadoras, y muchos pensaban que la industria informática estaba "simplemente esperando despegar"; la mayoría de las aplicaciones existentes eran herramientas de oficina y "el software para la gran mayoría de las personas aún no se había escrito". [10] Jobs puso los ejemplos de Lighthouse Design , que había creado una suite ofimática completa para NeXTSTEP con sólo 18 empleados, Tim Berners-Lee, que había creado WorldWideWeb , el primer navegador web , en NeXTSTEP, y Dell , que creó su primer Sitio web de comercio electrónico que utiliza WebObjects de NeXT . [9]
Dado que Yellow Box también estaba disponible en Windows como una biblioteca de enlaces dinámicos (DLL), las aplicaciones de Yellow Box podrían ejecutarse tanto en Rhapsody como en Windows mediante una recompilación. [11] Microsoft no proporcionó ningún equivalente que permitiera que las aplicaciones Win32 se ejecutaran en otras plataformas. [12] Además, Rhapsody podría instalarse en Macintosh PowerPC o en PC Intel x86 , ampliando la base de clientes potenciales de los desarrolladores. [11]
Apple presentó Rhapsody a los usuarios enfatizando su estabilidad y capacidad de respuesta mejoradas. Por ejemplo, en Mac OS clásico, los faxes entrantes podrían dejar la máquina congelada hasta que se complete el fax; y si una aplicación falla, podría provocar la caída de todo el sistema y requerir un reinicio, lo que podría provocar la pérdida de datos. [13] [14] Además, Rhapsody heredaría la funcionalidad de compartir red local de NeXTSTEP y facilitaría el intercambio de datos entre aplicaciones. [13] En Macworld SF 1997, Steve Jobs se jactó de la madurez de NeXTSTEP señalando que había sido adoptado por muchas organizaciones grandes, incluidos los bancos de Wall Street y la CIA . [9] La revista BYTE describió NeXTSTEP como "código probado en el campo y demostrado en el tiempo" en enero de 1998, diez años después de la introducción del sistema operativo. [15]
El plan de Apple era mantener la compatibilidad con "la mayoría" de las aplicaciones Mac OS existentes a través de Blue Box, pero requerir que las aplicaciones se reescriban para Yellow Box para aprovechar las nuevas funciones de Rhapsody. Blue Box se ejecutaría en una ventana y admitiría aplicaciones del Sistema 7 ( Motorola 68k y PowerPC), pero solo podría admitir aplicaciones que no necesitaran comunicarse con el hardware. A lo largo del desarrollo de Rhapsody, Apple continuaría lanzando actualizaciones importantes para el Mac OS clásico, que seguiría siendo compatible durante varios años después del lanzamiento público de Rhapsody. [14] [5] [16]
Rhapsody se ejecuta en un kernel Mach 2.5 modificado y un entorno Unix 4.4BSD . Encima estaban las bibliotecas Yellow Box orientadas a objetos, la capa de compatibilidad Blue Box para aplicaciones Mac OS y una máquina virtual Java . [15] [17] Rhapsody combina el marco orientado a objetos OpenStep de NeXT , otros marcos de NeXT ( WebObjects , Enterprise Objects Framework ) y las tecnologías Mac OS de Apple (incluidos AppleScript , QuickTime Media Layer, ColorSync , eventos de Apple ). [18] [14] Rhapsody utiliza el sistema de archivos Unix (UFS) para discos duros y el sistema de archivos de red en unidades de red. [15]
Los píxeles se dibujan en pantalla utilizando Display PostScript en lugar de QuickDraw de Mac OS . Dado que Display PostScript se basa en el mismo lenguaje PostScript que se utiliza para comunicarse con las impresoras, no se requiere ningún proceso de conversión al imprimir y los documentos impresos son más fieles a cómo se ven en pantalla. [19]
Rhapsody admite el desarrollo de aplicaciones en tres lenguajes de programación: Objective-C, Java y C++. [20]
Rhapsody utiliza el kernel Mach 2.5 de la Universidad Carnegie Mellon, que fue modificado para agregar soporte para Network File System, discos SCSI y dispositivos extraíbles como CD-ROM y unidades Jaz . Este kernel carece de soporte para multiprocesamiento simétrico (SMP), que se planeó agregar en una versión posterior de Rhapsody que usaría un kernel Mach 3.0. [15] Mach había sido creado en CMU por Avie Tevanian , quien estaba a cargo del desarrollo de Rhapsody como vicepresidente senior de ingeniería de software de Apple, cargo que ocupó anteriormente en NeXT. [ cita necesaria ]
En una presentación de la WWDC de 1997, Jeff Robbin dijo que Rhapsody estaba basada en Mach 2.6. [ cita necesaria ]
Blue Box es una capa de virtualización no reentrante que permite a Rhapsody ejecutar aplicaciones clásicas de Mac OS. Fue lanzado después de Rhapsody DR1, en forma de una aplicación llamada MacOS.app que cargaba un archivo ROM de Macintosh almacenado en el disco. Blue Box no admitía aplicaciones de Mac OS que necesitaran acceso al hardware o que dependieran de API de Mac OS no públicas. [21] [15]
Blue Box beta 1.0 solo funcionaba en pantalla completa, lo que requería que los usuarios presionaran ⌘ Cmd+ ↵ Enter para salir del entorno, e implementa redes a través de Open Transport , en lugar de los sockets BSD de Rhapsody . Las versiones posteriores de Blue Box podrían ejecutar Mac OS en una ventana. [21]
El entorno Blue Box de Rhapsody, disponible sólo en PowerPC debido a la paravirtualización , proporciona compatibilidad en tiempo de ejecución con aplicaciones Mac OS 8. Todas las aplicaciones virtualizadas y sus ventanas asociadas se encapsulan dentro de una única ventana de escritorio de Blue Box en lugar de intercalarse con aplicaciones nativas de Yellow Box.
Más tarde, Blue Box se convirtió en el entorno Classic , [21] que permaneció en Mac OS X hasta Mac OS X Tiger , con soporte para Classic eliminado en Mac OS X Leopard .
Yellow Box es la plataforma de desarrollo de Rhapsody. Consiste en gran parte del marco OpenStep, combinado con un tiempo de ejecución y un entorno de desarrollo. Dado que Yellow Box también tenía una implementación de Windows NT, las aplicaciones creadas para él también podrían ejecutarse de forma nativa en Microsoft Windows y se verían como aplicaciones normales de Windows. Yellow Box incluye tres marcos principales: Foundation , Application Kit y Display PostScript. También incluye las herramientas de desarrollo Project Builder e Interface Builder de NeXTSTEP . [21] [11]
Yellow Box tiene soporte total para multitarea preventiva , subprocesos múltiples y memoria protegida (que solo habrían sido admitidas parcialmente en el proyecto Copland anterior). Sería necesario reescribir las aplicaciones de terceros para que Yellow Box aproveche las nuevas funciones de Rhapsody. [14]
En mayo de 1997, Amelio anunció que Yellow Box pasaría a llamarse Concert . [22] [23]
Yellow Box se utilizó más tarde como base para el marco Cocoa de Mac OS X. [21]
La máquina virtual Java de Rhapsody se deriva del JDK 1.1.3 de Sun, que se modificó para que las aplicaciones Java pudieran llamar a las API de Yellow Box . Rhapsody DR1 incluía bibliotecas y compilador Java de Sun. [15]
Apple publicó dos versiones para desarrolladores de Rhapsody para las arquitecturas PowerPC e Intel x86 . [7]
La primera versión para desarrolladores de Rhapsody se lanzó el 13 de octubre de 1997 (para Power Macintosh) [24] a 10.000 desarrolladores, a quienes se les entregaron dos CD : el instalador de arranque de Rhapsody y otro CD con el código fuente de muestra (incluida una versión de TextEdit en Java que llama a las API de Yellow Box). Apple modificó su implementación de Open Firmware para permitir a los usuarios realizar un arranque dual de Rhapsody y Mac OS manteniendo presionado . DR1 no tenía Blue Box y le faltaban muchas tecnologías Mac OS prometidas como QuickTime, AppleScript y AppleTalk ; su objetivo principal era brindar a los desarrolladores una versión comercial de Yellow Box para que pudieran comenzar a reescribir sus aplicaciones. DR1 tiene el Administrador de espacio de trabajo de OPENSTEP en lugar del Finder de Mac OS . [15] En las semanas siguientes, Apple también lanzó la versión para Windows del tiempo de ejecución de Yellow Box, así como el DR1 de Rhapsody para PC Compatibles (Intel) y el primer lanzamiento de Blue Box. [25]⇪ Caps Lock
La reacción general de los desarrolladores ante DR1 fue positiva. [26] Tom Thompson, de la revista BYTE , describió DR1 como una "mezcla de Jekyll y Hyde " de una interfaz de usuario "increíblemente parecida a la de Mac" y componentes NeXTSTEP difíciles de usar, algunos de los cuales sólo podían configurarse correctamente a través del línea de comando , pero dijo que "no falló ni una vez" durante su prueba. [15]
La interfaz de usuario de Rhapsody se consideró preliminar y las vistas previas para desarrolladores se centraron en la arquitectura subyacente del sistema. [18] Su interfaz de usuario era una combinación de la interfaz de usuario OPENSTEP y la interfaz de usuario Platinum de Mac OS 8 , [17] y esta última se originó con el prototipo cancelado de Copland. Developer Release 1 (DR1) no tiene el Finder de Mac OS y tiene el Administrador de espacio de trabajo, el estante y la vista de columnas de OPENSTEP . The Shelf fue eliminado a favor del Dock de OPENSTEP ; y se agregó Finder, heredando la vista de columnas.
Los desarrolladores estaban "impresionados" y "entusiasmados" con los planes de Apple, pero, con Copland en mente, muchos se mostraron escépticos sobre la capacidad de Apple para cumplir con estos planes, y la disminución de las ventas del Macintosh generó dudas sobre las probabilidades de supervivencia de Apple. Como resultado, "muchos" desarrolladores no estaban dispuestos a comprometerse a reescribir sus aplicaciones para Rhapsody, lo que planteaba el problema del huevo y la gallina , ya que Rhapsody no tendría éxito comercial sin aplicaciones reescritas para aprovechar sus nuevas características. [8] [12]
El columnista de tecnología Walt Mossberg observó que muchos desarrolladores externos ya estaban abandonando Mac debido a su cada vez menor participación de mercado, y que la falta de aplicaciones de consumo de NeXTSTEP, combinada con la necesidad de reescribir aplicaciones para Rhapsody, "[hizo] que comprar una Mac fuera una tarea relativamente inversión arriesgada" en comparación con la compra de una computadora con Windows 95 o Windows NT . [dieciséis]
Para calmar las preocupaciones de los desarrolladores, Apple anunció en mayo de 1997 que agregaría soporte para aplicaciones Yellow Box a Mac OS, para hacer la transición desde Mac OS más fluida. Sin embargo, el mismo mes, Apple anunció en una presentación ante la SEC que, contrariamente a su anterior orientación de ganancias , no volvería a ser rentable en el cuarto trimestre del año fiscal 1997 (que finaliza en septiembre), y que esperaba que las ventas netas de Macintosh continuaran. desistir. [8] [12] [27] En el cuarto trimestre del año fiscal 1997, las ventas trimestrales de Macintosh disminuyeron de 932.000 a 625.000 año tras año , y Apple tuvo una pérdida operativa de 24 millones de dólares (aunque todavía tenía 1.450 millones de dólares en efectivo). [28] Poco antes de la Macworld Expo Boston del 6 de agosto de 1997 , Amelio intentó obtener un compromiso de Microsoft para lanzar Office para Rhapsody, pero Bill Gates se negó. [29] Algunos pequeños desarrolladores anunciaron versiones Rhapsody de sus aplicaciones, incluidas Create de Stone Design, PasteUp de Anderson Financial Systems, Glyphix de Onyshuk & Associates, OpenBase y Retrospect de Dantz Development . [28]
En febrero de 1998, el columnista de Macworld , David Pogue, escribió:
Lo intrigante del próximo sistema operativo Rhapsody de Apple es que estará disponible para computadoras Mac e Intel. ¿Y si es un gran éxito? ¿Qué pasa si es más barato y menos problemático que Windows y NT? ¿Qué pasa si las compañías de software se dan cuenta de que pueden escribir un programa Rhapsody y venderlo en máquinas tanto "Mac" como "Windows"? La experiencia de utilizar una computadora está determinada principalmente por el software de su sistema. En otras palabras, Rhapsody pondrá la elegancia de Apple en cualquier computadora personal, sin importar quién la haya fabricado. Cada PC del mundo se convertirá, de hecho, en una Mac. Por otro lado, un triunfo de Rhapsody significaría que ya nadie tendría que comprar computadoras a Apple. ¿Apple ha pensado bien en esto? [30]
En una reunión con Michael Dell , propietario del fabricante de PC Dell , Steve Jobs demostró Rhapsody en Intel x86 y ofreció licenciar el sistema operativo a Dell para que lo distribuya en sus PC. Sin embargo, el acuerdo fracasó cuando Jobs insistió en que todas sus computadoras se vendieran con Mac OS y Windows para que los consumidores pudieran elegir la plataforma que prefirieran (lo que habría resultado en que Dell tuviera que pagar regalías a Apple por cada computadora que vendiera). a diferencia de la preferencia de Dell de que la elección del sistema operativo sea una opción de fábrica. [31] [ necesita contexto ]
A mediados de 1997, después de que Amelio fuera destituido como director ejecutivo de Apple y Jobs lo reemplazara informalmente, la compañía se volvió más silenciosa respecto a Rhapsody, lo que generó especulaciones sobre su destino. En la conferencia editorial Seybold de octubre de 1997, Jobs anunció que la transición sería más "gradual" de lo que Amelio había anunciado previamente, y seguiría una estrategia de "sistema operativo dual", con Rhapsody orientada a servidores, seguida de un lanzamiento para consumidores varios años después. , imitando la estrategia Windows NT de Microsoft. [32] [33] [24]
En la WWDC de 1998 celebrada en mayo, Apple declaró que "ni un solo" desarrollador externo importante se había comprometido a reescribir sus aplicaciones para Rhapsody. En cambio, Apple dio a conocer su estrategia Mac OS X : las aplicaciones clásicas de Mac OS no necesitarían una reescritura completa para funcionar bien en el sistema, lo que, según Jobs, podría haber llevado hasta dos años; en cambio, las aplicaciones podrían ejecutarse en Mac OS X con sólo "ajustes menores". [33] Apple también portó los marcos de trabajo clásicos de Mac OS existentes a Mac OS X y desarrolló la API Carbon multiplataforma para Mac OS 9 y X como capa de transición. [34] Las bibliotecas de Mac OS ampliamente utilizadas, como QuickTime y AppleScript, fueron trasladadas y publicadas para los desarrolladores. Carbon permite compatibilidad total y funcionalidad nativa para ambas plataformas, al tiempo que permite nuevas funciones. [ cita necesaria ] Apple también anunció que Adobe , Microsoft y Macromedia estaban de acuerdo con la nueva estrategia y se habían comprometido a lanzar sus aplicaciones para Mac OS X. [33] El programador Dave Winer celebró la nueva estrategia. [35]
Como parte del histórico juicio antimonopolio de Microsoft , Avie Tevanian argumentó que el fracaso de Rhapsody fue causado en parte por el dominio de Windows, que hacía que las nuevas plataformas de sistemas operativos fueran inherentemente poco competitivas; sin embargo, John Lettice de The Register argumentó que "esas API [de Yellow Box] que Apple no pudo conseguir que los desarrolladores soportaran [...] son, por supuesto, API que NeXT no pudo conseguir que los desarrolladores admitieran". Lettice describió a Rhapsody como intrínsecamente defectuosa y afirmó que: "La teoría de esta escuela de desarrollo de sistemas operativos [que] dice que se permite a los usuarios ejecutar sus aplicaciones existentes y al mismo tiempo se hace posible que toda una nueva generación de aplicaciones atractivas tomen el control a largo plazo". " es una estrategia que "hasta ahora no ha funcionado en la práctica". [36]
Aunque los desarrolladores esperaban Rhapsody DP3, [ inconsistente ] Steve Jobs anunció en la MacWorld Expo NY de julio de 1998 que se lanzaría públicamente una versión mejorada de Rhapsody como Mac OS X Server 1.0 , que incluiría WebObjects , QuickTime Streaming Server y Apache. Servidor web. [37] [38]
Apple transformó Rhapsody en Darwin , un sistema operativo de código abierto que es la base de los actuales sistemas operativos comerciales de Apple. [37]
Dado que Rhapsody podría ejecutarse tanto en PowerPC como en Intel x86, algunos comentaristas especularon que Apple podría estar planeando cambiar el Macintosh de procesadores PowerPC a Intel. [39] [40] Este cambio se produjo en 2005 , y Apple reveló que había probado internamente versiones Intel de Mac OS X desde el año 2000. [41] [42]
En 2016, el historiador Hanson Hsu calificó la visión de Steve Jobs para los desarrolladores como "profética" (la visión de Jobs se describe en la sección Presentación a los desarrolladores). Muchas innovaciones de NeXTSTEP fueron fundamentales para Mac OS X, incluido el marco Cocoa , Interface Builder (que pasó a formar parte de Xcode ) y el lenguaje de programación Objective-C . Estas tecnologías atrajeron a muchos desarrolladores independientes a Mac y todavía se utilizan hoy en día en Mac; Posteriormente se utilizaron en el iPhone , el iPad , el Apple Watch y el Apple TV . [9]
La versión PowerPC de Rhapsody DR1 requería 32 MB de RAM ( se recomiendan 64 MB) y 1 GB de espacio en disco, y solo era compatible oficialmente con Power Macintosh 9500 , 9600 , 8500 y 8600 . [15]
Inicialmente, Apple planeó lanzar una vista previa para desarrolladores de Rhapsody en el tercer trimestre de 1997. Le seguiría en enero de 1998 un lanzamiento para consumidores con el nombre en código Rhapsody Premier, que contenía una versión preliminar de Blue Box, el entorno de compatibilidad que permitiría a Rhapsody ejecutar Mac. Aplicaciones del sistema operativo. La Blue Box completa vendría en Rhapsody Unified, prevista para mediados de 1998. [14]
Los números de versión de Rhapsody comienzan en la versión 5.0, ya que fue un cambio de nombre del sistema operativo OPENSTEP para Mach de NeXT , cuya última versión fue OPENSTEP para Mach 4.2. Aunque Apple nunca lanzó Rhapsody 5.2, algunos especularon que estaba destinado a ser Rhapsody Premier. [ cita necesaria ]