GRUPPO DI LAVORO COMPOSTO DA: C. FRANCESCO R. SAMUELE D. EDOARDO R. STEFANO R. FULVIO V.I GIOVANNI WHERE THERE IS A SHELL , THERE IS A WAY Unix è un sistema operativo portatile per computer inizialmente sviluppato da un gruppo di ricerca dei laboratori della AT&T corporation . Unix fu sviluppato da Ken Thompson nel 1969 per poter eseguire un programma chiamato "Space Travel" che simulava i movimenti del sole e dei pianeti, così come il movimento di una navicella spaziale che poteva atterrare in diversi luoghi. Multiutente: più utenti possono interagire contemporaneamente (da terminali diversi) con il sistema. Ogni utente è individuato da un nome logico (lo username). Gli utenti sono suddivisi in gruppi, ciascuno individuabile univocamente mediante il suo nome (il groupname). In ogni sistema è definito l'utente root, che rappresenta l'amministratore di sistema; Multiprogrammato (multitasking): il suo nucleo può supportare la contemporanea esecuzione di più processi gestiti a divisione di tempo; Gestione della memoria virtuale: il sistema di gestione della memoria in Unix si basa su paginazione e segmentazione. Queste caratteristiche consentono ad ogni processo di indirizzare un'area di memoria di dimensioni eventualmente superiori a quelle della memoria centrale effettivamente disponibile; Ambiente di sviluppo per programmi scritti in "C": Unix mantiene tuttora uno stretto legame con il linguaggio di programmazione “C”.Questa relazione si in un insieme piuttosto ricco di strumenti per lo sviluppo di applicazioni in "C“. I Bell Laboratories sono un laboratorio di ricerca e svilUppo situati nel New Jersey negli USA, ma hanno altri centri di ricerca sparsi per il mondo. Lo sviluppo di Unix si deve in parte a un progetto precedente, Multics(uno dei primi sistemi operativi in time-sharing, avrebbe dovuto servire le necessità di calcolo dell'intera città di Boston) abbandonato ben presto dalla direzione dei Bell Lab. perché ritenuto troppo complesso. Ken Thompson e Dennis Ritchie non si arresero: fu grazie ai loro sforzi che, su una vecchia macchina PDP-7, nacque la versione finale di Unix (in seguito Unix). Nome che stava a sottolineare la semplicità del progetto rispetto alla mal gestita complessità di Multics. I Bell Lab. Il PDP-7 Unix è riscritto prevalentemente in C, un nuovo linguaggio di programmazione sviluppato da Dennis Ritchie. La codifica in questo linguaggio di alto livello diminuisce fortemente lo sforzo necessario per portare Unix su nuove macchine. Thompson e Ritchie descrivono in una relazione il nuovo sistema operativo Unix. Genera entusiasmo nella comunità accademica che lo vede come un potente strumento di insegnamento per lo studio della programmazione di sistemi. Poichè il decreto del 1956 impedisce ad AT&T di commercializzare il prodotto, viene concessa una licenza all'Università per scopi educativi e una per esistenza commerciale. Il sistema telefonico statunitense stava subendo una piccola rivoluzione interna: l'utilizzo di mini-computer per la gestione del traffico voce e dati. Questi erano dotati di software di tipo minimale, che permetteva operazioni di manutenzione piuttosto limitate. Ben presto si scoprì come Unix, grazie alla sua concezione moderna e alla sua versatilità, permettesse ai mini-computer di fare operazioni molto più complesse. Per la prima volta, le operazioni di manutenzione potevano essere gestite a livello centrale, senza spedire i tecnici a investigare sul posto ad ogni singolo guasto. Nel 1984 AT&T venne Però anche altre società smembrata in 7 società più piccole e per questo la distribuzione gratuita di Unix ebbe fine. La prima versione che venne rilasciata a pagamento fu “Unix System III” alla quale seguì dopo pochi anni la versione “Unix System V”. ottennero successivamente le licenze di utilizzo del codice da AT&T e, da alcune di queste società vennero create SunOs e Xenix che poi divenne successivamente Microsoft. Nel 1993 AT&T decise di vendere tutti i diritti di Unix a Novell che creò UnixWare. La SCO inizialmente aiutò e supportò Linux con una propria distribuzione, però mentre SCO veniva schiacciata, da un punto di vista commerciale da Microsoft, le ditte di Linux crescevano creando problemi a SCO. Per questo SCO decise di procedere per vie legali, con accuse che riguardavano presunte violazioni di copyright del kernel di Unix. Nel 2007 la corte decise di annullare il processo in quanto nemmeno SCO possedeva i diritti di copyright su Unix. Linux è una famiglia di sistemi operativi di tipo unix-like, aventi la caratteristica comune di utilizzare come nucleo il kernel linux. Questo sistema operativo è nato da un singolo programmatore di nome Linus Torvalds. Inizialmente Linux per girare utilizzava, oltre al kernel di Torvalds, lo userspace di Minix. Successivamente, Linus decise di rendere il sistema indipendente da Minix, anche perché non ne gradiva la licenza che lo rendeva liberamente utilizzabile solo a fini didattici e decise, quindi, di sostituire quella parte del sistema operativo col software del progetto GNU. Per fare ciò, Torvalds doveva cambiare licenza e adottare la GPL (General Public License). La prima versione del kernel linux, la 0.01 fu pubblicata su internet il 17 settembre 1991. Fino alla versione 0.10 era richiesto un computer con Minix per configurare, compilare e installare Linux perché quest'ultimo usava il filesystem del sistema sul quale si appoggiava; dalla versione 0.11 linux si rendeva indipendente da minix. 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 nel Marzo 1994 viene rilasciata la prima versione definitiva 1.0. Nascono RedHat, Debian, SUSE tutt'ora fra le distribuzioni più diffuse. Linux, che resta Copyrighted by Linus Torvalds, diventa ufficialmente un software aperto, abbracciando in pieno la General Public License (GPL) del movimento Free Software di Stallman. Nascono i primi LUGs (Linux User Groups), ormai diffusi anche in Italia. Nel 1996 viene rilasciata la versione 2.0 e compaiono le prime versioni tradotte in più lingue. Linux ha bisogno di una mascotte: nasce TUX, il pinguino più famoso del mondo. NelLinus Torvalds 1997 lascia la Finlandia per raggiungere Santa Clara, Silicon Valley, in California. Nel 2002 Linux è una reale alternativa al mondo Microsoft e Unix, si ritrova milioni di utenti, migliaia di sviluppatori e un mercato in espansione. E' presente in sistemi integrati, è usato per il controllo di dispositivi robotizzati e ha volato a bordo dello Shuttle, praticamente gira su oggetti elettronici di tutti i tipi, dai palmari alle workstation Alpha. Nel 2004 il kernel 2.6 si diffonde e viene usato nelle principali distribuzioni, sempre più user friendly. Nel 2012, Torvalds continua a dirigere lo sviluppo dei kernel, mentre le altre parti dei sistemi Linux sono sviluppate separatamente. • Il kernel Linux costituisce il nucleo dei sistemi operativi della famiglia di Linux. Inoltre è uno dei più riusciti esempi di software open source (codice sorgente aperto). Il kernel Linux fu inizialmente creato nel 1991 da alcuni studenti di informatica finlandesi tra cui Linus Torvalds, il capogruppo. Linux aumentò in modo repentino i suoi sviluppatori ed utilizzatori che aderivano al progetto del software libero e contribuivano allo sviluppo del nuovo sistema operativo. • Il Filesystem Hierarchy Standard (FHS) («Standard di Gerarchia dei Filesystem») è uno standard che definisce le directory principali ed il loro contenuto nel file system dei sistemi operativi Unix-like, tra cui i sistemi Linux. Il processo di sviluppo di una gerarchia standard per i file system iniziò nell'agosto 1983 e finì il 14 febbraio 1994. Nel 1996 venne progettato una nuova versione che si poteva adattare con tutti gli altri sistemi Unix. Le distribuzioni Non esiste un'unica versione di Linux ma esistono diverse distribuzioni, solitamente create da comunità di sviluppatori o società, che scelgono, preparano e compilano i pacchetti da includere. Tutte le distribuzioni condividono il kernel Linux (sia pur in versioni diverse e spesso personalizzate), mentre si differenziano tra loro per il cosiddetto "parco software", cioè i pacchetti preparati e selezionati dagli sviluppatori per la distribuzione stessa, per il sistema di gestione del software e per i servizi di assistenza e manutenzione offerti. Esistono distribuzioni eseguibili direttamente da CD senza che sia richiesta l'installazione sul proprio hard disk: sono chiamate distribuzioni live o desktop CD. Distribuzioni più diffuse: Android (per dispositivi mobili per lo più touch screen) Arch Linux (leggera e veloce) Knoppix (la distribuzione live CD più famosa) Ubuntu ( facilità d’installazione e d’utilizzo) SuSE (usata a livello aziendale) Mandriva (orientata all’utente desktop) Dynebolic (specializzata nell’ editing di audio e video) Distribuzioni completamente libere: gNewSense Per aziende: Lion desktop Semplicità di installazione: a differenza di Windows non è necessario reperire i driver necessari per il sistema e le sue periferiche; Linux riconosce automaticamente un'enorme quantità di hardware. Semplicità d'uso: Linux si utilizza come un qualsiasi sistema operativo desktop, pochi click del mouse permettono la totale gestione. In particolare il sistema è molto snello, con le funzionalità che realmente servono! Velocità: a parità di hardware un sistema Linux è più veloce di Windows. La scelta Linux permette quindi alle aziende di non dover immediatamente rinnovare il proprio parco computer, ma di sfruttare meglio l'hardware esistente. Affidabilità: chi è abituato a messaggi del tipo "L'applicazione non risponde" o "Errore irreversibile" apprezzerà la loro assenza su Linux. Compatibilità: le applicazioni Microsoft Office sono sostituite in Linux dal software OpenOffice, composto da applicazioni analoghe ai prodotti Word, Excel, Powerpoint. OpenOffice ha comandi e funzioni del tutto analoghe alle applicazioni Microsoft e salva nei medesimi formati (doc, xls, ppt). Virus e sicurezza: Linux non richiede l'acquisto di licenze e aggiornamenti antivirus, in quanto non esistono virus per i sistemi unix Costi software: Linux dispone di un enorme enciclopedia di software ed applicazioni disponibili gratuitamente Per le scuole: Skolelinux Semplifica la manutenzione Localizza le infrastrutture IT delle grandi installazioni Fornisce una soluzione thin client che permette una facile manutenzione, la riduzione dei costi ed il riutilizzo di hardware datato; Taglia i costi grazie ai software open source ed al riutilizzo di hardware datato; nelle lingue native Norvegese e Sami; Identifica i programmi adatti per l'uso scolastico; Permette agli insegnanti di fornire agli studenti un'alta qualita di insegnamento.