martedì 30 gennaio 2007

Prima di tutto....


...un pò di Storia.


Linux è il nome del kernel originariamente sviluppato da Linus Torvalds. Il nome Linux a dispetto dell'assonanza tra il nome dell'ideatore e quello del sistema (Linus - Linux) è da attribuire a Ari Lemke, l'amministratore che rese per primo disponibile Linux su internet via FTP. In particolare Linux era il nome della directory in cui risiedevano i file del nuovo sistema operativo.

Con il termine "Linux" spesso si indica erroneamente 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" !

Linux vede la luce nel 1991 grazie al giovane studente Linus Torvalds, mentre il progetto GNU nasce nel 1984 per mano di Richard Stallman. Torvalds, appassionato di programmazione, era insoddisfatto del sistema operativo Minix (sistema operativo unix-like destinato alla didattica, scritto da Andrew Tanenbaum, professore ordinario di Sistemi di Rete all'università di Amsterdam), e decise perciò di creare un kernel con lo scopo di divertirsi e studiare il funzionamento del suo nuovo computer (un 80386), adottando il sistema di licenza GNU .

Poiché la licenza di Minix non permetteva la revisione del software se non per motivi puramente didattici, Linus Torvalds decise di 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 assembly. 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.

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).

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, 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..di queste due interfacce grafiche ne riparleremo la prossima volta) 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.

Piccola kikka ;)
Nel passaggio da un sistema Windows a uno Linux, risulta probabilmente evidente la differenza nei separatori delle directory. In Windows, infatti, si usa il carattere backslash ("\"); in Linux, come in tutti i sistemi simil-Unix (così come in altri sistemi operativi), si usa invece lo slash ("/"). Si noti che anche il separatore di percorso nelle URL dei vari protocolli di rete (come gli indirizzi internet) è costituito dallo slash; la motivazione è che le reti di computer e Internet sono nate su sistemi Unix.

Nessun commento: