Darwin

Darwin è un sistema operativo open source POSIX-compliant rilasciato da Apple Inc. nel 2000. E’ composto da codice sviluppato da Apple, e anche da codice derivato da NeXTSTEP, BSD e altri progetti software free.

Darwin forma il core delle componenti sulle quali OS X e iOS sono basati. Esso è compatibile con la Single UNIX Specification versione 3 (SUSv3) e gli applicativi ed utility UNIX POSIX.

Storia

L’eredità di Darwin iniziò con il sistema operativo NeXTSTEP di NeXT (successivamente noto come OPENSTEP), rilasciato per la prima volta nel 1989. Dopo l’acquisizione di NeXT da parte di Apple nel 1997, essa annunciò che avrebbe basato il proprio sistema operativo seguente su OPENSTEP. Questo portò a Rhapsody nel 1997, Mac OS X Server 1.0 nel 1999, Mac OS X Public Beta nel 2000, e Mac OS X 10.0 nel 2001. Nel 2000, le componenti core del sistema operativo di Mac OS X furono rilasciare come software open-source sotto la licenza Apple Public Source License (APSL) come Darwin; le componenti di alto livello, come i framework Cocoa e Carbon, rimasero sorgenti chiusi.

Fino a Darwin 8.0.1, Apple rilasciava un installer binario (in forma di immagine ISO) dopo ogni major release di Mac OS X, e ciò consentiva a chiunque di installare Darwin su computer PowerPC e Intel x86 come sistema operativo autonomo. Gli aggiornamenti minori venivano rilasciati come pacchetti da installare separatamente. Darwin è adesso disponibile solo come codice sorgente, eccetto la variante ARM, la quale non è stata rilasciata sotto nessuna forma separatamente da iOS. Comunque, le vecchie versioni di Darwin sono ancora disponibili in forma binaria, ed uno sviluppatore hobbysta ha preso i sorgenti ufficiali di Darwin e li ha portati su ARM.

Design

Kernel. Darwin è costruito su XNU, un kernel ibrido che combina il microkernel Mach 3, vari elementi di BSD (incluso il modello dei processi, il network stack e il virtual file system), e una API di device driver object-oriented denominata I/O Kit. Il design di kernel ibrido crea un compromesso tra la flessibilità di un microkernel e le prestazioni di un kernel monolitico.

Supporto hardware e software. Darwin attualmente include il supporto per la variante 64-bit x86-64 dei processori Intel x86 utilizzati nei pc Mac e i processori ARM 64-bit usati nell’iPhone 5S, così come i processori ARM 32-bit usati nell’iPhone, nell’iPod Touch, nell’iPad e nella seconda e terza generazione delle Apple Tv. Un port open-source di XNU esiste per il supporto di Darwin su piattaforme AMD e Intel x86 (32-bit) senza l’appoggio ufficiale di Apple, sebbene non sembra essere stato aggiornato dal 2009. Esiste un porting open-source di XNU anche per le piattaforme ARM. Le versioni più vecchie supportavano alcune o tutte le architetture PowerPC 32-bit, PowerPC 64-bit e x86 32-bit.

Darwin supporta la POSIX API per mezzo della sua eredità BSD e una grande quantità di programmi scritti per vari altri sistemi Unix-like può essere compilata su Darwin senza modifiche al codice sorgente.

Darwin non include molti degli elementi identificativi di Mac OS X, come le API Carbon e Cocoa, o il Quartz Compositor e l’interfaccia utente Aqua, e quindi non può eseguire applicazioni Mac. Esso comunque supporta un numero di feature meno conosciute di Mac OS X, come mDNSResponder, che è il risponditore multicast DNS e una componente core della tecnologia network Bonjour, e Launchd, un framework avanzato di gestione servizi.

Licenza

Nel luglio 2003, Apple ha rilasciato Darwin sotto la versione 2.0 della Apple Public Source License (APSL), la quale è approvata come licenza free software dalla Free Software Foundation. Le versioni precedenti erano state rilasciate sotto una versione precedente della APSL, che non incontrava la definizione di free software della FSF, sebbene corrispondeva ai requisiti della definizione di Open Source.

Mascot

Darwin logo - Hexley the PlatypusGli sviluppatori Darwin decisero di adottare una mascot nel 2000, e scelsero Hexley l’ornitorinco, tra altri contendenti quali un pesce Aqua Darwin, Clarus il Dogcow (“muccane”) e un’orca. Hexley è un ornitorinco animato che generalmente indossa un cappello che assomiglia alle corna di un demone. Porta un tridente, simile a quello del demone BSD, per simbolizzare il forking dei processi daemon. Hexley è stato disegnato da Jon Hooper. Apple non riconosce Hexley come logo di Darwin.

Il nome di Hexley è stato un errore: avrebbe dovuto essere originariamente nominato in onore di Thomas Henry Huxley, un biologo inglese del 19° secolo che era un famoso sostenitore della teoria dell’evoluzione di Charles Darwin (soprannominato “il bulldog di Darwin”). Comunque, l’ignoranza ha portato non solo a un errore nel nome di Hexley, ma anche su chi si pensava che fosse. Gli sviluppatori apparentemente pensarono che fosse semplicemente l’assistente di Darwin, quando in effetti egli era un eminente biologo per proprio conto. Quando l’errore venne scoperto, era ormai troppo tardi per cambiare, e il nome errato “Hexley” venne mantenuto.

