Kernel: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 71:
I kernel "classici" (sia monolitici che microkernel) astraggono l'hardware, nascondendo le risorse dietro a un ''livello di astrazione dell'hardware'' ([[hardware abstraction layer]] o HAL), o dietro a server "sicuri". In questi sistemi "classici" ad esempio, se viene allocata della memoria il programma non può sapere in quale pagina fisica questa verrà riservata dal sistema operativo, e se viene scritto un file non c'è modo di sapere direttamente in quale settore del disco è stato allocato. È questo il livello di astrazione che un esokernel cerca di evitare. Esso permette ad un'applicazione di richiedere aree specifiche di memoria, settori specifici su disco e così via, e si assicura solamente che le risorse richieste siano disponibili e che le applicazioni vi possano accedere.
 
Quindi, siccome un esokernel fornisce un'interfaccia davvero a basso livello all'hardware, mancando di qualsiasi funzionalità di alto livello tipica degli altri sistemi operativi, esso è accompagnato da un "sistema operativo-liberialibreria".
Questo "[[libOS]]" si interfaccia all'esokernel sottostante e fornisce agli sviluppatori di applicazioni le funzionalità di un sistema operativo completo.