On Amazon.it: https://www.amazon.it/Complete-Concordances-James-Bible-Azzur/dp/B0F1V2T1GJ/


Apple Darwin - Wikipedia

Apple Darwin

Da Wikipedia, l'enciclopedia libera.

Darwin

OpenDarwin utilizzate GNOME

OpenDarwin con il desktop environment GNOME
Sviluppatore: Apple Computer
Famiglia SO: BSD
Modello del sorgente: Libero
Ultima versione: 9.0 / 26 ottobre 2007
Tipo di kernel: XNU (basato su kernel Mach)
Licenza: Libero APSl
Stadio di sviluppo: in produzione
Sito web: developer.apple.com/darwin

Darwin è un sistema operativo libero che utilizza il kernel XNU. La prima versione venne presentata nel 2000 da Apple Computer e tuttora viene sviluppato dalla società con la collaborazione con gli sviluppatori che aderiscono al progetto OpenDarwin. Darwin è il cuore del sistema operativo Mac OS X.

All'uscita di ogni nuova release di Mac OS X, Apple ne pubblica il sorgente sulla sua pagina dedicata al progetto.

Indice

[modifica] Modello del Kernel

Unix-like albero delle famiglie nate da UNIX
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.

[modifica] 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 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.

[modifica] 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 la strato di journaling), la crittografia, le UNIX System V IPC e molte primitive.

[modifica] 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. Il framework gestisce il SMP e multitread gestisce la sicurezza, permette il caricamento dinamico dei driver, gestisce le periferiche hot-plug ed 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.

[modifica] 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.

[modifica] Processori supportati

Attualmente Darwin può utilizzare computer basati su processori X86 (Intel o AMD) o PowerPC in configurazione a singolo processore o multiprocessore.

[modifica] Sviluppo e distribuzione

[modifica] Controllo della qualità

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

[modifica] Licenza

Nel giugno 2003 Apple rilasciò 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.

[modifica] Versione

La tabella sottostante mostra la data delle varie versioni di Darwin e la relativa versione di Mac OS X:

Data Versione Darwin Versione Mac OS X
5 aprile 2000 Darwin 1.0
13 aprile 2000 Darwin 1.0.2
13 aprile 2001 Darwin 1.3.1 Mac OS X 10.0 to 10.0.4
2 ottobre 2001 Darwin 1.4.1 Mac OS X 10.1
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 Mac OS X 10.2
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 10.3
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 10.4
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
Darwin 9.0 Mac OS X 10.5

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):

[modifica] Collegamenti esterni

[modifica] Informazioni generali

[modifica] Documentazione


Static Wikipedia March 2008 on valeriodistefano.com

aa   ab   af   ak   als   am   an   ang   ar   arc   as   ast   av   ay   az   ba   bar   bat_smg   bcl   be   be_x_old   bg   bh   bi   bm   bn   bo   bpy   br   bs   bug   bxr   ca   cbk_zam   cdo   ce   ceb   ch   cho   chr   chy   co   cr   crh   cs   csb   cv   cy   da   en   eo   es   et   eu   fa   ff   fi   fiu_vro   fj   fo   fr   frp   fur   fy   ga   gd   gl   glk   gn   got   gu   gv   ha   hak   haw   he   hi   ho   hr   hsb   ht   hu   hy   hz   ia   id   ie   ig   ii   ik   ilo   io   is   it   iu   ja   jbo   jv   ka   kab   kg   ki   kj   kk   kl   km   kn   ko   kr   ks   ksh   ku   kv   kw   ky   la   lad   lb   lbe   lg   li   lij   lmo   ln   lo   lt   lv   map_bms   mg   mh   mi   mk   ml   mn   mo   mr   ms   mt   mus   my   mzn   na   nah   nap   nds   nds_nl   ne   new   ng   nl   nn   nov  

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu