Darwin (käyttöjärjestelmä)

**Darwin** on vapaa POSIX-yhteensopiva käyttöjärjestelmä, jota Apple kehitti 1999&ndash;2005. Darwin pohjautuu 386BSD:hen. Applen APSL-lisensoidun lähdekoodin lisäksi siinä on osia Nextstepistä ja muista avoimen lähdekoodin projekteista.
Darwin koostuu käyttöjärjestelmän avoimen lähdekoodin osista, joiden päälle Apple rakensi macOS- ja iOS-käyttöjärjestelmänsä.

Darwinin merkittävimpiä tekniikoita ovat Mach 3.0:een perustuva XNU-ydin, FreeBSD 5 -jakelun kanssa yhteensopivat järjestelmäpalvelut, suorituskykyiset verkko-ominaisuudet ja tuki useille tiedostojärjestelmille.

## Lisenssi
Alun perin Darwinin lisenssinä ollut APSL ei täyttänyt Free Software Foundationin vapaiden ohjelmistojen lisensseille asettamia kriteereitä. Open Source Initiativen avoimen lähdekoodin lisenssien kriteerit samainen lisenssi kuitenkin täytti.

Kesäkuussa 2003 Apple julkaisi Darwinin APSL 2.0 -lisenssillä, joka täyttää myös Free Software Foundationin asettamat kriteerit. Tuolloin Apple sai myös rekisteröityä Darwinin kaupalliset jakeluversiot Mac OS X 10.5 Leopard ja Mac OS X 10.6 Snow Leopard UNIX 03 -sertifikaatin mukaisina tuotteina.

## Julkaisut
Apple julkaisi Darwinista uuden version aina uuden OS X -järjestelmän rinnalla versioon 8 asti.

Darwin versioon 8.0.1 asti (vuoteen 2005) Apple julkaisi asennusohjelma CD-ISO-levykuvana, jolla käyttöjärjestelmän voi asentaa puhtaalta pöydältä PowerPC- tai PC-yhteensopiviin tietokoneisiin.
Apple ei enää tue käyttöjärjestelmää, mutta julkaisee sivustollaan lisenssivaatimusten mukaisesti eri ohjelmapakettien lähdekoodit ja itse kehittämiään avoimen lähdekoodin paketteja.

Oman, varsinaisen Darwin-julkaisunsa lisäksi Apple perusti yhdessä Internet Systems Consortiumin kanssa vuonna 2002 yhteisöllisen *OpenDarwin*-hankkeen, jonka tarkoituksena oli lisätä yhteistyötä Applen ja vapaiden ohjelmistojen yhteisön välillä.
Hanke kuitenkin lakkautettiin vuonna 2006 kiinnostuksen puutteen vuoksi. Vaikka tarkoituksena oli oikea käyttöjärjestelmä, OpenDarwinista tuli lopulta projekti, josta vain Apple hyötyi ilmaiseksi tehtävän työn ansiosta.

Vuonna 2008 entinen OpenDarwin-yleisö perusti uuden jakelun PureDarwinin.
PureDarwinin tarkoituksena on saada aikaan CD-levyltä käynnistyvä asennuspaketti, jolla Darwinin voi saada käyttöönsä. Käyttöjärjestelmään on saatu 2021 toimimaan virtuaalikoneessa X11 ja ZFS-tiedostojärjestelmä, mutta verkkoa ei ole, eikä käyttöjärjestelmään sisäänkirjautuminen käyttäjätilassa tai sammuttaminen toimi.
Apple on vetänyt jakelusta monet käyttöjärjestelmän peruskomponenteista, eivätkä launchd, verkkoyhteydet, monen käyttäjän tila tai järjestelmän sammuttaminen tai uudelleenkäynnistäminen toimi ilman näitä.

