Differenza tra kernel e shell

La principale differenza tra kernel e shell è che il il kernel è il cuore del sistema operativo che controlla tutte le attività del sistema mentre la shell è l'interfaccia che consente agli utenti di comunicare con il kernel.

Unix è un sistema operativo. È l'interfaccia tra l'utente e l'hardware. Esegue una serie di compiti tra cui gestione dei file, gestione della memoria, controllo dei dispositivi hardware, gestione dei processi e molto altro. Esistono varie versioni di Unix: Solaris Unix, HP Unix, AIX, ecc. Linux è un assaggio di Unix ed è gratuito e open source. Unix è popolare a livello aziendale perché supporta più ambienti utente. Kernel e Shell sono due componenti nell'architettura Unix. Il kernel è il cuore del sistema operativo mentre Shell è un'utilità per elaborare le richieste dell'utente.

Aree chiave coperte

1. Cos'è il kernel
     - Definizione, uso
2. Cos'è Shell
     - Definizione, uso
3. Differenza tra kernel e shell
     - Confronto tra le principali differenze

Parole chiave

Kernel, Shell, Sistema operativo, Unix

Cos'è il kernel

Il kernel è il cuore del sistema operativo. Il termine kernel si riferisce spesso al sistema operativo. Il codice critico del kernel è memorizzato in una speciale area di memoria per proteggerlo da altri programmi. È una componente vitale in quanto è la base per il corretto funzionamento dell'intero sistema. Il kernel esegue una serie di attività tra cui la gestione dei processi, la gestione dei dispositivi hardware e la gestione degli interrupt.

Figura 1: layout del kernel

Inoltre, esegue la gestione della memoria, la gestione dei file e la pianificazione delle attività. Una chiamata di sistema è una richiesta di un processo al kernel. Il kernel gestisce queste chiamate di sistema e altre risorse.

Cos'è Shell

Shell è l'interfaccia tra utente e kernel. È un interprete della riga di comando ed è l'interfaccia tra l'utente e il kernel. L'utente può inserire i comandi nella shell. Quindi interpreta i comandi per eseguire l'attività richiesta. Inoltre, esegue programmi e script di shell. Uno script di shell è un insieme di comandi. L'utente dovrebbe seguire la sintassi standard per scrivere i comandi nella shell.

Figura 2: Bourne Shell

Esistono vari tipi di shell. La shell Bourne (sh) è la shell Unix più popolare. Il prompt predefinito della shell Bourne è $. La shell Korn (ksh) è retrocompatibile con la shell Bourne e include molte funzionalità della shell C. Bourne Again Shell (bash) è una sostituzione shell gratuita per la shell Bourne. Le shell di Korn e Bourne Again sono superserie della shell Bourne. Inoltre, la shell C (csh) offre alcuni vantaggi rispetto alla shell Bourne. Fornisce funzionalità di cronologia e alias dei comandi. Il prompt predefinito della shell C è%.

Differenza tra kernel e shell

Definizione

Il kernel è un programma per computer che funge da nucleo del sistema operativo del computer e ha il controllo su tutto il sistema. Una shell è un programma per computer che funziona come interfaccia per accedere ai servizi forniti dal sistema operativo.

uso

Il kernel è il cuore del sistema che controlla tutte le attività del sistema. Shell è l'interfaccia tra il kernel e l'utente.

tipi

Il kernel non ha tipi diversi. Shell ha diversi tipi come Bourne shell, C shell, Korn Shell, Bourne Again Shell, ecc.

Conclusione

La differenza tra kernel e shell è che il kernel è il nucleo del sistema operativo che controlla tutte le attività del sistema mentre la shell è l'interfaccia che consente agli utenti di comunicare con il kernel. In breve, la shell è l'interfaccia che aiuta gli utenti ad accedere ai servizi forniti dal sistema operativo.

Riferimento:

1. "Unix / Linux Per iniziare." Www.tutorialspoint.com, Tutorials Point, 14 giugno 2018, disponibile qui.
2. "Unix / Linux What Is Shells?" Www.tutorialspoint.com, Tutorials Point, 14 giugno 2018, disponibile qui.
3. "Kernel (sistema operativo)." Wikipedia, Wikimedia Foundation, 10 luglio 2018, disponibile qui.

Cortesia dell'immagine:

1. "Kernel Layout" di Bobbo - Opera propria (CC BY-SA 3.0) via Commons Wikimedia
2. "Versione 7 UNIX SIMH PDP11 Kernels Shell" di Huihermit - Opera propria (CC0) tramite Commons Wikimedia