Next
Previous
Contents
Caratteristiche di Unix
- E' un sistema operativo timesharing multiutente.
- E' portabile perche` scritto in C.
- E' di concezione semplice:
- Gli oggetti sono omogenei (i dispositivi hardware, le pipe, le socket, etc. sono visti come file regolari e le operazioni su di essi hanno la stessa semantica e la stessa sintassi).
- Tutti i file di configurazione sono file di testo, "umanamente" leggibili (e molto commentati).
- Gli strumenti di base a disposizione sono molti, spartani ed efficienti.
- Per via della sua semplicità, è estremamente flessibile.
- Particolarmente indicato come server di rete (soprattutto TCP/IP, in quanto il progetto ArpaNet, da cui Internet è nata, è stato sviluppato in principio su Unix).
Storia di Unix
- Nasce nel 1969 nei laboratori Bell della AT&T ad opera di Ritchie e Thompson.
- Nel 1973 viene riscritto in C per aumentarne la portabilità.
- Successivamente AT&T rende disponibili i sorgenti ad alcuni licenziatari, tra cui l'Università di Berkeley, che ne modifica il codice e aggiunge nuovi programmi di supporto.
- Nel 1977 esce BSD, ovvero la versione di Unix riveduta dall'Università di Berkeley.
- Nel 1982 esce la prima versione commerciale di Unix, prodotta dalla AT&T, denominata System III, seguita a un anno di distanza dalla versione System V.
- Lo sviluppo di Unix si divide in due ceppi: i sistemi derivati da System V (Solaris, SCO Unix, AIX, HP/UX, OpenStep) e quelli derivati da BSD (FreeBSD, BSDI).
- Da questa scissione si presenta l'esigenza di uno standard: POSIX.
- 1991: nasce Linux ad opera di Linus Torvalds.
OpenSource e GNU
- il progetto GNU (GNU is Not Unix) di cui il principale fautore è Richard Stallman si propone di fornire un ambiente di software completo per sistemi Unix composto unicamente di free software, appoggiandosi alla licenza GPL.
- La licenza GPL (General Public Licence) richiede che il codice sorgente sia protetto da copyright (il programma rimane quindi di proprietà dell'autore) e che nessuno possa togliere liberta` riguardo alla distribuzione, il prezzo e l'accesso ai sorgenti.
- In particolare, per libertà si intende che l'utente può adattare il programma alle proprie esigenze modificandone il codice sorgente, ridistribuirlo e anche eventualmente venderlo (When we speak of free software, we are referring to freedom, not price), ma è tenuto a rispettare la licenza GPL che impone di menzionare l'autore originale e mettere a disposizione il codice sorgente in modo che anche gli altri utenti possano avvalersi degli stessi diritti).
- Il software sotto GPL, per via del suo modello di sviluppo "aperto", non offre nessuna garanzia, quindi è importante menzionare gli eventuali autori da cui si deriva il proprio lavoro anche per sapere a chi mandare segnalazioni di bugs, correzioni, etc.
- I programmatori possono guadagnare dall'assitenza sul software, sulla programmazione di programmi specifici a DOC su eventuali libri scritti sui programmi e sui sistemi operativi.
GNU/Linux
- Linux deriva originariamente dal Minix di Andrew S. Tanenbaum, di cui riprende e migliora molte caratteristiche.
- Il suo successo deriva non tanto dalle pur molte innovazioni rispetto a Minix quanto dalla licenza con cui è distribuito: Minix è distribuito per soli fini didattici, mentre Linux può essere usato anche in ambito commerciale.
- Il rilascio sotto GPL ha fatto si che migliaia di persone si interessassero al progetto, e così al giorno d'oggi Linux, grazie ai tanti programmatori che ne seguono lo sviluppo, è una delle più efficienti implementazioni di Unix ed ha raggiunto un buon livello di stabilità e di compatibilità hardware.
- Si noti che il vero nome del sistema è "GNU/Linux" perchè Linux è il solo kernel, mentre GNU è tutto il resto del software. È infatti in sviluppo il sistema operativo "100% GNU", che prende il nome di GNU Hurd.
- Linux viene usato in ambito commerciale(ISP), in ambito aziendale visto che alcune distribuzioni tipo la REDHAT e la SUSE stanno fornendo oltre al sistema operativo anche supporto all'installazione, in ambito militare (sicurezza grazie ai codici sorgenti) e sperimentale (NASA) in alcuni sperimenti scientifici e infine linux si sta avvicinando anche agli utenti finali (KDE GNOME).
- Linux è esente dal millenium bug in quanto il tempo viene conteggiato (in secondi) dall'anno di nascita dei sistemi UNIX 1970, qualche problema lo potrebbe avere nel 2038 (40 anni per porvi rimedio!), Secondo Alan Cox uno dei maggiori sviluppatori del kernel di Linux un tempo abbastanza lungo per poter passare a un'archittetura per esempio a 64 bit.
Le distribuzioni
- Poichè "Linux" è solo il kernel e il software GNU consiste di centinaia di progetti diversi, sono nate le distribuzioni per offire all'utente un ambiente completo, funzionale e facile da usare, e semplificare l'organizzazione del software imponendo una gerarchia.
- Tutte le distribuzioni o quasi hanno una versione "gratuita" e una versione "commerciale": la differenza risiede nella presenza di eventuali programmi commerciali non-GPL (per esempio il server grafico MetroX) e in un maggior numero di CD contenenti i sorgenti.
- una carrellata sulle distribuzioni più note...
- Slackware: una delle primissime distribuzioni di Linux, molto spartana, non molto aggiornata (è basata su libc5), ma anche molto parsimoniosa di risorse e indicata per capire il funzionamento del sistema.
- RedHat: è la distribuzione di maggior successo, ha una gestione dei "pacchetti" software semplice ed efficiente e dispone di numerosi tool con interfaccia grafica per l'amministrazione del sistema.
- Debian: è l'unica distribuzione non-commerciale, e come tale contiene solo software sotto GPL. è mantenuta da soli volontari e dispone di una gestione dei pacchetti software macchinosa ma efficiente.
- Mandrake: è derivata da RedHat, con cui condivide il formato dei pacchetti (rpm), ma è particolarmente indicata ai principianti in quanto è basata su interfaccia grafica.
- SuSE: deriva anch'essa da RedHat, ma ha una dotazione software ricchissima comprendente anche molto software commerciale, e un manuale cartaceo completo.
Il seminario si svolgerà il 18 Gennaio nel pomeriggio (ore ancora da definire) al dipartimento di informatica che si trova in via Comelico n 39, l'aula è ancora da definire. Il programma a grandi linee è il seguente:
- breve riassunto della puntata precedente: GNU, Linux, concetti di base (servizi di rete, configurazione con file di testo, distribuzioni).
- Installazione di una distribuzione (preferibilmente Debian).
- concetti generali comuni alle distribuzioni (script di avvio, struttura del filesystem, gestione dei pacchetti, aggiornamenti).
- configurazione e compilazione del kernel.
- file di log configurazione e funzionamento.
- configurazione di rete di base.
- configurazione di X (con attenzione particolare all'architettura client-server).
- eventuali approfondimenti sui servizi di rete principali (inetd, tcpd,...).
- La durata del seminario sara` all'incirca di 2 ore.
Next
Previous
Contents