Che cosa è un kernel del computer?

March 30

Che cosa è un kernel del computer?


sistemi operativi per computer eseguono un bel paio di compiti nel corso di una tipica sessione utente, tra cui la gestione di applicazioni aperte, connessioni Internet e l'allocazione di memoria. Tuttavia, sotto tutto questo è il "kernel", o il nucleo del sistema operativo. Il kernel di qualsiasi sistema operativo è essenziale: preforme i compiti che garantiscono il sistema si avvia correttamente e comunica con l'hardware del computer in modo corretto.

L'avvio del computer

Quando un utente avvia un'applicazione, il programma viene caricato in Random Access Memory, o RAM, in modo che il sistema può accedere durante l'esecuzione. Quando il primo computer parta, tuttavia, il primo programma caricato nella RAM è il kernel. Questo è perché la responsabilità di avviare altre applicazioni, l'allocazione di memoria e gestione del sistema appartengono tutti alla kernel. Come un pezzo di software stesso, il kernel risiede anche in RAM, anche se in una zona protetta per evitare errori accidentali o oltre-scrive che potrebbero causare il kernel per sicuro.

Processi e Gestione del tempo

Quando si avvia - o quando un utente avvia un'applicazione - il kernel inizia quello che viene chiamato un "processo", o un'istanza in esecuzione di un programma. Ogni programma in esecuzione deve avere almeno un singolo processo in memoria rappresenta. Poiché computer eseguono quasi sempre più processi allo stesso tempo, il kernel ha anche la responsabilità di gestire la quantità di tempo ogni processo ottiene per utilizzare le risorse di sistema, come il processore. I noccioli vengono solitamente con un "programmatore", che assegna l'accesso alle risorse per ogni processo in esecuzione sulla base di un determinato programma.

L'interazione con l'hardware

I kernel anche gestire "le chiamate di sistema" e "interrupt", quando un programma gestito da l'utente desidera accedere hardware del sistema, o se un programma crea un errore che il kernel deve gestire. Per esempio, inviando una richiesta al disco rigido per recuperare un file sembra accadere istantaneamente. Tuttavia, se tutti i programmi in esecuzione su un computer hanno dovuto attendere ogni volta che il kernel accede al disco rigido, il sistema sarebbe diventato incredibilmente lento. Invece, il kernel invia un comando per recuperare il file dal disco rigido, quindi consente ad altri processi di continuare. Quando il disco rigido è pronto, invia un segnale di interrupt per dire al kernel che è pronto, e il kernel poi gestisce la richiesta di file.

Stato del sistema

Il kernel memorizza anche lo stato del sistema attraverso una varietà di strutture di dati. Ciò è essenziale per i moderni sistemi operativi multitasking. Senza questa capacità, il kernel sostanzialmente limitato ad eseguire un processo alla volta. Il kernel utilizza una miscela di tabelle hash, liste collegate e altre strutture di dati al fine di rappresentare le informazioni memorizzate in cui, quali programmi sono in esecuzione, e come dati di processo e sono legati l'uno all'altro.