macOS (pronunciato in inglese come /mæk oʊ ɛs/), precedentemente chiamato OS X e originariamente Mac OS X, è il sistema operativo sviluppato da Apple per i computer Macintosh.
È nato nel 2001 per combinare le note caratteristiche dell'interfaccia utente dell'originario Mac OS Classic, pur rinnovata graficamente per essere più definita e tridimensionale, con l'architettura di un sistema operativo di derivazione UNIX della famiglia BSD.
Nonostante il nome utilizzato fino alla versione 10.7.5, macOS è un'altra versione rispetto a Mac OS, quest'ultimo nato nel 1984 con i primi computer Apple; il sistema venne completamente riscritto ed è di fatto un sistema operativo differente, di tipo UNIX certificato IEEE compatibile al 100% con lo standard POSIX.
È un sistema operativo proprietario: solo dove diversamente indicato sono presenti software liberi o open source, ad esempio lo strato del sistema basato su Darwin che è pubblicato sotto la licenza libera Apple Public Source License.
Storia
Verso la metà degli anni novanta, Apple si trovò a fare i conti con un sistema operativo, Mac OS, che aveva raggiunto i suoi limiti strutturali di sviluppo. L'architettura a multitasking cooperativo era ormai una tecnologia sorpassata e quindi, nel 1994, decise di avviare il progetto Copland, con lo scopo di 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 pubblicato nel 1997). Apple decise quindi di tentare un'altra via, acquistando un sistema operativo esterno e adattandolo all'architettura dei computer Macintosh. I vertici di 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, un'altra compagnia fondata da Steve Jobs dopo il suo licenziamento dalla Apple del 1986.
Dopo il fallimento del progetto del computer fatto per funzionare in simbiosi con il NeXTSTEP, esso era stato convertito per molte altre piattaforme durante i primi anni novanta. 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 erano legati 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. Quest'ultimo 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 non aderì: 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, nel frattempo ritornato a capo dell'azienda, durante il Worldwide Developers 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 sta per dieci, pronunciato "ten" in inglese), che avrebbe preso il meglio dei due precedenti sistemi. Da Rhapsody 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 Player, AppleEvents, AppleScript, ColorSync e altri). I cambiamenti annunciati quindi furono accolti con favore dagli sviluppatori.
Durante lo sviluppo di Mac OS X, gli strati più bassi del sistema operativo, composti dal kernel XNU e dallo strato BSD, vennero 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 a 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 divenne uno scottante argomento di discussione e, vista l'attenzione dedicata al linguaggio dagli sviluppatori e dai media, si cercò di rendere la piattaforma Macintosh lo strumento ideale per lo sviluppo delle applicazioni in Java, includendo nelle API di Cocoa il supporto diretto del linguaggio (originariamente l'unico modo per utilizzare le API era tramite il linguaggio di programmazione Objective C, una versione a oggetti del C, evolutasi parallelamente al C++).
La prima versione del Mac OS X venne presentata nel 2001, con una cadenza degli aggiornamenti quasi semestrale. Con il raggiungimento della maturità del sistema, Apple decise di allungarne i cicli di sviluppo, così da mantenere la piattaforma di sviluppo più stabile e, con Mac OS X Snow Leopard, venne abbandonato il supporto ai processori PowerPC, ma le applicazioni scritte su questa base potevano comunque essere utilizzate grazie a un emulatore chiamato Rosetta, rimosso successivamente in Mac OS X Lion.
A Lion è seguita la release la 10.8, nome in codice OS X Mountain Lion, disponibile per tutti i Macintosh con processore Intel. Il 2 giugno 2014, durante la WWDC, Apple ha annunciato la nuova versione di OS X, la 10.10 denominata Yosemite, la cui beta per gli sviluppatori è stata pubblicata la stessa sera. Yosemite aggiunse molte novità, tra cui Chiamate, Messaggi, una nuova grafica in stile flat (iOS 7). Per la prima volta, con questa versione è stata pubblicata la versione beta anche al primo milione di utenti non sviluppatori che hanno aderito al progetto OS X Public Beta.
L'8 giugno 2015, durante la WWDC, Apple ha annunciato la nuova versione di OS X, la 10.11 denominata El Capitan, la cui beta per gli sviluppatori è stata pubblicata la stessa sera. Una delle modifiche principali a livello di sistema è l'introduzione della tecnologia Metal, che consente di migliorare la gestione della grafica, ottimizzando l'interazione tra la CPU principale e il processore grafico. Secondo Apple infatti, questa tecnologia consente un incremento della velocità di rendering fino al 50% e un aumento di efficienza fino al 40%.
Nel corso della WWDC 2016 è stata annunciata una nuova versione del sistema operativo, che assume la denominazione di macOS Sierra. Tra le novità presentate nel corso della conferenza figurano la presenza di Siri e la possibilità di liberare spazio sul disco eliminando automaticamente i duplicati e trasferendo su iCloud i file meno utilizzati sul Mac, oltre alla funzionalità di condivisione della scrivania e dei documenti del Mac su iCloud, in modo tale da accedervi da un altro dispositivo, come un iPhone o un iPad.
Descrizione Come iOS, macOS è utilizzabile unicamente su dispositivi Apple, essendo sistemi operativi completamente progettati dal costruttore/sviluppatore per hardware proprietario (e viceversa). Caratteristiche Usa il Portable Document Format (PDF) come base per il motore grafico Quartz. OpenGL e Metal vengono utilizzati 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 e con Mac OS X 10.7 a 1024×1024). Utilizzo di ombre attorno alle finestre e agli elementi isolati, in modo tale da 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). 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. OpenGL (dalla versione 10.2): gestore di finestre nello schermo con accelerazione hardware. La tecnologia è chiamata Quartz Extreme. Mission Control (già Exposè dalla versione 10.3 fino alla 10.6): tramite la pressione di un tasto mostra tutte le finestre miniaturizzandole sullo schermo. 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. Assistente 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. OpenCL (dalla versione 10.6): sfruttamento dell'acceleratore grafico hardware (schede grafiche) per l'elaborazione di compiti diversi dal rendering video, utilizzando le GPU come coprocessori matematici. Grand Central Dispatch (GCD) (dalla versione 10.6): sfruttamento dei multiprocessori e/o multicore a ogni livello di scalabilità, regolando in modo dinamico i thread multipli a vantaggio del multitasking e reattività del sistema.
Specifiche
macOS include tutte le più comuni utility e shell UNIX, una macchina Java completa implementata nativamente e i principali linguaggi di scripting come: Perl, PHP, Tcl, Ruby e Python ed è certificato da The Open Group come conforme allo standard UNIX 03, dalla versione 10.5 in poi.
macOS è stato creato combinando: