Cos'è Linux
di Luca Bove (PuntoWeb.Net Srl)
Linux, tecnicamente parlando è un kernel, il nucleo essenziale di un sistema operativo che si occupa della gestione dell'hardware e della rete e che essenzialmente permette a tutti gli altri programmi di girare. La maggior parte delle persone, comunque, quando parlano di LINUX, intendono un sistema operativo completo con tutte le applicazioni che ci girano sopra, alternativo a Microsoft Windows o Apple MacOS.
Linux può rimpiazzare Windows su un PC o Windows NT su di un server. Nel mondo ci sono diversi milioni di utenti di Linux che lo usano nei più disparati ambienti. Linux viene utilizzato come sistema operativo sui server principali da molti siti web e ISP. E' usato come workstation per il design da molti grafici. Viene utilizzato come principale piattaforma di sviluppo per molti programmatori C e Java nel mondo.
Linux è stato originariamente scritto per architetture INTEL 386, ma attualmente gira su di una vasta gamma di hardware sia essa basata sulla famiglia INTEL, su Alpha, SPARC e processori PowerPC. Linux, pur non essendo stato sviluppato all'interno del progetto GNU, viene distribuito in accordo alla GNU GPL.
Linux è un sistema operativo moderno. Gira su architetture a 32-bit e a 64 bit, utilizza il preemptive multitasking, memoria protetta, ed è multiutente. Il che significa che più utenti possono lavorare sul medesimo computer, che ciascuno di essi può eseguire contemporaneamente più programmi e che ciascun programma può eseguire contemporaneamente più funzioni. Quando ci sono molti processi attivi, il sistema può eseguire un programma leggendo dal disco solo un segmento per volta (quello necessario all'esecuzione) allo scopo di ottimizzare la memoria. Inoltre se uno stesso programma viene eseguito più volte contemporaneamente, per esempio da due utenti diversi, la parte di esso non soggetta a modifiche viene condivisa da tutte le istanze. Linux possiede un ricchissimo supporto per il networking: implementa integralmente i protocolli TCP/IP (Transmission Control Protocol / Internet Protocol), SLIP (Serial Line Internet Protocol) e PPP (Point to Point Protocol) per la connessione via modem e PLIP (Parallel Line Internet Protocol). Vengono supportati tutti i servizi di base come TELNET, FTP (File Transfer Protocol), NFS (Network File System) e SMTP (Simple Mail Transfer Protocol).
Linux è stato reso compatibile a livello di codice sorgente con i più noti standard nati intorno a Unix come l'IEEE POSIX, System V e BSD. Per questo motivo su Linux girano quasi tutte le applicazioni che girano su Unix: è sufficiente una ricompilazione. Web server come Apache (che è leader di mercato), potenti mail server come Sendmail e server database (commerciali) come Oracle, Informix, (open source) come MySQL e Postgres girano splendidamente sotto il sistema operativo FREE per eccellenza.
Linux utilizza un proprio file system per la memorizzazione dei file, chiamato ext2fs, ma ne supporta una gamma enorme. Con esso si possono quindi utilizzare anche dischi e dischetti MS-DOS e CD-ROM standard ISO 9660. Attraverso programmi come Samba si può rimpiazzare completamente NT come file server. Attraverso l'uso di tecnologie per il clustering, Linux può essere sfruttato per maneggiare le pesanti richieste per il supercomputing generate da molte applicazioni scientifiche/ ingegneristiche e da ambienti con elevati requisiti di affidabilità.