Storia delle release

Questa è una tabella delle major release di Darwin con le rispettive date di rilascio e la corrispondente versione di Mac OS X. Si noti che la versione corrispondente di Mac OS X può essere stata rilasciata in una data diversa.

VersioneDataRelease corrispondenteNote
0.116 marzo 1999Mac OS X DP0.1 è contratto (per ordinamento e identificazione) dato che la versione effettiva interna è Mac OS 10.0
0.210 novembre 1999Mac OS X DP2
1.0Febbraio 2000Mac OS X DP3
1.15 aprile 2000Mac OS X DP4
1.2.115 novembre 2000Mac OS X Public BetaNome in codice "Kodiak"
1.3.113 aprile 2001Mac OS X v10.0Prima release commerciale di Darwin
1.3.121 giugno 2001Mac OS X v10.0.4Tutte le release di "Cheetah" (10.0–10.0.4) avevano la stessa versione di Darwin
1.4.12 ottobre 2001Mac OS X v10.1Miglioramenti alle prestazioni nel "tempo di boot, threat real-time, gestione thread, cache flushing, gestione della preemption". Il supporto per network file system SMB. Wget sostituito con cURL.
5.112 novembre 2001Mac OS X v10.1.1Cambio schema di numerazione per corrispondere allo schema di build di Mac OS X. (es. Mac OS X v10.1 contiene build number a partire da 5 così Mac OS X v10.1.1 è adesso basato su Darwin 5.1; es: 10.1 significa 5, 10.1.1 significa 5.1, ecc.)
5.55 giugno 2002Mac OS X v10.1.5Ultima release di "Puma"
6.0.123 settembre 2002Mac OS X v10.2(Darwin 6.0.2)GCC aggiornato da 2 a 3.1, supporto IPv6 e IPSec, servizio mDNSResponder discovery daemon (Rendezvous), aggiunta di CUPS, Ruby e Python, supporto journaling in HFS+ (Darwin 6.2), profili applicazione ("pre-heat files) per avvio programmi pià rapido.
6.83 ottobre 2003Mac OS X v10.2.8Ultima release di "Jaguar"
7.024 ottobre 2003Mac OS X v10.3Layer BSD sincronizzato con FreeBSD 5, deframmentazione file automatica, hot-file clustering, e case sensitivity opzionale in HFS+, bash invece di tcsh come shell di default, supporto sola lettura NTFS (Darwin 7.9)
7.915 aprile 2005Mac OS X v10.3.9Ultima release di "Panther"
8.029 aprile 2005Mac OS X v10.4
Mac OS X forApple TV(Darwin 8.8.2)
Interfaccia stabile di programmazione kernel, finer-grained kernel locking, strato BSD 64-bit, framework launchd per gestione servizi, attributi file estesi, access control lists, comandi come cp e mv aggiornati per preservare attributi estesi e resource forks.
8.1114 Novembre 2007Mac OS X v10.4.11Ultima release di"Tiger"
9.026 ottobre 2007iPhone OS 1(Darwin 9.0.0d1)
Mac OS X v10.5
Piena compatibilità POSIX, aggiornato modello di scheduling gerarchico dei processi, file di swap allocati dinamicamente, limiti risorse dinamici (per file e processi), sandboxing dei processi, randomizzazione addres space layout, framework DTrace, demone eventi file system, directory hard links, Apache 1.3 e PHP 4 aggiornati ad Apache 2.2 e PHP 5, supporto sola lettura ZFS.
9.85 agosto 2009Mac OS X v10.5.8Ultima release di "Leopard"
10.028 agosto 2009Mac OS X v10.6
iOS 4
Fine supporto ufficiale per architettura PowerPC (nonostante numerosi binari fat, come il kernel, contengono ancora immagini PPC), driver e kernel a 64-bit, framework di parallelizzazione libdispatch, OpenCL, framework heterogeneous computing, supporto per blocks in C, compressione file trasparente in HFS+.
10.823 giugno 2011Mac OS X v10.6.8Ultima release di "Snow Leopard"
11.0.020 luglio 2011Mac OS X v10.7iOS 5[21]XNU non supporta più binari PPC (fat binary solo per i386, x86-64). XNU richiede processore x86_64. Migliorato sandboxing applicazioni.
11.4.01 febbraio 2012Mac OS X v10.7.4"Lion"
11.4.24 ottobre 2012Mac OS X v10.7.5"Ultima versione supplementare di Lion"
12.0.016 febbraio 2012OS X v10.8Nome in codice "Mountain Lion", la parola "Mac" è stata rimossa dal nome.
12.3.06 gennaio 2013OS X v10.8.2Nuova versione di Darwin in OS X 10.8.2
12.4.04 giugno 2013OS X v10.8.4Nuova versione di Darwin in OS X 10.8.4
12.5.012 settembre 2013OS X v10.8.5Nuova versione di Darwin in OS X 10.8.5
13.0.0June 11, 2013iOS 6 and OS X v10.9OS X v. 10.9 è denominato "Mavericks"
14.0.018 settembre 2013iOS 7

Fonte: Wikipedia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.