Kernel: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Esokernel: Sostituito l'immagine relativa alla rappresentazione grafica di un exokernel con la relativa versione SVG
fix
Riga 14:
 
== Classificazione ==
[[File:OS-structure2.svg|miniaturathumb|Confronto tra i diversi kernel]]
 
L'accesso diretto all'hardware può essere anche molto complesso, quindi i kernel usualmente implementano uno o più tipi di astrazione dall'hardware, il cosiddetto ''livello di astrazione dell'hardware'' (''[[hardware abstraction layer]]'' o ''HAL''). Queste astrazioni servono a "nascondere" la complessità e a fornire un'interfaccia pulita e uniforme all'hardware sottostante, in modo da semplificare il lavoro degli sviluppatori.
Riga 25:
 
=== Kernel monolitici ===
[[File:Kernel-monolithic.svg|miniaturathumb|Rappresentazione grafica di un kernel monolitico]]
 
L'approccio monolitico definisce un'interfaccia virtuale di alto livello sull'hardware e software, con un set di primitive o [[chiamata di sistema|chiamate di sistema]] per implementare servizi di sistema operativo come ''gestione dei processi'', ''multitasking'' e ''gestione della memoria'', in diversi moduli che girano in ''modalità supervisore''.
Riga 40:
=== Microkernel ===
{{vedi anche|microkernel}}
[[File:Kernel-microkernel.svg|miniaturathumb|Rappresentazione grafica di un microkernel]]
[[File:IBM AIX logo (2021).svg|thumb|Logo [[AIX (sistema operativo)]], sistema operativo, basato su microkernel]]
[[File:BeOS_screenshot.png|thumb|[[BeOS]], altro sistema operativo basato su microkernel]]
Riga 89:
 
=== Kernel ibridi ===
[[File:Kernel-hybrid.svg|miniaturathumb|Rappresentazione grafica di un kernel ibrido]]
 
I kernel ibridi sono essenzialmente dei microkernel che hanno del codice "non essenziale" al livello di spazio del kernel in modo che questo codice possa girare più rapidamente che se fosse implementato ad alto livello. Questo fu un compromesso adottato da molti sviluppatori di sistemi operativi prima che fosse dimostrato che i microkernel puri potevano invece avere performance elevate. Molti sistemi operativi moderni rientrano in questa categoria: [[Microsoft Windows]] è l'esempio più noto. Anche [[XNU]], il kernel di Mac OS X, è di fatto un microkernel modificato, per via dell'inclusione di codice BSD in un kernel basato su Mach. [[DragonFly BSD]] è stato il primo sistema BSD non basato su Mach ad adottare l'architettura a kernel ibrido.
Riga 103:
 
=== Esokernel ===
[[File:Kernel-exo.svg|riquadratothumb|Rappresentazione grafica di un Exokernel]]
 
Gli esokernel, o Exokernel, conosciuti anche come "sistemi operativi verticali", sono un approccio radicalmente differente alla progettazione dei sistemi operativi. L'idea centrale è "separare la protezione dalla gestione".