GeeksforGeeks

Il kernel è il componente centrale di un sistema operativo che gestisce le operazioni del computer e dell’hardware. Fondamentalmente gestisce le operazioni di memoria e il tempo della CPU. È il componente centrale di un sistema operativo. Il kernel agisce come un ponte tra le applicazioni e l’elaborazione dei dati eseguita a livello di hardware utilizzando la comunicazione inter-processo e le chiamate di sistema.

Il kernel viene caricato per primo in memoria quando un sistema operativo viene caricato e rimane in memoria fino a quando il sistema operativo viene chiuso di nuovo. È responsabile di vari compiti come la gestione del disco, la gestione dei compiti e la gestione della memoria.

Decide quale processo deve essere assegnato al processore per essere eseguito e quale processo deve essere tenuto nella memoria principale per essere eseguito. Fondamentalmente agisce come un’interfaccia tra le applicazioni utente e l’hardware. Lo scopo principale del kernel è quello di gestire la comunicazione tra il software, cioè le applicazioni a livello utente, e l’hardware, cioè, CPU e memoria del disco.

Obiettivi del Kernel :

  • Per stabilire la comunicazione tra le applicazioni a livello utente e l’hardware.
  • Per decidere lo stato dei processi in arrivo.
  • Controllare la gestione del disco.
  • Controllare la gestione della memoria.
  • Controllare la gestione dei compiti.

Tipi di Kernel :

1. Kernel monolitico –
È uno dei tipi di kernel in cui tutti i servizi del sistema operativo operano nello spazio del kernel. Ha dipendenze tra i componenti del sistema. Ha enormi linee di codice che sono complesse.

Esempio :

Unix, Linux, Open VMS, XTS-400 etc.
  • Vantaggi :
    Ha buone prestazioni.
  • Svantaggio :
    Ha dipendenze tra i componenti del sistema e linee di codice in milioni.

2. Micro Kernel –
È un tipo di kernel che ha un approccio minimalista. Ha memoria virtuale e programmazione dei thread. È più stabile con meno servizi nello spazio del kernel. Mette il resto nello spazio utente.

Esempio:

Mach, L4, AmigaOS, Minix, K42 etc.
  • Vantaggio :
    È più stabile.
  • Svantaggio :
    Ci sono molte chiamate di sistema e scambi di contesto.

3. Kernel ibrido –
È la combinazione di entrambi i kernel monolitici e mircrokernel. Ha la velocità e il design del kernel monolitico e la modularità e la stabilità del microkernel.

Esempio:

Windows NT, Netware, BeOS etc.
  • Vantaggio :
    Combina sia il kernel monolitico che il microkernel.
  • Svantaggio :
    È ancora simile al kernel monolitico.

4. Exo Kernel –
È il tipo di kernel che segue il principio end-to-end. Ha il minor numero possibile di astrazioni hardware. Alloca risorse fisiche alle applicazioni.

Esempio:

Nemesis, ExOS etc.
  • Vantaggio :
    Ha poche astrazioni hardware.
  • Svantaggio :
    C’è più lavoro per gli sviluppatori di applicazioni.

5. Nano Kernel –
È il tipo di kernel che offre astrazioni hardware ma senza servizi di sistema. Anche il Micro Kernel non ha servizi di sistema quindi il Micro Kernel e il Nano Kernel sono diventati analoghi.

Esempio:

EROS etc.
  • Vantaggio :
    Offre astrazioni hardware senza servizi di sistema.
  • Svantaggio :
    È abbastanza simile al Micro kernel, quindi è meno usato.
Article Tags :

Tag dell’articolo:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *