Linux è il nome che Linus Torvalds ha dato al kernel da lui sviluppato basandosi su Unix, ma con il termine si indica comunemente il sistema operativo libero basato sul kernel Linux e sul sistema GNU, che secondo una parte della comunità informatica dovrebbe per questo chiamarsi "GNU/Linux" (cfr. Controversia sul nome GNU/Linux).
Storia di Linux
Inizi
Linux nacque come hobby nel 1991 grazie al giovane studente dell'Università di
Helsinki in
Finlandia di nome
Linus Torvalds, mentre il sistema GNU è nato grazie a
Richard Stallman. Torvalds, appassionato di programmazione, era insoddisfatto del sistema operativo
Minix (sistema operativo basato su Unix destinato all'insegnamento scritto da
Andrew Tanenbaum), e decise perciò di creare un kernel, con lo scopo di divertirsi e studiare il funzionamento del suo nuovo computer (un
80386), utilizzando le parti del sistema GNU già funzionanti.
Poiché la licenza di Minix non permetteva il riuso del software se non per motivi puramente didattici, dovette creare il suo kernel partendo da zero. Per la sua creazione decise di usare la licenza GPL per permettere a chiunque di contribuire e di utilizzarlo in modo libero. Linux all'inizio era un semplice emulatore di terminale scritto in C e assembler (il che rendeva Linux, almeno all'inizio, strettamente vincolato all'architettura x86) che poteva essere avviato da floppy disk senza doversi appoggiare ad un sistema operativo. L'emulatore di terminale avviava e gestiva due thread, uno per mandare segnali alla porta seriale e uno per riceverli, quando poi Linus ebbe bisogno di leggere e scrivere file su disco, questo emulatore fu esteso in modo che potesse gestire un filesystem. Lentamente questo programma si trasformò in un intero kernel in grado di gestire un sistema operativo e Linus iniziò a documentarsi sulle specifiche POSIX, chiedendo assistenza sul newsgroup comp.os.minix nel famoso messaggio* del 25 agosto 1991. La prima versione del kernel Linux, la 0.01, fu pubblicata su Internet il 17 settembre 1991 e la seconda nell' ottobre dello stesso anno. Sin dalla versione 0.01 si poteva compilare e far partire la shell GNU Bash: si aveva un sistema operativo minimale da cui poter partire per ulteriori miglioramenti. All'inizio era richiesto un computer con Minix per configurare, compilare e installare Linux (fino alla versione 0.10, la 0.11 poteva essere compilata da linux stesso), perché usava il filesystem del sistema sul quale si appoggiava. Presto i sistemi Linux superarono Minix in termini di funzionalità, Torvalds e altri sviluppatori della prima ora di Linux adattarono il loro kernel perché funzionasse con i componenti GNU ed i programmi in user-space per creare un sistema operativo completo, pienamente funzionante e libero.
Linux is obsolete
Il
29 gennaio 1992 Andrew Tanenbaum, l'autore di
minix, probabilmente irritato dal continuo interesse verso Linux sul newsgroup del
suo sistema operativo scrisse un messaggio dal titolo
LINUX is obsolete. Nel
post Tanenbaum criticava l'architettura monolitica del
kernel linux e la sua scarsa portabilità. Linus replicò immediatamente alla provocazione ribattendo punto per punto a Tanenbaum, sminuendo inoltre minix e il suo autore dando vita ad una storica
flame war ancora oggi reperibile su svariati siti web.
Linux e la rete
Nella primavera del
1992 l'
hacker Orest Zborowski riuscì a rendere eseguibile il
server X sulla versione 0.13 di Linux. Per far ciò Orest dovette implementare tutta la struttura degli
Unix Domain Socket indispensabili a X Window e quindi un primo livello
socket sul quale venne poi costruita tutta l'infrastruttura di rete di Linux. In realtà il tutto era imbastito in maniera un po' caotica e non era ben integrato all'interno del kernel ma Linus accettò comunque la
patch perché con essa era possibile sia utilizzare X, sia utilizzare tale infrastruttura per dotare Linux di uno
stack di rete. Entusiasta della novità Linus rilasciò dopo la versione 0.13 la versione 0.95 senza pensare a tutti i problemi di sicurezza che la rete avrebbe comportato. Per rimediare alla leggerezza nei due anni che trascorsero dalla 0.95 alla 1.0 Linus dovette utilizzare sia un ulteriore numero per indicare il
livello di patch sia le lettere dell'alfabeto (sino alla versione 0.99.15Z, 0.99 15° livello di patch,
revisione Z).
La versione 1.0
Il
14 marzo 1994 il 16° livello di patch del kernel 0.99 divenne Linux 1.0. Fu lo stesso Linus Torvalds a presentare la prima versione
stabile della sua creatura presso l'Università di
Helsinki.
Oggi
Oggi, Torvalds continua a dirigere lo sviluppo dei kernel, mentre altre parti del sistema, come le componenti GNU, sono sviluppate separatamente. Il compito di fornire un sistema integrato, che combina tutte le componenti di base con le interfacce grafiche (come per esempio
GNOME o
KDE, che a loro volta si basano sulla presenza dell'
X Window System) e con il software applicativo, viene ora svolto dalle
distribuzioni. Nel 1996 fu scelto come logo ufficiale di Linux un pinguino disegnato da
Larry Ewing e ad esso venne dato il nome di
TUX come abbreviazione di Torvalds UniX. Altre fonti sostengono si tratti dell'abbreviazione di TUXedo che in inglese significa il nostro "giacca e cravatta" a causa della colorazione del corpo del pinguino.
Oggi GNU/Linux resta il sistema operativo preferito da migliaia di programmatori sparsi in tutto il mondo, è usato soprattutto come server in ambienti di produzione ma ultimamente ha conosciuto anche la sua affermazione in ambiente desktop.
L'importanza di Linux
GNU/Linux è il prodotto di appassionati indipendenti creato per pura sfida intellettuale, senza vincoli commerciali. Questo ha generato due importanti conseguenze:
- in primo luogo il risultato ottenuto è la sorprendente collaborazione di migliaia di programmatori sparsi in tutto il Mondo, (per questo viene considerato come il più grosso progetto collaborativo della storia dell'uomo).
- il secondo aspetto è la "liberalizzazione" del prodotto: GNU/Linux è un software libero che permette agli utenti di avere a disposizione un sistema operativo completamente funzionante slegato dalle classiche leggi commerciali.
L'aspetto della libertà del programma mette al centro l'utente garantendogli la possibilità di visionare e modificare i codici sorgenti, la possibilità di usare il software per qualsiasi scopo, la possibilità di ridistribuirlo nel formato originario o da lui modificato.
Il sistema GNU/Linux è da considerare trasparente e completamente configurabile, infatti a volte, Microsoft Windows, dietro una patina di apparente semplicità, nasconde il funzionamento logico del proprio computer e l'impossibilità di ottenere il risultato finale voluto.
Questa filosofia permette lo scambio di informazioni tra gli utenti e i programmatori e ha come risultato un prodotto che risulta avere prestazioni migliori in alcuni ambiti rispetto agli attuali concorrenti commerciali.
GNU/Linux è meno esposto degli altri sistemi operativi ai virus ed in genere ai maleware informatici per vari motivi:
- l'infezione di una macchina di solito è limitata al singolo utente e quindi non compromette, di norma, l'intero sistema operativo.
- quando viene scoperto un problema in un prodotto di software libero si ha la patch (correzione) di solito nel giro di poche ore o giorni rendendo vane le possibilità di un virus di sfruttare tale falla.
- chi sviluppa software maligno, generalmente, desidera colpire il maggior numero di macchine possibile: data la diffusione di Windows assai maggiore rispetto a quella di sistemi operativi basati su Linux, tendenzialmente il malware in circolazione è progettato per infettare macchine Windows, quindi incompatibile con Linux (solo raramente i virus sono multipiattaforma).
- gli utenti di Linux sono meno numerosi, ma più preparati tecnicamente o conoscono per lo meno alcune delle basi di un sistema operativo, sono consapevoli di cosa stanno facendo e qual è il risultato che vogliono ottenere.
Oggigiorno, quasi tutto l'hardware è compatibile con GNU/Linux.
Esistono principalmente due soluzioni all'incompatibilità degli eseguibili di altri sistemi operativi: utilizzare soluzioni come Wine oppure aggirare il problema e utilizzare un applicativo simile sviluppato per Linux. In entrambi i casi possono esserci possibilità di successo e svantaggi che non possono essere valutati se non caso per caso.
Le distribuzioni di Linux
Non esiste un'unica versione di GNU/Linux ma esistono diverse distribuzioni solitamente create da comunità di sviluppatori o società, che preparano e scelgono i pacchetti da includere. Oltre al cosiddetto "parco software", cioè i pacchetti preparati dagli sviluppatori della distribuzione per la distribuzione stessa, l'altro elemento fortemente caratterizzante è il
sistema di gestione del software.
Esistono delle distribuzioni eseguibili direttamente da CD senza che sia richiesta l'installazione sul proprio hard disk), come Knoppix e derivate.
Alcune tra le principali distribuzioni Linux sono (in ordine alfabetico):
Voci correlate
Collegamenti esterni
Linux | Sistemi operativi
GNU/Linux | Linux | لينكس | Линукс | Linux | Linux | Linux | Linux | Linux | Linux distribution | Linukso | Linux | Linux | Linux | لینوکس | Linux | Distribution Linux | Linux | הפצות של GNU/לינוקס | Linux | Linux | Linux | Linux | Linux | GNU/Linuxシステム | ლინუქსი | 리눅스 | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Линукс | Linux | Linux | GNU/Linux | Linux | Linux | GNU/Linux | Linux | Linux | Linux (ядро) | Linux | Linux | Linux | Linux | Линукс | GNU/Linux | லினக்ஸ் | ลินุกซ์ | GNU/Linux | Linux | Linux | Linux内核 | Linux