Darwin (sistema operativo)

Darwin
sistema operativo
OpenDarwin con il desktop environment GNOME
SviluppatoreApple
FamigliaBSD
Release iniziale0.1 (16 marzo 1999)
Release corrente23.3.0 (22 gennaio 2024)
Tipo di kernelXNU
Piattaforme supportatex86, PowerPC, ARM
Tipo licenzaSoftware libero
LicenzaAPSL
Stadio di sviluppoin produzione
PredecessoreNeXTSTEP
Sito weblists.apple.com/mailman/listinfo/darwin-kernel

In informatica, Darwin è un sistema operativo libero con kernel XNU. Insieme ad altri componenti, come i Core frameworks, gli Application frameworks (Cocoa, Carbon e Java) e l'interfaccia grafica proprietaria Aqua, forma il sistema operativo macOS. Darwin è anche implementato nei sistemi operativi per dispositivi mobili Apple, iOS e iPadOS. Tuttavia, la versione dei dispositivi mobili presenta delle differenze rispetto alla versione usata per macOS; inoltre, la versione mobile è closed source.

Storia

NeXT Computer, una società fondata nel 1985 da Steve Jobs con l'obiettivo di creare una nuova rivoluzione del campo dell'informatica, passò al vaglio le nuove tecnologie sviluppate dalle università e dalle aziende di informatica al fine di realizzare il miglior personal computer che fosse mai esistito[senza fonte]. Furono individuati diversi progetti fra i quali:

Da queste basi è stato sviluppato il sistema NeXTSTEP che, una volta evolutosi in OpenSTEP, è stato usato da Apple come base per macOS dopo l'acquisizione di NeXT da parte della stessa Apple. La prima versione venne presentata nel 2000. Il nome che trae spunto dallo studioso evoluzionista omonimo, fu scelto per rappresentare la caratteristica di questo sistema come evoluzione del BSD/Unix. Darwin è il cuore del sistema operativo macOS, nonché la sua base BSD che lo rende Unix con implementato il kernel XNU. XNU è un kernel ibrido, basato su un'unione del codice del microkernel Mach e del kernel monolitico FreeBSD.

Il nome XNU è un acronimo ricorsivo che sta per XNU's Not Unix, ovvero "XNU Non è Unix".

Darwin è un sistema operativo a tutti gli effetti libero poiché distribuito al pubblico con l'Apple Public Source License per renderlo open source. Apple tuttora sviluppa Darwin rendendo disponibili delle release delle installazioni di Darwin alla pagina dedicata alle release, prima in collaborazione con degli sviluppatori che aderivano al progetto OpenDarwin da tempo abbandonato, ora in modo solitario pur rendendone disponibili i sorgenti sulla sua pagina dedicata ai sorgenti. Fu sviluppato inizialmente solo da Apple, con piena compatibilità POSIX UNIX, sotto il nome di Rhapsody (mai distribuito al di fuori degli ambienti Apple) e, in seguito, da questo fu creato un vero fork nel 2000 dopo la sua presentazione, da cui nacquero le quattro distribuzioni finora note, delle quali due non ufficialmente correlate ad Apple e per questo si parla di Darwin OS come una famiglia di sistemi operativi derivati da FreeBSD.

Descrizione

Modello del Kernel

Unix-like albero delle famiglie nate da UNIX

Come molti kernel moderni Darwin segue un approccio ibrido, contenendo caratteristiche sia di un microkernel che di un kernel monolitico. Difatti segue un approccio da microkernel per quanto riguarda la gestione dei servizi ma integra nello stesso microkernel ampie porzioni del sistema operativo per ridurre i tempi morti dovuti al passaggio di contesto. Questo approccio misto consente di rendere il sistema operativo più reattivo e veloce ma nel contempo lo rende più sensibile ad errori di programmazione del kernel.

La maggior parte del codice viene eseguito al di fuori del kernel in modo da rendere lo sviluppo rapido e veloce. I singoli componenti sono scritti e testati in modo indipendente, difatti risulta più semplice testare una piccola porzione di codice piuttosto che analizzare il funzionamento di un modulo immerso in centinaia di migliaia di righe di codice appartenenti ad altri moduli. Inoltre questo approccio rende il sistema operativo meno sensibile a fallimenti dei singoli driver.

Il kernel viene chiamato XNU, e può essere considerato una derivazione del kernel Mach 3.0 con rilevanti aggiunte del FreeBSD 5.x.

Mach

Il nucleo del kernel XNU, Mach fornisce la gestione dei processi, il passaggio dei messaggi (utilizzati nella comunicazione interprocesso), la memoria virtuale e la protezione della memoria, la gestione dei processi sistema real-time, il supporto al debugging del kernel e I/O da console. Mach inoltre gestisce la presenza di più binari in modo da poter gestire nativamente la presenza di più architetture hardware come i processori PowerPC o i processori X86.

BSD

Le porzioni di codice BSD integrate forniscono le API POSIX (BSD system calls) il modello di gestione dei processi, i livelli base di sicurezza e le relative policy, l'user id, la gestione dei permessi, la gestione della rete, il Virtual file system (incluso lo strato di journaling), la crittografia, le UNIX System V IPC e molte primitive.

I/O Kit

È un framework per la scrittura di driver progettato con un sottoinsieme di C++. È stato progettato seguendo i dettami della programmazione orientata agli oggetti in modo da consentire la scrittura di driver velocemente e con poco codice. Questo modello è unico nel suo genere, non è infatti presente in altri OS UNIX-like che consentono la scrittura di driver solamente in C puro, senza l'ausilio della OOP. La possibilità di importare ed usare come superclasse un driver già scritto facilita, innanzitutto, la creazione del driver stesso, la rende meno incline ad errori e riduce lo spazio che il driver occupa nell'area del kernel. Il framework gestisce il SMP, il multithread, gestisce la sicurezza, permette il caricamento dinamico dei driver e gestisce le periferiche hot-plug e autoconfiguranti. La maggioranza dei driver sono scritti per essere eseguiti nello spazio utente in modo da migliorare la sicurezza del sistema. Il fallimento di un driver eseguito nello spazio utente non è in grado di bloccare il kernel.

Protezione delle risorse condivise

Per consentire un funzionamento sicuro su macchine multiprocessore l'accesso alle risorse condivise (file, strutture dati, ecc) sono serializzati in modo da impedire ai processi di modificare la stessa risorsa nello stesso tempo. Le operazioni atomiche, spinlock, sezioni critiche, sistemi a mutua esclusione e gestione serializzata sono i possibili metodi per impedire accessi pericolosi a strutture condivise. Come Linux e FreeBSD Darwin implementa sistemi a mutua esclusione (mutex) a grana fine per ottenere elevate prestazioni nei sistemi multiprocessore.

Processori supportati

Attualmente Darwin può utilizzare computer basati su processori X86 (Intel o AMD) o PowerPC in configurazione a singolo processore o multiprocessore. Inoltre supporta l'architettura ARM64 (sia lato mobile che desktop).

Sviluppo e distribuzione

Controllo qualità

Come molti sistemi operativi moderni Darwin utilizza un debugger integrato nel kernel per aiutare gli sviluppatori ad individuare gli errori nel codice.

Licenza

Nel giugno 2003 Apple distribuì Darwin 7.0 sotto licenza Apple Public Source License, versione 2.0 del 6 agosto 2003, considerata dalla FSF una licenza di software libero non compatibile con la GNU GPL, sconsigliata se si sta scrivendo un nuovo programma ma non sconsiglia l'utilizzo di programmi sotto questa licenza.

Distribuzioni

  • Apple Darwin, distribuito come core di macOS ad uso degli sviluppatori
  • OpenDarwin, distribuito come sistema operativo completo "a sé stante" (non più in sviluppo)
  • Puredarwin, distribuito come sistema operativo open source, il progetto vuole creare una sua versione "completa e usabile"
  • Gnu/Darwin, distribuito per unificare il sistema operativo GNU con il kernel Darwin

Voci correlate

Window Maker su XDarwin

Versione

La tabella sottostante mostra la data delle varie versioni di Darwin e la relativa versione di macOS e iOS:

