Sia Mac OS X, il sistema operativo utilizzato sui computer desktop e notebook Apple, sia Linux si basano sul sistema operativo Unix, che è stato sviluppato dai Bell Labs nel 1969 da Dennis Ritchie e Ken Thompson. Il sistema operativo utilizzato sugli iPhone di Apple, ora chiamato iOS , è derivato da Mac OS X e quindi anche una variante Unix.
Come tutte le principali distribuzioni Linux, come Ubuntu, Red Hat e SuSE Linux, Mac OS X ha un "ambiente desktop" che fornisce un'interfaccia utente grafica ai programmi applicativi e alle impostazioni di sistema. Questo ambiente desktop è basato su un SO di tipo Unix proprio come gli ambienti desktop delle distribuzioni Linux sono costruiti sul sistema operativo Linux principale. Tuttavia, le distribuzioni Linux di solito offrono ambienti desktop alternativi oltre a quelli installati di default. Mac OS X e Microsoft Windows non offrono agli utenti la possibilità di cambiare gli ambienti desktop, a parte le piccole regolazioni look-and-feel come le combinazioni di colori e le dimensioni dei caratteri.
Le radici comuni di Linux e OS X
L'aspetto pratico delle radici comuni di Linux e Mac OS X è che entrambi seguono lo standard POSIX. POSIX è sinonimo di Interfaccia del sistema operativo portatile per sistemi operativi Unix-like . Questa compatibilità rende possibile compilare applicazioni sviluppate su Linux su sistemi Mac OS X. Linux fornisce anche opzioni per compilare applicazioni su Linux per Mac OS X.
Come le distribuzioni Linux, Mac OS X include a terminale applicazione, che fornisce una finestra di testo in cui è possibile eseguire comandi Linux / Unix. Anche questo terminale viene spesso definito come riga di comando o conchiglia o finestra di shell . È l'ambiente basato su testo che le persone utilizzavano per far funzionare i computer prima che l'interfaccia utente grafica diventasse disponibile. È ancora ampiamente utilizzato per i processi automatizzati di amministrazione e scripting di sistema.
Il popolare bash shell è disponibile in Mac OS X, incluso Mountain Lion, dato che si trova praticamente in tutte le distribuzioni Linux. La shell Bash consente di attraversare rapidamente il file system e avviare applicazioni basate su testo o grafiche.
In una shell / riga di comando, puoi usare tutti i tuoi comandi di base Linux / Unix e shell come ls , CD , gatto , e Di Più . Il file system è strutturato come in Linux, con partizioni / directory come usr , var , eccetera , dev , e casa in alto, anche se ci sono alcune cartelle aggiuntive in OS X.
I linguaggi di programmazione di base dei sistemi operativi di tipo Unix come Linux e Mac OS X sono C e C ++. Gran parte del sistema operativo è implementato in questi linguaggi e molte applicazioni di base sono implementate anche in C e C ++. Anche linguaggi di programmazione di livello superiore come Perl e Java sono implementati in C / C ++.
Apple fornisce il Obiettivo C linguaggio di programmazione incluso l'Xcode IDE (Integrated Development Environment) per supportare lo sviluppo di applicazioni per OS X e iOS.
Come Linux, OS X include un forte supporto Java e attualmente fornisce un'installazione personalizzata di Java per garantire un'integrazione perfetta delle applicazioni Java in OS X. Include inoltre versioni basate sul terminale degli editor di testo Emacs e VI, che sono popolari sui sistemi Linux. Versioni con più supporto per la GUI possono essere scaricate dall'AppStore di Apple.
Major Differences
Una delle differenze tra Linux e Mac OS X è il cosiddetto kernel. Come indica il nome, il kernel è il cuore di un sistema operativo di tipo Unix e implementa funzioni come la gestione dei processi e della memoria, nonché i file, i dispositivi e la gestione della rete. Quando Linus Torvalds ha progettato il kernel Linux, ha optato per quello che viene definito un kernel monolitico per motivi di prestazioni, al contrario del microkernel, che è stato progettato per una maggiore flessibilità. Mac OS X utilizza un design del kernel che compromette tra queste due architetture.
Mentre Max OS X è per lo più noto come sistema operativo desktop / notebook, le versioni recenti di OS X possono anche essere utilizzate come un sistema operativo server, anche se è necessario acquisire l'App Server del pacchetto aggiuntivo per ottenere l'accesso a tutti i server specifici applicazioni. Linux, tuttavia, rimane il sistema operativo server dominante.