Il defunto CEO di Apple Steve Jobs annunciò “Mac OS X” il 9 gennaio del 2001 nel corso del Macworld San Francisco ma il lancio ufficiale avvenne il 24 marzo dello stesso anno e dunque oggi il sistema operativo di Apple compie 12 anni. Molta acqua è passata sotto i ponti da allora e benché la prima versione (OS X 10.0 “Cheetah”) non fosse del tutto completa, questa già mostrava i suoi muscoli, rafforzati con le successive release (OS X 10.1 “Puma” a settembre del 2001. OS X 10.2 “Jaguar” del 24 agosto 2002, OS X 10.3 “Panther” il 24 ottobre del 2003, ecc.).
Come nacque OS X?
Chi segue da molti anni le vicessitudini dell’azienda Apple, sa bene quanta eccitazione e quanto clamore si fece nel 1994 ai tempi della presentazione del progetto Copland, il sistema operativo che in poco tempo Apple avrebbe dovuto usare al posto del vecchio e classico Mac OS. Le promesse di base erano piuttosto interessanti: un sistema operativo moderno, con memoria protetta, veloce, di facile uso, un’interfaccia utente migliore e tante altre cose che avrebbero dovuto cambiare (anzi, sconvolgere) il mondo dei sistemi operativi ancor prima che Microsoft pensasse e presentasse il suo Windows 95.
Purtroppo, per una serie di vicessitudini il progetto Copland fu abbandonato e Microsoft, invece, presentò il suo Windows. Fu il non troppo rimpianto Gil Amelio – ex CEO della casa della Mela- a volere la cancellazione di Copland. Un progetto che “non portava da nessuna parte e che non faceva altro che far perdere soldi da tutte le parti ad Apple”, per dirla più o meno con le sue parole.
Subito dopo la cancellazione del progetto, Amelio e i manager di Apple, iniziarono a cercare un sostituto per quello che sarebbe dovuto diventare il sistema operativo dei Macintosh del futuro. Sul finire del 1996 gli occhi furono puntati inizialmente sul BeOS (ne abbiamo parlato qui) e vi furono persino delle trattative con Microsoft per il porting di Windows. Fortunatamente qualcuno si ricordò di quel “matto” di Steve Jobs e dello splendido lavoro che egli fece dopo essere stato cacciato da Apple: i computer NeXT e il potente sistema operativo OpenStep, costruito intorno a Unix, con un magnifico motore grafico basato sul linguaggio PostScript e con una forte presenza in particolari nicchie del mercato enterprise e professionale.
Apple acquistò in blocco NeXT (ma i maligni affermano che in realtà è successo il contrario) e questa fu la grande occasione che permise a Steve Jobs di buttare fuori Amelio e ritornare dopo molti anni al posto di comando alla Apple.
Velocemente (inizio 1997), Apple annunciò che avrebbe creato un sistema operativo completamente nuovo per PowerPC: Rhapsody, il merging tra il meglio delle tecnologie messe a disposizione dal Mac OS e da OpenStep, e che avrebbe dovuto rivoluzionare il mondo del software per Macintosh.
La reazione del mondo degli sviluppatori non fu esaltante. Lo scarso feedback ricevuto – dopo mesi di test e prove – fece orientare Apple (siamo nel 1998) verso una scelta diversa: Mac OS X: un sistema operativo tecnologicamente simile a Rhapsody ma con un’interfaccia rivoluzionaria (denominata Aqua) più facile da usare e che – al contrario di Rhapsody – non mostrasse la complessità derivante dall’utilizzo di un sistema operativo basato su Unix.
La strada che portò Apple verso Mac OS X è stata la più logica e la più indolore possibile per la comunità degli sviluppatori: le ultime versioni di Mac OS classico erano composte da una collezione di oltre 8.000 funzioni software (in gergo API, Application Programming Interface) che permettevano di avvalersi di una svariate funzionalità standard (es, creazione, apertura e chiusura delle finestre, gestione del mouse, apertura e chiusura di file, ecc.), lasciando ai programmatori la possibilità di concentrarsi sull’applicazione vera e propria, invece che su compiti ai quali si possono benissimo delegare le API del sistema operativo. Apple stabilì che 2000 delle API del Mac OS classico erano incompatibili con un sistema operativo moderno come Mac OS X. Le API rimanenti (circa 6000) erano perfettamente compatibili con le caratteristiche di Mac OS X e quest’ultime furono ribattezzate Carbon.
Ancora prima del rilascio di Mac OS X era possibile scrivere applicazioni “Carbon compatibili” (e funzionanti quindi sotto Mac OS X) grazie ad un’apposita libreria e a un SDK messo a disposizione da Apple che permetteva ai programmatori di rilasciare in poco tempo applicazioni compatibili. Tutti i più importanti sviluppatori scrissero o modificarono le loro applicazioni rendendole compatibili con Carbon: Microsoft, Macromedia, FileMaker, Quark e tanti, tantissimi altri produttori di software. Bastava pochissimo tempo per rendere le applicazioni compatibili con Carbon: Rob Burgess, CEO di Macromedia, dichiarò allora che grazie a Carbon il porting di Flash per Mac OS X era stato fatto “da un solo ingegnere in una sola settimana”. Niente male, per un sistema operativo completamente nuovo!
Cuore Unix
Il cuore dell’architettura di OS X è Darwin, sistema operativo Open Source di Apple basato su UNIX BSD e che ha come nucleo il kernel Mach. Il kernel è il pezzo più importante di un qualsiasi sistema operativo, essendo responsabile di molte funzionalità di base concernente la comunicazione con l’hardware: gestione degli I/O, memoria e altro. Mach è considerato uno dei kernel più stabili e sicuri oggi esistenti: ottima base sulla quale costruire un sistema operativo. Sopra il kernel Mach troviamo il layer Unix BSD, che è un po’ il cuore del sistema operativo e che consente a Mac OS X di sfruttare numerose e apprezzate utility provenienti dal mondo Unix.
Il motore grafico
Uno dei punti sul quale si concentrò Apple fu il motore grafico del sistema operativo: gli ingegneri di Apple fecero di tutto per mettere a disposizione il meglio delle tecnologie esistenti all’epoca: OpenGL, il motore grafico delle applicazioni più blasonate e dei giochi più rinomati, QuickTime (standard per lo streaming video funzionante sia su Mac sia su PC e che è stato scelto, tra l’altro, come base di partenza per il formato MPEG4) e Quartz, il sottosistema grafico 2D basato sullo standard PDF di Adobe che consente finezze quali la gestione della trasparenza, i canali alfa, l’antialiasing e così via, oltre ad offrire a qualsiasi applicazione, la possibilità di gestire in modo nativo documenti in formato PDF.
I programmatori
Un sistema grafico così potente ed elegante, per essere sfruttato adeguatamente aveva bisogno di strumenti e API all’altezza. Le risposte di Apple in questo senso furono due: Carbon (del quale vi abbiamo già accennato) che ha consentito nella fase iniziale di eseguire una facile migrazione verso il nuovo sistema e Cocoa, un layer completamente object-oriented programmabile in Java e in altri linguaggi object-oriented (es. Object-C) e che è stato alla base di Mac OS X Server e WebObjects, pluripremiato cavallo di battaglia Apple per il mercato enterprise.
La maturità
Dalla prima versione di OS X nel 2001, si sono susseguite nei primi tempi nuove release con aggiornamenti medi nei primi tempi ogni sei mesi. La maturità del sistema ha consentito di allungare poi il ciclo di sviluppo, permettendo di ottenere un sistema stabile e molto affidabile. Ad agosto 2009 Apple con il rilascio di OS X 10.6 Snow Leopard decise di abbandonare i processori PowerPC e abbracciare definitvamente Intel (una transizione ufficializzata nel 2005 con Mac OS X 10.4 ma alla quale Apple aveva segretamente lavorato sin dall’inizio) strategia decisiva che ha permesso alla casa della Mela di raggiungere traguardi incredibili. Rivoluzioni (per qualcuno “affinamenti”) del sistema le abbiamo viste negli anni successivi, con l’arrivo di OS X 10.7 Lion (20 luglio 2011) e OS X 10.8 Mountain Lion (25 luglio 2012). I mesi estivi in arrivo sono quelli nei quali dovremmo probabilmente vedere OS X 10.9: attendiamo con ansia di avere informazioni sul nuovo “felino”. Nel frattempo, buon compleanno OS X!
Nel video qui sopra la presentazione di Steve Jobs al Macworld San Francisco nel Gennaio 2001. Lo staff di Macity era tra il pubblico…
[A cura di Mauro Notarianni]