Data Versione Darwin Versione macOS Versione iOS
5 aprile 2000 Darwin 1.0
13 aprile 2000 Darwin 1.0.2
13 aprile 2001 Darwin 1.3.1 Mac OS X Cheetah to 10.0.4
2 ottobre 2001 Darwin 1.4.1 Mac OS X Puma
Darwin 5.1 Mac OS X 10.1.1
Darwin 5.2 Mac OS X 10.1.2
Darwin 5.3 Mac OS X 10.1.3
Darwin 5.4 Mac OS X 10.1.4
Darwin 5.5 Mac OS X 10.1.5
23 settembre 2002 Darwin 6.0.1.2 Mac OS X Jaguar
28 ottobre 2002 Darwin 6.0.2 Mac OS X 10.2
Darwin 6.1 Mac OS X 10.2.1
Darwin 6.2 Mac OS X 10.2.2
Darwin 6.3 Mac OS X 10.2.3
Darwin 6.4 Mac OS X 10.2.4
Darwin 6.5 Mac OS X 10.2.5
Darwin 6.6 Mac OS X 10.2.6
Darwin 6.7 Mac OS X 10.2.7
Darwin 6.8 Mac OS X 10.2.8
24 ottobre 2003 Darwin 7.0 Mac OS X Panther
Darwin 7.1 Mac OS X 10.3.1
Darwin 7.2 Mac OS X 10.3.2
Darwin 7.3 Mac OS X 10.3.3
Darwin 7.4 Mac OS X 10.3.4
Darwin 7.5 Mac OS X 10.3.5
Darwin 7.6 Mac OS X 10.3.6
Darwin 7.7 Mac OS X 10.3.7
Darwin 7.8 Mac OS X 10.3.8
15 aprile 2005 Darwin 7.9 Mac OS X 10.3.9
29 aprile 2005 Darwin 8.0 Mac OS X Tiger
16 maggio 2005 Darwin 8.1 Mac OS X 10.4.1
12 giugno 2005 Darwin 8.2 Mac OS X 10.4.2
31 ottobre 2005 Darwin 8.3
10 gennaio 2006 Darwin 8.4 Mac OS X 10.4.4
14 febbraio 2006 Darwin 8.5 Mac OS X 10.4.5
3 aprile 2006 Darwin 8.5 Mac OS X 10.4.6
8 agosto 2006 Darwin 8.6 Mac OS X 10.4.7
Darwin 8.8 Mac OS X 10.4.8
Darwin 8.9 Mac OS X 10.4.9
26 ottobre 2007 Darwin 9.0 Mac OS X Leopard iPhone OS 1
15 novembre 2007 Darwin 9.1 Mac OS X 10.5.1 iPhone OS 2
11 febbraio 2008 Darwin 9.2 Mac OS X 10.5.2
19 marzo 2008 Darwin 9.2.2 Aggiornamento Time Machine e AirPort v 1.0 (Mac OS X 10.5.2)
28 maggio 2008 Darwin 9.3 Mac OS X 10.5.3
30 giugno 2008 Darwin 9.4 Mac OS X 10.5.4
15 settembre 2008 Darwin 9.5 Mac OS X 10.5.5
15 dicembre 2008 Darwin 9.6 Mac OS X 10.5.6
28 agosto 2009 Darwin 10.0 OS X Snow Leopard iPhone OS 3
20 luglio 2011 Darwin 11.0 OS X Lion iOS 5
25 luglio 2012 Darwin 12.0 OS X Mountain Lion iOS 6
22 ottobre 2013 Darwin 13.0 OS X Mavericks iOS 7
1º novembre 2014 Darwin 14.0 OS X Yosemite iOS 8
16 settembre 2015 Darwin 15.0 OS X El Capitan iOS 9
13 giugno 2016 Darwin 16.0 macOS Sierra iOS 10
25 settembre 2017 Darwin 17.0 macOS High Sierra iOS 11
24 settembre 2018 Darwin 18.0 macOS Mojave iOS 12
17 ottobre 2019 Darwin 19.0 macOS Catalina iOS 13
3 settembre 2020 Darwin 20.1 macOS Big Sur iOS 14
7 giugno 2021 Darwin 21.0 macOS Monterey iOS 15
6 giugno 2022 Darwin 22.0 macOS Ventura iOS 16
18 settembre 2023 Darwin 23.0 macOS Sonoma iOS 17

Si noti che le versioni saltano dalla 1.4.1 alla 5.1. Si presume che ciò sia stato fatto per continuare la numerazione del NeXTSTEP (Il NeXTSTEP arrivò fino alla versione 3.3 mentre OPENSTEP viene considerato la versione 4.0).

Collegamenti esterni

Informazioni generali

Documentazione

Read other articles:

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها...

 

Andrew LincolnAndrew Lincoln di San Diego Comic-Con International 2015.LahirAndrew James Clutterbuck14 September 1973 (umur 50)London, InggrisPekerjaanAktorTahun aktif1994–sekarangSuami/istriGael Anderson ​(m. 2006)​Anak2 Andrew James Clutterbuck (lahir 14 September 1973),[1] lebih dikenal dengan nama panggung Andrew Lincoln, adalah seorang aktor Inggris. Ia paling dikenal karena perannya sebagai Rick Grimes, tokoh utama pada serial drama horor...

 

