mac os x

« Older   Newer »
  Share  
cri 4444
view post Posted on 5/9/2009, 11:43




Mac OS X (pronuncia /mæk oʊ ɛs tɛn/, o, all'italiana, mac o esse dieci) è il sistema operativo sviluppato da Apple Inc. per i computer Macintosh, nato nel 2001 per combinare le note caratteristiche dell'interfaccia utente del Mac OS originale con la stabilità e le prestazioni di un potente sistema operativo di derivazione Unix.

Mac OS X non è semplicemente la versione 10 del popolare Mac OS nato nel 1984 con il primo computer Macintosh: è stato completamente riscritto ed è di fatto un sistema operativo differente.

Mac OS X è stato creato combinando Darwin, un ambiente open source derivato da Unix (basato sul sistema operativo FreeBSD) e kernel XNU, un kernel basato sul microkernel Mach, con una interfaccia grafica (GUI), chiamata Aqua, sviluppata da Apple Computer. Il sistema operativo ha avuto il suo primo rilascio commerciale nel 2001. È implementato per processori IBM PowerPC G3, Motorola PowerPC G4 e IBM PowerPC G5 e processori Intel (dovrebbe funzionare su tutti i processori con istruzioni SSE2); Apple ha rilasciato il codice sorgente del core del sistema con licenza open source.


Verso la metà degli anni Novanta, Apple si è trovava a fare i conti con un sistema operativo che aveva raggiunto i suoi limiti strutturali di sviluppo. L'architettura a multitasking cooperativo era oramai una tecnologia sorpassata e quindi nel 1994 decise di avviare il progetto Copland, con lo scopo creare un nuovo sistema operativo moderno e libero dalle limitazioni tecniche del precedente Mac OS. Il progetto fallì nel 1996 per motivazioni tecniche e di politica interna (alcune migliorie di Copland vennero integrate nel Mac OS 8 rilasciato nel 1997). Apple decise quindi di tentare un'altra strada, acquistando un sistema operativo esterno e adattandolo all'architettura Macintosh.

I vertici dell'Apple sondarono il mercato alla ricerca del nuovo sistema operativo e, dopo una travagliata trattativa prima con Be Incorporated e poi con NeXT, alla fine decisero di optare per OpenStep. Acquisirono dunque la NeXT, la compagnia che era stata fondata da Steve Jobs dopo la sua estromissione da Apple del 1986.

Dopo il fallimento del progetto del computer fatto per funzionare in simbiosi col NeXTSTEP, esso venne convertito per molte altre piattaforme durante i primi anni Novanta. Purtroppo non divenne mai popolare per via degli alti costi delle licenze (in particolare le licenze per gli sviluppatori erano molto costose e quindi scoraggiavano la maggior parte dei programmatori). NeXT giustificava l'alto prezzo delle licenze affermando che agli alti costi era legata anche un'alta qualità del software, ma questa giustificazione non convinse il mercato. Successivamente NeXT fece evolvere NeXTSTEP in OpenStep, una tecnologia che separava il livello applicativo da quello della gestione dell'hardware demandandolo a un sistema operativo sottostante; con questa tecnologia si poteva far funzionare un applicativo OpenStep su molte piattaforme con minime modifiche. Durante quegli anni anche altre compagnie software si stavano muovendo nel campo della programmazione a oggetti. In particolare società come IBM, Apple e Microsoft stavano studiando e realizzando nuovi sistemi operativi e i relativi programmi di sviluppo orientati agli oggetti (anche se alcune iniziative fallirono, come ad esempio il progetto Taligent).

I piani di sviluppo originali prevedevano la realizzazione di un nuovo sistema operativo basato sulle librerie OpenStep in cui i programmi scritti per i precedenti Mac OS sarebbero stati eseguiti da un emulatore che li avrebbe separati dal nuovo sistema operativo. Il nuovo sistema operativo aveva il nome in codice di Rhapsody, e doveva essere disponibile per la fine del 1998.

I manager Apple si aspettavano che gli sviluppatori portassero i loro programmi sulla nuova piattaforma basata sulle librerie OpenStep, dato che queste consentivano uno sviluppo più flessibile, elegante e veloce delle applicazioni. La maggior parte degli sviluppatori tuttavia si rifiutò: la piattaforma Macintosh appariva al termine della sua vita e gli sviluppatori non volevano dedicare molto tempo e denaro allo sviluppo di programmi per una piattaforma che stava morendo.

I piani cambiarono radicalmente nel 1999, quando Steve Jobs, durante il Worldwide Developer Conference (conferenza degli sviluppatori Macintosh), annunciò l'abbandono del progetto Rhapsody. Al suo posto gli sviluppatori Apple avrebbero realizzato una versione moderna del Mac OS chiamato Mac OS X (X stava per decimo), che avrebbe preso il meglio dei due precedenti sistemi. Da Raphsody sarebbero arrivati il kernel e i servizi principali, l'ambiente POSIX e OpenStep, che avrebbe preso il nuovo nome Cocoa. Per semplificare l'adozione del nuovo sistema da parte degli sviluppatori, sarebbe stato sviluppato Carbon, una riscrittura per il nuovo sistema delle vecchie API del Mac OS. In più alcune tecnologie importanti nate su Mac OS sarebbero state portate nel nuovo sistema (QuickTime, AppleEvents, Applescript, ColorSync ed altro ancora). I cambiamenti annunciati furono accolti con favore dagli sviluppatori.

Durante lo sviluppo di OS X, gli strati più bassi del sistema operativo, composti dal kernel XNU e dallo strato BSD, sono stati riorganizzati e ridistribuiti con una licenza open source, la Apple Public Source License. Il pacchetto completo si chiama Darwin. Darwin fornisce un sistema operativo molto stabile, solido ed efficiente, anche paragonato agli altri sistemi operativi di derivazione Unix, sebbene non sia molto diffuso al di fuori della comunità Macintosh. Un'altra modifica sostanziale rispetto all'OpenStep è l'abbandono del motore grafico basato sul linguaggio PostScript in favore di un motore grafico senza licenze chiamato Quartz basato su PDF. Durante la fase finale di sviluppo il linguaggio Java è diventato uno scottante argomento di discussione e, vista l'attenzione dedicata al linguaggio dagli sviluppatori e dai media, si è cercato di rendere la piattaforma Macintosh lo strumento ideale per lo sviluppo delle applicazioni in Java. Questo lo si è ottenuto includendo nelle API di Cocoa il supporto diretto del linguaggio Java. Originariamente l'unico modo per utilizzare le API OpenStep era tramite il linguaggio di programmazione Objective C, una versione ad oggetti del C evolutasi parallelamente al C++, ma che non ha raggiunto sufficiente notorietà e diffusione.

La prima versione del Mac OS X venne presentata nel 2001. Di seguito gli aggiornamenti si sono susseguiti con una cadenza quasi semestrale. Col raggiungimento della maturità del sistema, Apple ha deciso di allungarne i cicli di sviluppo, così da mantenere la piattaforma di sviluppo più stabile.



Mac OS X manteneva, fino al rilascio della versione Leopard, una retrocompatibilità quasi assoluta con le applicazioni Macintosh anche molto datate grazie alla caratteristica di poter caricare, all'occorrenza, il Mac OS Classic in una macchina virtuale, all'interno di un apposito task. Una tecnologia simile chiamata Rosetta viene utilizzata per permettere l'utilizzo delle applicazioni compilate per processori PowerPC su macchine Intel.

Esiste una versione di Mac OS X ottimizzata per l'uso sui server, questa è identico alla versione desktop eccetto per l'inclusione di una serie di programmi atti alla gestione dei diversi servizi di rete inclusi nel sistema operativo. I principali comprendono un server mail, il gestore di reti SMB Samba, un server LDAP e un server DNS.


Molti degli utenti Mac OS X (e non) considerano la GUI Aqua la migliore interfaccia grafica esistente. È stata imitata da molti, esistono infatti diversi programmi che permettono a sistemi operativi diversi di imitare l'interfaccia grafica del Mac OS X.

Il sistema Mac OS X ha trasformato Apple nella compagnia col maggior numero di installazioni Unix vendute al mondo.

A partire dalla versione 10.5, Mac OS X è certificato UNIX 03 dal The Open Group, un'organizzazione nata per certificare l'appartenenza dei sistemi operativi alla famiglia Unix.[1]

Mac OS X (nella versione PPC) è compatibile con moltissime applicazioni scritte per le precedenti versioni di Mac OS. Questa compatibilità è ottenuta tramite il Classic: una macchina virtuale sulla quale viene installato Mac OS 9, di conseguenza le applicazioni "vecchie" non sono in grado di comunicare con le applicazioni scritte per Mac OS X né sono in grado di avvantaggiarsi delle nuove caratteristiche del Mac OS X. In aggiunta a Classic, le API Carbon hanno consentito una veloce conversione di molti applicativi da Mac OS 9 a Mac OS X. Un'altra opzione possibile per gli sviluppatori è realizzare programmi utilizzando il linguaggio Java, dato che Mac OS X supporta nativamente la tecnologia Java. Le API NEXTStep/OpenStep sono disponibili dal momento che Apple le ha incluse nel sistema operativo con nome di API Cocoa. L'eredità del NeXTSTEP è ancora presente, si nota anche dal fatto che molte primitive iniziano con la sigla "NS" (contrazione di NEXTStep).

Mac OS X è in grado di eseguire direttamente molti programmi per BSD o GNU/Linux attraverso una compilazione dei sorgenti. Esistono vari progetti che provvedono a rendere disponibili molti programmi precompilati: ciò evita all'utente di dover configurare e compilare i sorgenti, un'operazione non sempre agevole, dato che spesso deve essere eseguita da linea di comando. I più famosi sono il progetto Fink e il progetto DarwinPorts .

La versione 10.3 è la prima che include Apple X11, la versione Apple del gestore grafico X11 per applicazioni Unix, fornito come componente opzionale dall'installazione standard. L'Apple X11 si basa sul progetto XFree86 versione 4.3 e X11R6.6 e fornisce un gestore grafico integrato col Mac OS X, dato che condivide lo stesso aspetto delle finestre, utilizza la tecnologia Quartz per il disegno dell'interfaccia grafica e si avvantaggia dell'accelerazione OpenGL. Esempi di applicazioni per Mac OS X che utilizzano server X11 sono OpenOffice.org per Mac e Gimp per Mac.


Usa il Portable Document Format (PDF) come base per il motore grafico Quartz
OpenGL viene utilizzato per la gestione e il ridisegno della grafica tridimensionale
Icone a 16 milioni di colori, scalate con continuità (fino a un massimo di 128×128 pixel, con Mac OS X 10.5 il limite è stato portato a 512×512)
Utilizzo di ombre attorno alle finestre e agli elementi isolati per fornire un senso di profondità
Correttore ortografico incluso in tutte le finestre editabili e altri servizi derivati dalla tecnologia NeXT
Antialiasing su tutti gli elementi dell'interfaccia grafica
Nuovi elementi dell'interfaccia come le finestre non-modali (finestre di dialogo collegate alle finestre principali, utilizzate per fornire una chiara indicazione visuale della provenienza delle finestre)
Riquadri sovrapponibili (l'organizzazione delle finestre può parzialmente sovrapporsi se è utile)
Supporto del gestore colori ColorSync integrato nel motore grafico (per stampa e multimedia a livello professionale)
OpenGL (dalla versione 10.2) gestore di finestre nello schermo con accelerazione hardware. La tecnologia viene chiamata Quartz Extreme
Exposé (dalla versione 10.3) tramite la pressione di un tasto mostra tutte le finestre miniaturizzandole sullo schermo
Uso pervasivo dell'Unicode all'interno del sistema operativo
Architettura a strati per le localizzazioni, in modo da separare il codice dai messaggi di testo da localizzare
FileVault (dalla versione 10.3) utilizzato per cifrare e decifrare in modo trasparente la cartella principale dell'utente con Advanced Encryption Standard (AES) con chiave a 128-bit
Dashboard (dalla versione 10.4) supporto di mini applicazioni richiamabili con la pressione di un tasto
Spotlight (dalla versione 10.4) tecnologia di ricerca integrata nel sistema operativo che indicizza file e messaggi per una ricerca istantanea nell'hard disk
Automator (dalla versione 10.4) un applicativo creato per programmare graficamente operazioni ripetitive
Time Machine (dalla versione 10.5) un sistema di backup incrementale automatico
Boot Camp (dalla versione 10.5) un applicativo creato per facilitare l'installazione di Windows sui mac con CPU Intel
Spaces (dalla versione 10.5) un applicativo in grado di moltiplicare virtualmente i desktop.



 
Top
0 replies since 5/9/2009, 11:43   21 views
  Share