## Komponentit
***XNU-ydin**
***Streaming Server** &ndash; avoimen lähdekoodin versio Applen QuickTime Streaming Server -teknologiasta. Mahdollistaa erityyppisten datavirtojen lähettämisen ja vastaanottamisen useilla eri alustoilla.
***Bonjour** &ndash; Zeroconf-verkottautumisteknologia, joka etsii laitteita verkosta ja tekee asetukset käyttäjän puolesta.
***[[WebKit]]** &ndash; Applen www-sivujen mallintamiseen tarkoitettu kehitysohjelmisto, joka koostuu kahdesta pienemmästä rungosta, WebCoresta ja JavaScriptCoresta. WebKit pohjautuu KDE-projektin KHTML-ohjelmistopakettiin, ja sitä käytetään esimerkiksi Safari-selaimen runkona.
***Käännöstyökalut** &ndash; ohjelmistokehityspaketti, joka sisältää GNU Compiler Collectionin ja GNU Debuggerin, sekä komentosarjakielityökaluja, joilla voidaan automatisoida usein toistuvia tehtäviä.
***HeaderDoc** &ndash; työkalu lähdekoodin dokumentaation kirjoittamiseen ja muokkaamiseen.
***OpenDirectory** &ndash; jakaa hakemistot, niiden tiedostot ja asetukset lähiverkossa. 
***OpenPlay** &ndash; socket-pohjainen verkon abstrahointikerros, jonka tarkoitus on yksinkertaistaa ja yhdenmukaistaa verkossa käytävää liikennettä eri ohjelmien välillä.
***Security** &ndash; X.509-sertifikaatin mukainen rautalankamalli, joka toimii pohjana Mac OS X:n tietoturvamäärityksille. Pohjautuu CDSA-arkkitehtuuriin ja mahdollistaa erilaisten salakirjoitus- sekä suojausasetusten määrittelyn ja luonnin.
***[[X11]]** &ndash; XFree86-projektille perustuva ikkunointi xtermin kaltaisille perustyökaluille.
***A/G BLAST** &ndash; hakutyökalujen runko. BLAST (**B**asic **L**ocal **A**lignment **S**earch **T**ool) on Applen muokkaama ja jatkokehittelemä relaatiotietokantamoottori, joka kykenee vastaamaan ihmisten esittämiin suoriin kysymyksiin hyvin ihmismäisillä vastauksilla. BLAST on alun perin tutkijoiden kehittämä ja bioinformatiikassa käyttämä algoritmi.

Darwin ei sisällä tukea Applen MacOS-yhteensopiville Carbon tai Cocoa -rajapinnoille, Quartz Compositor -ikkunointia tai Quartz-rajapintaa tai Aqua-käyttöliittymää, eikä sillä siten voi ajaa graafisia Mac-ohjelmia.

## Darwin-ohjelmistot

Darwinin vapaan lähdekoodin luonteesta johtuen alustalle on kehitteillä useita avoimen lähdekoodin ohjelmistoja, jotka pyrkivät parantelemaan Darwinin ominaisuuksia ja korjaamaan sen puutteita. Tällaisia ovat esimerkiksi:

*langattomien verkkojen tuki
*tuki modeemeille
*tuki Ext2- ja Ext3 -tiedostojärjestelmille
**Darwine* &ndash; Darwinille käännetty Wine
**DarwinPorts* &ndash; ohjelmistojen asennus- ja päivitystyökalu
**[[RPM Package Manager|RPM]] for Darwin* &ndash; ohjelmistopakettien hallinta
**pkgsrc* &ndash; NetBSD:stä käännetty paketinhallintajärjestelmä
**Fink*
**SEDarwin* &ndash; Darwinille käännetty SELinux
* WebKit
* Window Maker

## Maskotti
Darwinin kehittäjät ottivat vesinokkaeläin *Hexleyn* maskotikseen vuonna 2000. Apple ei tunnusta Hexleytä käyttöjärjestelmän viralliseksi logoksi.

## Lähteet

## Aiheesta muualla
### Yleistä tietoa
*Applen Darwin-kehittäjäsivut
*Hexley, Darwin-maskotti
*Apple Public Source License 2.0 (APSL) 
*Free Software Foundationin mielipide APSL:stä
*The GNU/Darwin distribution 

### Dokumentaatiota
*Erot Mac OS X:n ja BSD:n välillä
* Darwinin viittauskirjasto
* Mac OS X:n teknologiakatsaus: sanasto