American baseball player (born 1994) Baseball player Duane Underwood Jr.Underwood with the Chicago Cubs in 2019Free agent PitcherBorn: (1994-07-20) July 20, 1994 (age 29)Raleigh, North Carolina, U.S.Bats: RightThrows: RightMLB debutJune 25, 2018, for the Chicago CubsMLB statistics (through 2023 season)Win–loss record5–10Earned run average4.63Strikeouts179 Teams Chicago Cubs (2018–2020) Pittsburgh Pirates (2021–2023) Duane Lee Underwood Jr. (born July 20, 1994) is a...

العلاقات الدنماركية البوروندية الدنمارك بوروندي   الدنمارك   بوروندي تعديل مصدري - تعديل   العلاقات الدنماركية البوروندية هي العلاقات الثنائية التي تجمع بين الدنمارك وبوروندي.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين:

 

American college football season 1997 Fresno State Bulldogs footballConferenceWestern Athletic ConferenceDivisionPacific DivisionRecord6–6 (5–3 WAC)Head coachPat Hill (1st season)Offensive coordinatorJeff Tedford (5th season)Defensive coordinatorKevin Coyle (1st season)Home stadiumBulldog Stadium(capacity: 41,031)Seasons← 19961998 → 1997 Western Athletic Conference football standings vte Conf Overall Team   W   L     W   L...

 

Cinema in Copenhagen, Denmark Imperial BiografImperialFront entrance as seen from across the street.AddressVed Vesterport 4, 1612 København V.Coordinates55°40′31″N 12°33′40″E / 55.6753°N 12.5611°E / 55.6753; 12.5611OwnerNordisk FilmTypeCinemaCapacity1,002ConstructionBuilt1961Opened1 November 1963 (1963-11-01)RenovatedSeptember 2013ExpandedSeptember 2013Construction cost59 million DKK (1959 numbers)Websitewww.nfbio.dk/biografer/imperial Imper...

