Linux non è solo Linux 8 pezzi di software che compongono sistemi Linux
Le distribuzioni Linux non sono solo il kernel di Linux. Contengono tutti altri software critici, come il bootloader Grub, la shell Bash, le utilità della shell GNU, i daemon, il server grafico X.org, un ambiente desktop e altro.
Tutti questi diversi programmi sono sviluppati da diversi gruppi di sviluppo indipendenti. Sono combinati dalle distribuzioni Linux, dove si basano l'uno sull'altro per creare un sistema operativo "Linux" completo. Questo è diverso da Windows, che è sviluppato interamente da Microsoft.
Boot loader
Quando accendi il computer, il BIOS del tuo computer o il firmware UEFI carica il software dal tuo dispositivo di avvio. Il primo programma che carica con qualsiasi sistema operativo è il boot loader. Con Linux, questo è generalmente il boot loader Grub.
Se sono installati più sistemi operativi, Grub fornisce un menu che consente di scegliere tra di essi - ad esempio, se hai installato Linux in una configurazione dual-boot, puoi scegliere Linux o Windows all'avvio.
Grub potrebbe avviare il tuo sistema Linux quasi istantaneamente se hai un solo sistema operativo installato, ma è ancora lì. Grub gestisce il processo di avvio di Linux, emettendo le opzioni della riga di comando e consentendo di avviare Linux in altri modi per la risoluzione dei problemi. Senza un boot loader, una distribuzione Linux non si avviava.
Il kernel di Linux
Il pezzo preciso di software Grub è il kernel di Linux. Questa è la parte del sistema che in realtà si chiama "Linux". Il kernel è il cuore del sistema. Gestisce la CPU, la memoria e i dispositivi di input / output come tastiera, mouse e display. Poiché il kernel parla direttamente all'hardware, molti driver hardware fanno parte del kernel Linux e vengono eseguiti al suo interno.
Tutti gli altri software funzionano al di sopra del kernel. Il kernel è il software di livello più basso, che si interfaccia con l'hardware. Fornisce uno strato di astrazione sopra l'hardware, occupandosi di tutte le diverse peculiarità dell'hardware in modo che il resto del sistema possa occuparsi di loro il meno possibile. Windows usa il kernel di Windows NT e Linux usa il kernel di Linux.
Demoni
I demoni sono essenzialmente processi di sfondo. Spesso iniziano come parte del processo di avvio, quindi sono una delle cose successive che vengono caricate dopo il kernel e prima di vedere la schermata di accesso grafica. Windows si riferisce a processi come "servizi", mentre i sistemi di tipo UNIX si riferiscono a loro come "demoni".
Ad esempio, crond, che gestisce le attività pianificate, è un demone - la d alla fine sta per "demone". Syslogd è un altro daemon che tradizionalmente gestisce il registro di sistema. I server, come il server sshd, vengono eseguiti come demoni in background. Ciò garantisce che siano sempre in esecuzione e in ascolto per le connessioni remote.
I demoni sono essenzialmente solo processi in background, ma sono processi a livello di sistema che in genere non si notano.
Il guscio
La maggior parte dei sistemi Linux usa la shell Bash di default. Una shell fornisce un'interfaccia processore di comandi che consente di controllare il computer digitando i comandi su un'interfaccia di testo. Le shell possono anche eseguire script di shell, che sono una raccolta di comandi e operazioni eseguite nell'ordine specificato nello script.
Anche se stai usando un desktop grafico, le shell sono in esecuzione e vengono utilizzate in background. Quando si apre una finestra di terminale, viene visualizzato un prompt della shell.
Shell Utilities
La shell fornisce alcuni comandi di base incorporati, ma la maggior parte dei comandi di shell che gli utenti Linux usano non sono incorporati nella shell. Ad esempio, comandi importanti come il comando cp per copiare un file, il comando ls per l'elencazione dei file in una directory e il comando rm per l'eliminazione dei file fanno parte del pacchetto GNU Core Utilities.
I sistemi Linux non funzionerebbero senza queste utilità critiche. In effetti, la shell Bash stessa fa parte del progetto GNU. Ecco perché c'è stata controversia sul fatto che Linux debba essere veramente chiamato "Linux" o "GNU / Linux". I critici del nome "Linux" indicano correttamente che molto più software va nei tipici sistemi Linux, che spesso non vengono riconosciuti. I critici del nome "GNU / Linux" indicano correttamente che un tipico sistema Linux include anche altri software critici che il nome "GNU / Linux" non comprende.
Non tutte le utilità di shell e i programmi da riga di comando sono sviluppati dal progetto GNU. Alcuni comandi e programmi terminali hanno ciascuno il proprio progetto a loro dedicato.
Server grafico X.org
La parte desktop grafica di Linux non fa parte del kernel di Linux. È fornito da un tipo di pacchetto noto come "X server", in quanto implementa il "sistema X Window" che ha avuto origine molti anni fa.
Attualmente, il server X o il server grafico più popolare è X.org. Quando vedi apparire una finestra di login grafica o un desktop, questo è X.org che fa la sua magia. L'intero sistema grafico è gestito da X.org, che si interfaccia con la scheda video, il monitor, il mouse e altri dispositivi.
X.org non fornisce l'intero ambiente desktop, solo un sistema grafico su cui gli ambienti desktop e i toolkit possono essere costruiti.
Ambiente desktop
Quello che stai veramente usando su un desktop Linux è un ambiente desktop. Ad esempio, Ubuntu include l'ambiente desktop Unity, Fedora include GNOME, Kubuntu include KDE e Mint include generalmente Cinnamon o MATE. Questi ambienti desktop forniscono tutto ciò che vedi: lo sfondo del desktop, i pannelli, le barre del titolo della finestra e i bordi.
Generalmente includono anche le proprie utility create per adattarsi all'intero ambiente desktop. Ad esempio, GNOME e Unity includono il file manager Nautilus sviluppato come parte di GNOME, mentre KDE include il file manager Dolphin sviluppato come parte del progetto KDE.
Programmi desktop
Non tutti i programmi desktop fanno parte di un ambiente desktop. Ad esempio, Firefox e Chrome sono indipendenti dall'ambiente desktop. Sono solo programmi che possono essere eseguiti normalmente su qualsiasi ambiente desktop. OpenOffice.org è un'altra suite di programmi che non è legata a un particolare ambiente desktop.
È possibile eseguire qualsiasi programma desktop Linux in qualsiasi ambiente desktop, ma quelli progettati per determinati ambienti desktop possono sembrare fuori luogo o trascinati in altri processi. Ad esempio, se si è tentato di eseguire il file manager Nautilus di GNOME su KDE, sembrerebbe fuori posto, richiedere l'installazione di una varietà di librerie GNOME e probabilmente avviare i processi desktop GNOME in background quando lo si apriva. Ma funzionerebbe e sarebbe utilizzabile.
Le distribuzioni Linux eseguono gli ultimi passaggi. Prendono tutto questo software, lo combinano in modo che funzioni bene insieme e aggiungano le proprie utility necessarie. Ad esempio, le distribuzioni creano i propri programmi di installazione del sistema operativo in modo da poter effettivamente installare Linux, così come i gestori di pacchetti per l'installazione di software aggiuntivo e mantenere aggiornato il software installato.
Immagine di credito: tao mai su Flickr