nocciolo

Cos'è il kernel:

Il kernel è una parola inglese utilizzata nel calcolo per designare il nucleo del sistema operativo, che è la parte principale di un computer.

Un semplice passaggio dalla versione del kernel a una versione precedente o più recente potrebbe essere sufficiente per risolvere problemi di hardware e compatibilità sul computer.

Con il pieno controllo di tutto ciò che riguarda il sistema, il Kernel è uno dei primi programmi da caricare all'avvio.

Non appena inizia a girare, il kernel avvia un processo che rileva tutto l'hardware necessario per il corretto funzionamento del computer.

Inoltre, un kernel gestisce le richieste di input e output del software e gestisce, ad esempio, la memoria e le periferiche utilizzate.

Funzione del kernel

Il kernel, il cuore del sistema, è responsabile della connessione del software all'hardware.

In questo modo, stabilisce una comunicazione efficace tra le risorse del sistema operativo e gestisce le sue funzioni principali.

Vedi sotto le principali funzioni di un sistema operativo, amministrato dal Kernel.

Gestione dei processi

In un sistema operativo, il processo è un programma in esecuzione.

La gestione dei processi eseguita dal kernel decide quali processi verranno eseguiti.

Ciascuno dei processi in esecuzione può entrare e uscire dal processore più volte nello stesso secondo, dando il via a un altro processo.

Il kernel è responsabile per decidere quali processi saranno allocati sul processore.

Poiché il passaggio tra i processi avviene molto rapidamente, un programma può continuare a funzionare anche se non si trova sul processore.

Modalità di accesso

L'esecuzione di un processo può essere eseguita in due modi diversi.

Modalità utente : costituita da diversi sottosistemi. Uno di questi, compreso il sottosistema ambientale, esegue applicazioni progettate per vari tipi di sistemi operativi.

La modalità utente è considerata una modalità non privilegiata. Tutto il software in questa modalità deve effettuare richieste al kernel per eseguire istruzioni privilegiate, come la creazione di processi.

Modalità kernel : è considerato privilegiato perché ha accesso all'intero computer. Quando la CPU è in modalità kernel, indica che è in esecuzione un software affidabile ed è in grado di eseguire qualsiasi istruzione.

Vedi il significato della CPU.

Gestione della memoria

Nel task manager, una porzione di RAM (memoria totale) viene allocata al kernel.

Durante la gestione dei processi, il kernel invia i programmi a uno spazio indirizzo.

La parte della memoria totale allocata al kernel assicura che sia sempre disponibile memoria per i processi core da inviare a quello spazio.

Il kernel ha anche la funzione di definire la quantità di memoria a cui ogni processo può accedere durante la sua operazione.

Gestione dei dispositivi

Il kernel controlla le periferiche collegate al computer.

Ogni volta che un utente connette un dispositivo (ad es. Pen drive, stampante, cuffia, mouse, ecc.), Il kernel gestisce la memoria di quel dispositivo e comunica con i programmi e l'hardware del computer.

Ogni dispositivo ha un'unità che è stata creata per funzionare su un particolare sistema operativo. Pertanto, un driver progettato per Windows non funziona, ad esempio, su un MAC.

Il driver di ciascun dispositivo deve eseguire una sorta di traduzione dei comandi eseguiti tra un determinato dispositivo elettronico e il sistema operativo del computer.

I servizi di un sistema operativo sono accessibili tramite un'interfaccia utente chiamata shell, che in inglese significa "shell". Il nome è dovuto al fatto che la shell è lo strato più esterno, attorno al nucleo.

Vedi il significato dell'interfaccia.

Chiamate di sistema

Le chiamate di sistema sono funzioni specifiche che hanno i programmi informatici utilizzati in modalità utente. Sono utilizzati per invocare il nucleo del sistema operativo di un computer in modo che esegua determinate azioni.

Queste funzioni sono spesso complesse e utilizzano funzionalità a cui l'utente medio non ha accesso.

Vedi sotto per alcuni esempi di chiamate di sistema di Windows e il loro corrispondente kernel Linux.

finestreLinuxDescrizione del prodotto

CloseHandle

vicino

Chiudi il file

CreateFileapertoCrea file
DeleteFilescollegareElimina il file
ExitProcessuscitaTermina un processo e tutti i suoi segmenti
GetLocalTimesquadraRecupera posizione, data e ora correnti

Ulteriori informazioni su Windows.

Tipi di kernel

Per quanto riguarda la sua architettura, il nucleo di un sistema operativo può essere monolitico, ibrido o micronucleo .

monolitico

I driver di dispositivo e le estensioni del kernel girano nello spazio del kernel, con pieno accesso all'hardware.

Poiché tutti i moduli vengono eseguiti nello stesso spazio indirizzo, se si verifica un errore in uno di questi spazi, l'intero sistema potrebbe risentirne.

Esempi di monolitico : Linux, BSD, MS-DOS e Solaris.

Linux è uno dei kernel monolitici più conosciuti,

Essendo un software libero e portatile, Linux ha il vantaggio di lavorare su dozzine di piattaforme, dai computer IBM ai dispositivi mobili, smartphone o iPod.

Ulteriori informazioni su software e hardware ..

Micronucleo o microkernel

Il micronucleo, come suggerisce il nome, è un kernel molto piccolo, e quindi esegue il minor numero possibile di processi nello spazio del kernel.

Alcuni processi vengono eseguiti nello spazio utente.

Con il kernel di tipo micronucleus, se si verifica un errore, è sufficiente riavviare il servizio che ha presentato il problema.

Ciò impedirà che l'intero sistema venga rovesciato (come nel caso del kernel monolitico).

Esempi di micronuclei : AIX, BeOS, L4, Mach, Minix, MorphOS, QNX, RADIOS, VSTa e GNU Hurd.

ibrido

I sistemi ibridi sono considerati sistemi che funzionano con una via di mezzo rispetto ai monoliti e ai micronuclei.

L'ibrido combina la stabilità e la sicurezza del microkernel con le prestazioni del monolitico.

Il kernel ibrido è simile a un micronucleo, ma ha un codice ("non essenziale") nello spazio core in modo che le operazioni eseguite siano più veloci.

Esempi di ibridi : AmigaOS, Android, Chrome, Macintosh, webOS, Windows, OSX e Xinu.

Il Kernel Android è costruito da Linux. Tuttavia, non tutti classificano Android come Linux perché ritengono che sia basato solo su Linux, ma non su Linux stesso.

Ulteriori informazioni su Android.