Come s'installa

Struttura e caratteristiche

Linux è un sistema operativo multitasking a 32 bit molto completo e flessibile. Funziona in modalità protetta, ogni programma in esecuzione occupa specifici indirizzi di memoria, "protetti" dalla possibilità che altri programmi vadano ad occupare gli stessi indirizzi causando in tal modo il blocco del sistema (tipico ad esempio del DOS che funziona in modalità reale).

La sua struttura è costituita da una serie di livelli collegati tra di loro: il livello base, meglio inteso come il nucleo o il cuore del sistema operativo è il kernel, che gestisce direttamente la macchina dialogando fisicamente con l'hardware (memoria e processore). Ad un livello superiore si trovano i comandi o processi che possono essere eseguiti contemporaneamente sul sistema. Tali comandi vengono eseguiti dal kernel che li passa direttamente al sistema. Ad un livello superiore troviamo la shell ovvero l'interprete dei comandi (un po' come il COMMAND.COM del DOS), che permette all'utente di impartire i comandi che verranno poi alla base eseguiti dal sistema, attraverso l'interazione del kernel. Alcune caratteristiche fondamentali della shell, che rappresenta peraltro un completo ambiente di sviluppo, sono l'uso dei nomi abbreviati per i file, il redirezionamento dell'input e dell'output e la possibilità di personalizzare e potenziare vari comandi con l'ausilio di script realizzati appunto usando il linguaggio shell o bourne shell.

Schematizzando le principali caratteristiche di Linux sono: la possibilità di lavorare in un ambiente completamente multitasking, con la possibilità di utilizzare delle "tastiere virtuali", e quindi più terminali sullo stesso PC il completo supporto per il networking ed in particolare per il protocollo TCP/IP, integrato completamente all'interno del sistema operativo. Supporta numerosi altri protocolli e mostra tutta la sua potenza nell'integrazione di tutti i più comuni pachetti di applicativi per i servizi di rete e per i servizi di tipo server (ftpd, telnetd, pppd e httpd). Inoltre offre supporto per i protocolli PPP e SLIP sia dal lato CLIENT che da quello SERVER, in modo da poter usarlo per connettersi ad internet da un normale PC o per offrire la possibilità ad utenti esterni di accedere alla rete attraverso di esso. la possibilità di utilizzare un completo ambiente grafico, una sviluppata GUI (Graphical User Interface) conosciuta con il nome di X Windows. In realtà si tratta di un ambiente a finestre, dove l'output "grafico" delle varie applicazioni, viene gestito attraverso un specifico protocollo che dialoga direttamente con il server X. Anche in questo caso l'architettura proposta è del tipo client/server. L'ultima versione di X è la X11R6.1 ma sui PC del tipo 80x86 viene normalmente impiegata la versione Xfree attualmente giunta alla v3.20, in grado di supportare le schede grafiche di ultima generazione. X fornisce il supporto per diversi ambienti grafici, non a livello però di Motif per Sun. Attualmente è comunque possibile reperire presso le più diffuse distribuzioni ambienti come Open look o fvwm, più vicini ai sistemi a finestre dei SO di nuova generazione (Windows95 e OS2 su tutti).

L'installazione di X è spesso delicata, come per la compilazione del kernel, occorre conoscere a fondo i dispositivi hardware presenti sul sistema (monitor, scheda video con relativo chipset e mouse) e rispondere ad una serie di domande poste dal sistema una volta eseguita la procedura: /usr/X11/bin/xf86config. Viene generato così un file dallo stesso nome del comando nella directory /etc contenente i vari parametri che permettono ad X di andare in esecuzione. Il comando da usare per eseguirlo è in genere startx.

Un'altra fondamentale caratteristica di Linux è quella di essere un completo ambiente di sviluppo per applicazioni e programmi realizzati con numerosi tra i più potenti strumenti di programmazione come il C ed il C++, il Perl il Tcl/Tk. I compilatori gcc e g++ sono ritenuti i migliori compilatori di C esistenti. Attualmente Linux è fortemente rivolto verso JAVA. Una versione del JDK, l'ambiente di sviluppo per Java è stata già da tempo rilasciata per Linux. A cura di Paolo Pavan