بلدة كاسكو الإحداثيات 42°28′16″N 86°12′33″W / 42.4711°N 86.2092°W / 42.4711; -86.2092  [1] تقسيم إداري  البلد الولايات المتحدة  التقسيم الأعلى مقاطعة أليغان  خصائص جغرافية  المساحة 100.9 كيلومتر مربع  ارتفاع 192 متر  عدد السكان  عدد السكان 2796 (1 أبريل 2020)[2]2823 (1...

 

Mixed 4 × 400 metres relay at the 2022 World ChampionshipsVenueHayward FieldDates15 July (heats & final)Competitors85 from 16 nationsWinning time3:09.82Medalists  Lidio Andres FelizMarileidy PaulinoAlexander OgandoFiordaliza Cofil   Dominican Republic Liemarvin BonevaciaLieke KlaverTony van DiepenFemke Bol   Netherlands Elija GodwinAllyson FelixVernon NorwoodKennedy Simon   United States← 20192023 ͛...

 

National Archives National Archives of Pakistanقومی دفتر خانہَ پاکستانAgency overviewFormed8 December 1973Preceding agencyDirectorate of Archives and LibrariesJurisdictionGovernment of PakistanAgency executiveDirector-GeneralParent agencyCabinet DivisionWebsiteOfficial website The National Archives of Pakistan (Urdu: قومی دفتر خانہَ پاکستان) is a body established by the Government of Pakistan for the purpose of preserving and making available public and...

Type of team This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may lack focus or may be about more than one topic. Please help improve this article, possibly by splitting the article and/or by introducing a disambiguation page, or discuss this issue on the talk page. (July 2017) The examples and perspective in this article deal primarily with the United States and do not repres...

 

202

201 ← 202 → 203素因数分解 2×101二進法 11001010三進法 21111四進法 3022五進法 1302六進法 534七進法 406八進法 312十二進法 14A十六進法 CA二十進法 A2二十四進法 8A三十六進法 5Mローマ数字 CCII漢数字 二百二大字 弐百弐算木 202(二百二、にひゃくに)は自然数、また整数において、201の次で203の前の数である。 性質 202は合成数であり、約数は 1, 2, 101, 202 である。 約数の和...

 

2017 South Korean filmRealTheatrical posterHangul리얼Revised RomanizationRieol Directed byLee Sa-rangScreenplay byLee Jung-subStarring Kim Soo-hyun Sung Dong-il Lee Sung-min Choi Jin-ri Jo Woo-jin CinematographyKim Jung-wonEdited byKim Chang-juMusic by Lee Jae-jin SOSEOL (Kwon Sun-gyu) Distributed byCJ E&M (Korea)Alibaba Pictures (China)Global Road Entertainment (Others)Release dates June 28, 2017 (2017-06-28) (South Korean) May 5, 2018 (2018-05-05) ...

Argentine footballer (born 1998) Alexis Mac Allister Mac Allister playing for Brighton & Hove Albion in 2022Personal informationFull name Alexis Mac AllisterDate of birth (1998-12-24) 24 December 1998 (age 24)Place of birth Santa Rosa, La Pampa, ArgentinaHeight 1.76 m (5 ft 9 in)[1]Position(s) Midfielder[2]Team informationCurrent team LiverpoolNumber 10Youth career Social Parque0000–2016 Argentinos JuniorsSenior career*Years Team Apps (Gls)2016–2019...

 

Municipio de Brighton Municipio Municipio de BrightonUbicación en el condado de Cass en Iowa Ubicación de Iowa en EE. UU.Coordenadas 41°27′44″N 95°06′01″O / 41.462222222222, -95.100277777778Entidad Municipio • País  Estados Unidos • Estado  Iowa • Condado CassSuperficie   • Total 92.07 km² • Tierra 92.07 km² • Agua (0 %) 0 km²Altitud   • Media 397 m s. n. m.Población (2010) ...

 

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (January 2018) Ahmed Saeed AwanMNAMember of the National Assembly of PakistanIn office1988–1990 Personal detailsNationalityPakistani Ahmed Saeed Awan is a Pakistani politician who served as member of the National Assembly of Pakistan.[1][2] He became a judge of Lahore High Court in 1994.[2][3] Reference...

Lotsawa living during the reign of King Trisong Detsen This article is about the Tibetan translator. For the primordial Buddha Vairocana, see Vairocana. Vairotsana (Tibetan: བཻ་རོ་ཙ་ན་, Wylie: ba gor bai ro tsa na) was a lotsawa or translator living during the reign of King Trisong Detsen, who ruled 755-97 CE. Vairotsana, one of the 25 main disciples of Padmasambhava, was recognized by the latter as a reincarnation of an Indian pandita. He was among the first seven monks o...

 

Town in east London, England Human settlement in EnglandDagenhamThe southern Dagenham skyline includes structures of the Ford plant and wind turbines.DagenhamLocation within Greater LondonPopulation106,247 (2011)[1]OS grid referenceTQ485845• Charing Cross11.5 mi (18.5 km) WLondon boroughBarking & DagenhamCeremonial countyGreater LondonRegionLondonCountryEnglandSovereign stateUnited KingdomPost townDAGENHAMPostcode districtRM...

 

1930 film by Raoul Walsh For the 1931 French Western film, see The Big Trail (1931 film). The Big TrailTheatrical release posterDirected byRaoul WalshStory byHal G. EvartsStarringJohn WayneMarguerite ChurchillEl BrendelCinematographyLucien AndriotArthur EdesonEdited byJack DennisProductioncompanyFox Film CorporationDistributed byFox Film CorporationRelease date November 1, 1930 (1930-11-01) Running time122 min. 70mm version108 min. 35mm versionCountryUnited StatesLanguageEnglis...

Polish professional football (soccer) team based in Elbląg, Poland Football clubFull nameKlub SportowyOlimpia ElblągNickname(s)Żółto-biało-niebiescy (Yellow-white-blue), Związkowi (Associates), Olimpijczycy (Olimpics)Founded1945; 78 years ago (1945)GroundStadion Miejski, PolandCapacity7,000LeagueII liga2022–23II liga, 9th of 18[1] Home colours Away colours Olimpia Elbląg is a Polish professional football team based in Elbląg, Poland, competing in II liga. ...

 

1991 single by Stephan Eicher Pas d'ami (comme toi)Single by Stephan Eicherfrom the album Engelberg B-sideDemo October 1990ReleasedDecember 1991Recorded1991StudioKursaal Casino Engelberg, SwitzerlandGenrePop rock, chansonLength3:29LabelBarclayComposer(s)Stephan EicherLyricist(s)Philippe DjianProducer(s)Stephan Eicher, Dominique Blanc-FrancardStephan Eicher singles chronology Déjeuner en paix (1991) Pas d'ami (comme toi) (1991) Hemmige (1992) Pas d'ami (comme toi) is a 1991 pop rock song reco...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!