I Sistemi Operativi e il mondo Open Source Progetto Speciale Multiasse Reti per il rafforzamento del sistema dell’istruzione Progetto Laboratorio vivo Docenti Prof. Daniele Frigioni Dip. di Ing. Elettrica e dell’Informazione Università degli studi dell'Aquila E-mail: [email protected] URL: http://www.diel.univaq.it/frigioni D. Frigioni & A. Sterpetti Prof. Adelfo Sterpetti Liceo scientifico M. Vitruvio P. Avezzano (AQ) [email protected] I Sistemi Operativi e il Mondo Open Source Calendario lezioni Giorno Ora Venerdì 06.11.2009 16:30 / 18:30 Venerdì 13.11.2009 14:30 / 18:30 Venerdì 20.11.2009 14:30 / 18:30 Venerdì 04.12.2009 14:30 / 18:30 Laboratorio Venerdì 11.12.2009 14:30 / 18:30 Laboratorio Giovedì 14.01.2010 14:30 / 16:30 Laboratorio D. Frigioni & A. Sterpetti Aula Sala Conferenze Sala Conferenze Sala Conferenze I Sistemi Operativi e il Mondo Open Source Sommario Parte teorica (10 ore) Nozioni di hardware dei sistemi di calcolo Nozioni di base sui sistemi operativi Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU Parte di laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Sistema di calcolo Programmi Applicativi – definiscono il modo in cui le risorse del sistema sono usate per risolvere i problemi computazionali degli utenti (elaboratori di testi, databases, video giochi, programmi commerciali, ecc.) Utenti - persone, macchine, altri computers utente 1 compilatore utente 2 utente 3 assemblatore editor di testi utente n basedi dati programmi applicativi sistemaoperativo Sistema Operativo – insieme di programmi che controlla e coordina l’uso delle risorse hardware tra i diversi programmi applicativi D. Frigioni & A. Sterpetti dispositivi fisici Hardware – insieme degli elementi fisici di un elaboratore (CPU, memoria, dispositivi, ecc) I Sistemi Operativi e il Mondo Open Source La macchina di von Neumann Schema di massima che identifica i principali sottosistemi del sistema di calcolo da un punto di vista funzionale Memoria principale Dispositivi Input Memoria secondaria CPU Output D. Frigioni & A. Sterpetti Unità di calcolo Unità di controllo I Sistemi Operativi e il Mondo Open Source Moderno calcolatore elettronico (1) Controllori – si occupano del controllo del funzionamento dei dispositivi fisici Bus – canale di comunicazione comune per l’accesso alla memoria condivisa D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Moderno calcolatore elettronico (2) Il calcolatore elettronico è lo strumento informatico che grazie alle sue enormi potenzialità consente di risolvere problemi computazionali o problemi di elaborazione di informazioni, cioè problemi che riguardano il trattamento automatico (rappresentazione ed elaborazione) di grandi quantità di informazione D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Elaborazione dell’informazione Ogni problema computazionale è caratterizzato da: un insieme di dati di partenza un risultato cercato Ogni informazione del problema computazionale va rappresentata e conservata nel calcolatore Ogni soluzione ad un problema computazionale è una procedura che genera un risultato sulla base dei dati indicati e va eseguita dal calcolatore D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Rappresentazione dell’informazione Il calcolatore è realizzato attraverso circuiti elettronici Abbiamo a che fare quindi con grandezze elettriche (tensione e corrente) Se vogliamo rappresentare l’informazione dobbiamo associare ad essa opportuni valori delle grandezze elettriche RAPPRESENTAZIONE BINARIA D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Rappresentazione binaria Alfabeto = { 0, 1 } cifra binaria (Binary digIT = BIT) BIT = unità di misura della quantità di informazione Definizione: un bit è una grandezza fisica che può assumere solo due valori quindi è la quantità elementare di informazione manipolabile da un calcolatore DIGITALE D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Requisiti del supporto Il trattamento dell’informazione prevede la sua memorizzazione Il supporto deve poter conservare le configurazioni nel tempo dell’informazione La memoria principale è una successione ordinata di componenti digitali che possono assumere uno tra due valori e conservarlo stabile nel tempo finché c’è alimentazione Ogni componente elementare della memoria può rappresentare e conservare un bit D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Conservare in memoria I bit nella memoria sono raggruppati in celle o parole Tutte le parole della memoria sono composte dallo stesso numero di bit Ad ogni cella viene associata ad un identificatore univoco detto indirizzo della cella se la memoria contiene N celle gli indirizzi vanno da 0 a N-1 8 bit Gli indirizzi in memoria sono codificati in binario Esempio Se abbiamo una memoria con 8 parole gli indirizzi vanno da 0 a 7 D. Frigioni & A. Sterpetti 0 1 2 3 4 5 6 7 I Sistemi Operativi e il Mondo Open Source Elaborare Attuare una procedura che genera nuovi dati sulla base di dati di partenza, passo dopo passo Tipiche attività elementari di un passo della procedura sono: Alcuni dati di partenza vengono: letti in memoria portati all’interno della CPU usati come operandi da parte dell’unità di calcolo Il risultato prodotto viene scritto in memoria D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Linguaggio macchina Linguaggio direttamente comprensibile ed eseguibile dall’elaboratore: istruzioni ed operandi sono presenti in memoria tutto è espresso in forma binaria i programmi occupano una sequenza di locazioni consecutive della memoria il processore esegue una istruzione del programma alla volta in maniera sequenziale D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Interconnessioni I vari sottosistemi (processore, memoria, dischi, periferiche) devono essere messi in connessione Bus: canale di comunicazione condiviso al quale possono essere collegati più dispositivi D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Le interconnessioni - il bus Un bus viene suddiviso funzionalmente in tre componenti: il bus dati, utilizzato per trasferire dati tra memoria e CPU, e tra CPU e interfacce di ingresso/uscita il bus indirizzi, che identifica gli indirizzi delle celle di memoria in cui la CPU deve scrivere o leggere il bus di controllo, in cui transitano i segnali di controllo per selezionare le unità coinvolte in un trasferimento di dati (sorgente e destinazione) definire la direzione dello scambio (lettura o scrittura) coordinare il sistema D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source La CPU - gli elementi Esegue tutte le elaborazioni CPU Unità di controllo Coordina tutte le operazioni (ad es., identifica il tipo di istruzione e ne predispone l’esecuzione) Memoria ad alta velocità usata per risultati temporanei e informazioni di controllo (un registro ha tipicamente la stessa capacità di una parola di memoria) D. Frigioni & A. Sterpetti Unità di calcolo Unità di calcolo Elementi di memoria (registri) Elementi di calcolo I Sistemi Operativi e il Mondo Open Source La memoria - generalità Funzioni Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire di archiviare dati e programmi, garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo Esigenze diverse velocità per il supporto alla CPU non volatilità e capacità per l’archiviazione Tecnologie diverse elettronica: veloce, ma costosa e volatile magnetica e ottica: non volatile ed economica, ma lenta D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Caratterizzazione di una memoria Velocità tempo di accesso (quanto passa tra la richiesta e la relativa risposta?) tempo di trasferimento (quanti byte al secondo si possono trasferire?) Volatilità cosa succede se la memoria non è alimentata? per quanto tempo i dati vi rimangono immagazzinati? Capacità quanti byte può contenere? Costo dati capacità e costo totale, qual è il costo per bit? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Tecnologia ed organizzazione (1) Capacità, velocità e costo NON sono criteri indipendenti: la velocità si ottiene con capacità ridotta e tecnologie costose la capacità si ottiene con tempi lunghi e tecnologie poco costose Le tecnologie elettroniche sono utilizzate per le memorie più veloci Le tecnologie magnetico/ottiche sono utilizzate per le memorie più capaci È necessario combinare più unità di memoria D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Tecnologia ed organizzazione (2) È necessario combinare più unità di memoria Obiettivo: ottenere un sistema di memoria complessivo che fornisca all’utente una quantità di memoria pari a quella disponibile nella tecnologia più lenta consentendo allo stesso tempo (quasi sempre) una velocità di accesso pari a quella garantita dalla tecnologia più veloce D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Tecnologia ed organizzazione (3) È necessario combinare più unità di memoria Esempio sistema di memoria formato da due unità, una piccola e veloce, e una grande ma lenta i dati usati più frequentemente si potrebbero tenere nella memoria veloce, in modo che la maggior parte delle volte il tempo di accesso sia quello della memoria veloce solo quando un dato non viene trovato nella memoria veloce lo si va a cercare nella memoria lenta D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Un sistema di memoria a più livelli CPU Cache Memoria principale Banco Memoria secondaria (dischi) Dimensioni < 1KB < 1 MB < 4 GB > 20 GB Tempo accesso (nanosec) < 0,5 < 10 < 100 10.000.000 D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gerarchie di memorie Le memorie di un sistema di calcolo sono in definitiva organizzate in una struttura gerarchica in base alla loro: Velocità Costo Volatilità D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source CPU e connessioni con le periferiche Gli elementi hw usati per la comunicazione con la memoria (registri e bus) possono essere utilizzati per le connessioni con le periferiche: sulle periferiche di ingresso (tastiera, mouse, etc) si effettuano operazioni di lettura sulle periferiche di uscita (monitor, etc) si effettuano operazioni di scrittura le periferiche vengono identificate da speciali “indirizzi”, analogamente a quanto avviene con la memoria D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source PAUSA 21/11/09 Sommario Parte teorica (10 ore) Nozioni di hardware dei sistemi di calcolo Nozioni di base sui sistemi operativi Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU Parte di laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Infrastruttura hw/sw Software applicativo Compilatori Software Assemblatore Sistema Operativo (es., Windows) Hardware D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Definizione di SO Non esiste una definizione universale di SO In generale un SO è un insieme di programmi che agisce come intermediario tra utenti e hardware di un computer. Il suo scopo è di mettere a disposizione un ambiente in cui gli utenti possano eseguire i propri programmi in maniera comoda ed efficiente D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Punto di vista utente La percezione di un calcolatore da parte di un utente dipende principalmente dall’interfaccia utilizzata La maggior parte degli utenti usa PC I PC sono progettati per essere usati da un singolo utente che usa le risorse del PC stesso in maniera esclusiva In questi casi il SO viene progettato considerando principalmente la facilità d’uso D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Cosa fa parte di un SO ? In generale non esiste una definizione universalmente accettata di cosa faccia parte di un SO Possibili definizioni Tutto quello che il rivenditore fornisce quando gli si richiede un SO Il solo programma che è sempre in esecuzione nel computer, generalmente chiamato kernel, tutti gli altri sono programmi applicativi D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Compiti di un SO In generale, è più facile definire un SO rispetto a ciò che fa piuttosto che a ciò che esso è Interfacciare utente e sistema di calcolo Rendere facile la soluzione dei problemi utente Rendere conveniente l’uso del computer Gestire le risorse hardware in maniera efficiente Eseguire programmi Queste esigenze sono spesso contrastanti tra loro, ed è per questo che il progetto di un SO è un compito molto complesso e chi se ne occupa deve affrontare molti compromessi in fase di progetto e di realizzazione D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Obiettivi di un SO Semplicità: consente uno sviluppo del software semplice mascherando le peculiarità della piattaforma hardware Efficienza: ottimizza l’uso delle risorse da parte dei programmi applicativi Flessibilità: garantisce la trasparenza verso le applicazioni di modifiche hardware e quindi la portabilità del software D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Multitasking Il multitasking è la capacità da parte di un sistema operativo di eseguire più attività (task) contemporaneamente sulla stessa macchina In realtà le attività vengono eseguite in base ad un meccanismo denominato concorrenza in cui le varie attività competono per acquisire le risorse di calcolo (CPU, memoria, etc) Se una attività si blocca le altre possono andare avanti D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Elementi di un sistema operativo D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Componenti di un SO Un SO è un sistema grande e complesso e si può realizzare solo se lo si scompone in piccole parti correlate tra loro, e in particolare: Gestione dei processi Gestione della memoria centrale Gestione dei file Gestione del sistema di I/O Gestione della memoria secondaria Gestione delle reti Sistema di protezione e sicurezza Interfaccia utente D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione dei processi Un processo è un programma in esecuzione Un processo è una entità attiva, mentre un programma è una entità passiva Un processo ha bisogno di risorse per eseguire il proprio compito: tempo di CPU, memoria, files, dispositivi di I/O Le risorse sono fornite ad un processo quando viene creato o assegnate ad esso in fase di esecuzione Il processo è l’unità di lavoro elementare di un sistema di calcolo Un sistema di calcolo esegue processi che si dividono in processi di sistema e processi utente Tutti questi processi possono essere eseguiti in maniera concorrente Il SO è responsabile di tutte le attività relative alla gestione dei processi: D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione della memoria centrale La memoria centrale (RAM) è un insieme di parole, ognuna delle quali è caratterizzata dal proprio indirizzo È un deposito di dati velocemente accessibile ed è condivisa dalla CPU e dai dispositivi di I/O La memoria centrale è veloce, piccola e volatile ed è il passaggio obbligato di qualsiasi elaborazione I SO più sofisticati consentono di tenere più programmi in memoria contemporaneamente Il SO è responsabile delle seguenti attività relative alla gestione della memoria centrale: Tenere traccia di quali parti della memoria sono usate e da chi Decidere quali processi caricare in memoria quando c’è spazio disponibile Assegnare e revocare lo spazio di memoria in base alle necessità D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione dei file (1) La gestione dei file è uno degli aspetti più visibili di un SO I calcolatori memorizzano informazioni su supporti fisici diversi (dischi magnetici, dischi ottici, nastri magnetici) Ciascuno supporto ha caratteristiche peculiari ed una organizzazione fisica propria Ciascuno supporto è controllato da un dispositivo (controllore del disco, controllore del nastro) con caratteristiche proprie Velocità di accesso Capacità Tasso di trasferimento di dati Metodo di accesso D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione dei file (2) Per rendere conveniente l’utilizzo del calcolatore il SO fornisce una visione logica uniforme del processo di memorizzazione delle informazioni: il file, ossia una collezione di informazioni correlate tra loro e definite dal suo creatore Il file è una unità logica di memorizzazione che astrae le caratteristiche fisiche di dispositivi come dischi e nastri Il SO è responsabile delle seguenti attività per la gestione dei file: Creare e cancellare file e directory (cartelle) Fornire primitive per manipolare file e directory Collocare i file nella memoria secondaria Fornire meccanismi per il backup dei file sulla memoria stabile (non volatile) D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione memoria secondaria La memoria centrale è il passaggio obbligato di qualsiasi elaborazione ma è piccola, veloce e volatile Il sistema di calcolo mette a disposizione la memoria secondaria a sostegno della memoria centrale La memoria secondaria è grande, lenta e permanente La maggior parte dei programmi risiede nella memoria secondaria. Un programma viene caricato in memoria centrale solo quando deve essere eseguito Il SO è responsabile delle seguenti attività relative alla gestione della memoria secondaria (disco): Gestione dello spazio libero Assegnazione e revoca dello spazio L’efficienza complessiva di un sistema di calcolo può dipendere dalla velocità del sistema di gestione dei dischi D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Gestione del sistema di I/O In un sistema di calcolo esiste una incredibile varietà di dispositivi di I/O largamente diversi tra loro per funzioni e velocità I metodi di controllo di tali dispositivi sono quindi altrettanto diversi Uno dei compiti del SO è quello di nascondere agli utenti le caratteristiche fisiche dei vari dispositivi fornendo una interfaccia uniforme per l’accesso ai dispositivi Questo compito è svolto dal sottosistema di I/O, che è composto dai driver per gli specifici dispositivi hardware (soltanto il driver di un dispositivo conosce le caratteristiche del dispositivo cui è associato) D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Protezione e sicurezza Se un sistema consente l’esecuzione simultanea di processi, allora i vari processi devono essere protetti l’uno dall’altro Il meccanismo di protezione serve a controllare l’accesso di programmi, processi o utenti alle risorse condivise di un sistema di calcolo Il meccanismo di sicurezza serve a proteggere il sistema da attacchi provenienti dall’interno (furto di identità ecc.) e dall’esterno del sistema stesso (virus, worms, ecc.) quando il sistema è inserito in una rete di comunicazione (Internet) D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Interfaccia con l’utente Interfaccia con l’utente – può assumere varie forme, ma la più diffusa è sicuramente quella grafica D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Sistemi operativi commerciali D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Prossima lezione Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Sommario Parte teorica (10 ore) Nozioni di hardware dei sistemi di calcolo Nozioni di base sui sistemi operativi Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU Parte di laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source PREMESSA Inizialmente fino agli anni '70 il software era libero ed i programmatori potevano scambiarsi idee e programmi. Pertanto sarebbe più giusto parlare di nascita del software proprietario. 21/11/09 D. Frigioni & A. Sterpetti 50 I Sistemi Operativi e il Mondo Open Source MICROSOFT APPLE Bill Gates I due ”Steve” 1973 fonda la Traf-o-Data 1985 nasce Microsoft 1976 fondazione della apple computer inc E MOLTO ALTRO....... http://www.microsoft.com/ 21/11/09 D. Frigioni & A. Sterpetti http://www.apple.com/ 51 I Sistemi Operativi e il Mondo Open Source adelfo IL MONDO OPEN SOURCE LICENZE SOFTWARE (tipologie) STORIA SICUREZZA UTILIZZO A SCUOLA 21/11/09 D. Frigioni & A. Sterpetti 52 I Sistemi Operativi e il Mondo Open Source SORGENTE ED ESEGUIBILE Il software esiste in due formati particolari: un formato 'sorgente' ed uno 'eseguibile'. La parte sorgente è il codice del programma scritto con un qualsiasi linguaggio di programmazione. Il sorgente è visionabile e modificabile da un essere umano capace di farlo. La parte eseguibile è la “traduzione” di quel codice in un codice binario che solo il computer può leggere. Il formato eseguibile (o compilato) non è comprensibile all'uomo, quindi non è modificabile. 21/11/09 D. Frigioni & A. Sterpetti 53 I Sistemi Operativi e il Mondo Open Source POSSIBILI LICENZE SOFTWARE Software proprietario Shareware Freeware Open Source (con le dovute differenze) Free Software Software di pubblico dominio 21/11/09 D. Frigioni & A. Sterpetti 54 I Sistemi Operativi e il Mondo Open Source SOFTWARE PROPRIETARIO ➢ Viene acquistato con licenza d'uso ➢ Il codice sorgente non è disponibile ( il programma non è modificabile) ➢ Vietato duplicare e/o distribuire il programma 21/11/09 D. Frigioni & A. Sterpetti 55 I Sistemi Operativi e il Mondo Open Source SHAREWARE ➢ ➢ ➢ La licenza d'uso prevede alcune limitazioni. In genere i programmi shareware vengono concessi in prova e dopo un certo periodo è necessario l'acquisto Il codice non è disponibile E' possibile distribuire il programma ma restano le limitazioni della licenza d'uso 21/11/09 D. Frigioni & A. Sterpetti 56 I Sistemi Operativi e il Mondo Open Source FREEWARE ➢ ➢ ➢ Nessuna licenza d'uso (il programma è gratuito) Nessun accesso al codice (il programma non è modificabile) E' possibile distribuirlo Talvolta utilizzato dalle aziende produttrici di software per imporre degli standard 21/11/09 D. Frigioni & A. Sterpetti 57 I Sistemi Operativi e il Mondo Open Source FREE SOFTWARE OPEN SOURCE SI DECIDE DI RENDERE PUBBLICO IL CODICE ➢ QUANDO? ➢ PERCHÈ? ➢ ESISTONO LICENZE CHE PROTEGGANO IL PRODOTTO E L'AUTORE? 21/11/09 D. Frigioni & A. Sterpetti 58 I Sistemi Operativi e il Mondo Open Source IL SISTEMA UNIX Fino al 1984 ottenere una copia del sistema operativo UNIX era semplice e poco costoso: bastava pagare le spese di spedizione del supporto. In breve tempo si formò una comunità mondiale a livello universitario incentrata sullo sviluppo di nuove componenti e applicazioni per Unix. Con lo smembramento di AT&T nel 1984 in società più piccole che operavano a livello locale la condivisione gratuita di Unix ebbe fine. 21/11/09 D. Frigioni & A. Sterpetti 59 I Sistemi Operativi e il Mondo Open Source RICHARD STALLMAN FREE SOFTWARE 1983 progetto GNU(GNU'S NOT UNIX) 1985 freesoftware foundation (studio giuridico delle licenze) 1989 licenza GPL (COPYLEFT) tutto per una stampante 21/11/09 D. Frigioni & A. Sterpetti 60 I Sistemi Operativi e il Mondo Open Source FREE LIBERO FREE GRATUITO LIBERTA' DI PAROLA NON BIRRA GRATIS 21/11/09 D. Frigioni & A. Sterpetti 61 I Sistemi Operativi e il Mondo Open Source COPYLEFT = PERMESSO D'AUTORE Una licenza basata sui principi del copyleft garantisce a chiunque possegga una copia di un lavoro le stesse libertà del suo autore, incluse le quattro libertà basilari indicate da Stallman ➢ Queste libertà, in ogni caso, non garantiscono che un lavoro derivato sia distribuito sotto le stesse condizioni; per far sì che il lavoro sia sotto licenza copyleft occorre che la licenza assicuri che il possessore della copia derivata la possa distribuire solo con lo stesso tipo di licenza. ➢ 21/11/09 D. Frigioni & A. Sterpetti 62 I Sistemi Operativi e il Mondo Open Source LE QUATTRO LIBERTA' 0) Libertà di eseguire il programma, per qualsiasi scopo 1) Libertà di studiare come funziona il programma e adattarlo alle proprie necessità. L'accesso al codice sorgente ne è un prerequisito. 2) Libertà di ridistribuire copie in modo da aiutare il prossimo 3) Libertà di migliorare il programma e distribuirne pubblicamente i miglioramenti (e le versioni modificate in genere), in modo tale che tutta la comunità ne tragga beneficio 21/11/09 D. Frigioni & A. Sterpetti 63 I Sistemi Operativi e il Mondo Open Source LE LIBERTA' NON SONO UN OBBLIGO Eistono anche altre licenze per le quali: ➢ Non si è tenuti a rendere pubbliche le modifiche ➢ Non si è tenuti a ridistribuire il programma 21/11/09 D. Frigioni & A. Sterpetti 64 I Sistemi Operativi e il Mondo Open Source LE DIFFICOLTA' INIZIALI INIZIO ANNI 90 Al progetto GNU manca il kernel del sistema operativo 21/11/09 D. Frigioni & A. Sterpetti 65 I Sistemi Operativi e il Mondo Open Source LINUS TORVALDS 1991 LINUS TORVALDS studente al secondo anno dell'università di Helsinki scrive in breve tempo un kernel stabile che per un gioco di parole si chiama LINUX decide inoltre di licenziarlo con licenza GPL 21/11/09 D. Frigioni & A. Sterpetti 66 I Sistemi Operativi e il Mondo Open Source GNU / LINUX ESISTONO DIVERSE DISTRIBUZIONI NON TUTTE RISPETTANO LA GPL 21/11/09 D. Frigioni & A. Sterpetti 67 I Sistemi Operativi e il Mondo Open Source ALCUNE DISTRO Debian Fedora Red Hat Suse Mandriva Ubuntu 21/11/09 D. Frigioni & A. Sterpetti 68 I Sistemi Operativi e il Mondo Open Source OPEN SOURCE Nel 1998 venne introdotto il termine open source (Perens, Raymond, Ockland) per evitare l'equvoco generato dalla parola free. 21/11/09 D. Frigioni & A. Sterpetti 69 I Sistemi Operativi e il Mondo Open Source NON E' SOLO IL NOME Un software rilasciato con licenza GPL può essere modificato e ridistribuito solo con lo stesso tipo di licenza. Questo non è sempre bene accetto in alcuni ambienti commerciali. L'open source ha un tipo di licenza meno restrittiva della GPL che può essere vantaggiosa anche per le aziende. Si punta di più sui vantaggi pratici della cooperazione che sulla filosofia etica. 21/11/09 D. Frigioni & A. Sterpetti 70 I Sistemi Operativi e il Mondo Open Source LICENZA OPEN SOURCE Ridistribuzione libera (chiunque può cedere o vendere il software) Codice sorgente (il codice sorgente deve essere disponibile) Opere derivate (si possono derivare opere da quella originale) Integrità del codice sorgente dell'autore (la licenza può chiedere che i derivati portino nomi diversi) Nessuna discriminazione contro persone o gruppi (la licenza d'uso è disponibile per chiunque) Nessuna discriminazione di settori (il software può essere utilizzato in qualunque campo) Distribuzione della licenza (i diritti del programma vengono distribuiti con esso senza licenze aggiuntive) La licenza non deve essere specifica ad un prodotto (i diritti relativi ad un programma non dipendono dal fatto che il programma è parte di una certa distibuzione) La licenza non deve contaminare altro software ( non è possibile porre restrizioni ad altro software distibuito con quello licenziato) La licenza deve essere tecnologicamente neutra (nessuna clausola della licenza deve essere proclamata su singole tecnologie) 21/11/09 D. Frigioni & A. Sterpetti 71 I Sistemi Operativi e il Mondo Open Source DIFFUSIONE Contrariamente a quanto si pensi, i computer più diffusi non sono i pc ma i server. Nel circa 50% dei casi sui server è installato Linux o sistemi Unix-Like 21/11/09 D. Frigioni & A. Sterpetti netcraft.com 72 I Sistemi Operativi e il Mondo Open Source SICUREZZA OPEN SOURCE vs SOFTWARE PROPRIETARIO 21/11/09 D. Frigioni & A. Sterpetti 73 I Sistemi Operativi e il Mondo Open Source OBIETTIVI PRINCIPALI DELLA SICUREZZA INTEGRITA' (garantire che i dati siano proprio quelli) CONFIDENZIALITA' (accesso solo alle persone autorizzate ) DISPONIBILITA' (del sistema nel garantire l'accesso alle risorse) 21/11/09 D. Frigioni & A. Sterpetti 74 I Sistemi Operativi e il Mondo Open Source Open Closed Chiunque può fare auditing (controllo del sistema) Chiunque può creare delle patch o proporre alternative 21/11/09 D. Frigioni & A. Sterpetti E' impossibile fare auditing E' impossibile comprendere la natura di un errore 75 I Sistemi Operativi e il Mondo Open Source Open Closed Chi è il ”padre” del codice? Non esistono impegni di tipo commerciale 21/11/09 D. Frigioni & A. Sterpetti Totale dipendenza dalla casa produttrice che comunque ha tutto l'interesse a far funzionare il prodotto 76 I Sistemi Operativi e il Mondo Open Source CONCLUSIONI SULLA SICUREZZA E' preferibile l'open perchè lascia all'utente la possibilità di decidere della propria sicurezza. Chi sceglie il modello closed si affida esclusivamente alle capacità del produttore. L'open source, in definitiva, rende l'utente e quindi la comunità più responsabili anche dal punto di vista della sicurezza. La borsa di New York utilizza Linux solo perchè è gratis ”Given enough eyballs all bugs are shallow (teorema di Torvalds) 21/11/09 D. Frigioni & A. Sterpetti 77 I Sistemi Operativi e il Mondo Open Source OSS E PA (STANCA) 1. Le pubbliche amministrazioni, nel rispetto della legge 7 agosto 1990, n. 241 e del decreto legislativo 12 febbraio 1993, n. 39, acquisiscono programmi informatici a seguito di una valutazione comparativa tra le diverse soluzioni disponibili sul mercato. 2. In particolare, valutano la rispondenza alle proprie esigenze di ciascuna delle seguenti soluzioni tecniche: a) sviluppo di programmi informatici ad hoc, sulla scorta dei requisiti indicati dalla stessa amministrazione committente; b) riuso di programmi informatici sviluppati ad hoc per altre amministrazioni; c) acquisizione di programmi informatici di tipo proprietario mediante ricorso a licenza d'uso; d) acquisizione di programmi informatici a codice sorgente aperto; e) acquisizione mediante combinazione delle modalita' di cui alle lettere precedenti. 3. Le pubbliche amministrazioni valutano quale soluzione, tra le disponibili, risulta piu' adeguata alle proprie esigenze mediante comparazioni di tipo tecnico ed economico, tenendo conto anche del costo totale di possesso delle singole soluzioni e del costo di uscita. In sede di scelta della migliore soluzione si tiene altresi' conto del potenziale interesse di altre amministrazioni al riuso dei programmi informatici, dalla valorizzazione delle competenze tecniche acquisite, della piu' agevole interoperabilita'. La prospettazione degli elementi di cui sopra e' peraltro oggetto di valutazione da parte del Centro nazionale per l'informatica nella pubblica amministrazione in sede di rilascio del parere di cui all'art. 8 del decreto legislativo 12 febbraio 1993, n. 39. La suindicata valutazione va inclusa nell'ambito dello studio di fattibilita' prescritto dall'art. 13 del decreto legislativo 12 febbraio 1993, n. 39, allorche' si tratti di contratti di grande rilievo 21/11/09 78 D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source PROGRAMMI .EXE Alcuni programmi acqustati dalla scuola sono in formato .exe quindi non girano su Linux. FALSO Il programma WINE (Wine Is Not an Emulator) in ubuntu permette di far girare questo tipo di programma 21/11/09 D. Frigioni & A. Sterpetti 79 I Sistemi Operativi e il Mondo Open Source DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Sommario Parte teorica (10 ore) Nozioni di hardware dei sistemi di calcolo Nozioni di base sui sistemi operativi Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU Parte di laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source SCUOLA PERCHE' UTILIZZARE LINUX A SCUOLA? ECCO DEI BUONI MOTIVI 21/11/09 D. Frigioni & A. Sterpetti 82 I Sistemi Operativi e il Mondo Open Source EDUCAZIONE ALLA LEGALITA' Il software libero educa alla legalità perché permette, l'assoluta libertà di copia e distribuzione, fondamento dello scambio della conoscenza che di fatto va ad eliminare o quanto meno ridurre drasticamente il fenomeno della pirateria informatica. Rispetto dei criteri di uguaglianza ed equità perchè permette l'accesso a più persone. 21/11/09 D. Frigioni & A. Sterpetti 83 I Sistemi Operativi e il Mondo Open Source DIDATTICA Possiamo distinguere due casi: ➢ Insegnamento dell'informatica l'esistenza di software di base di cui si possa analizzare e modificare il codice sorgente è sicuramente utile per apprendere la disciplina ➢ Insegnamento di altre discipline Entrambi (closed ed open) sono funzionali però per l'open la documentazione è facilmente reperibile inoltre lo studente può portare il lavoro a casa senza violare le norme. 21/11/09 D. Frigioni & A. Sterpetti 84 I Sistemi Operativi e il Mondo Open Source CODICE www.kernel.org 21/11/09 D. Frigioni & A. Sterpetti 85 I Sistemi Operativi e il Mondo Open Source PROGRAMMI DIDATTICI Numerosi programmi didattici sono immediatamente disponibili 21/11/09 Schermata ubuntu D. Frigioni & A. Sterpetti 86 I Sistemi Operativi e il Mondo Open Source COSTI Win+office+antivirus Ubuntu (o altre distro) Windows vista da € 99,99 a € 329,99 http://www.microsoft.com/italy/info/annunci/windows/generale/windowsvista.mspx Ms office student € 139 a salire per le versioni ultimate e professional http://office.microsoft.com/it-it/products/FX101754511040.aspx Antivirus 20 licenze per un anno circa € 500 Più vari programmi Computer con hardware aggiornato 21/11/09 D. Frigioni & A. Sterpetti 87 I Sistemi Operativi e il Mondo Open Source DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source Sommario Parte teorica (10 ore) Nozioni di hardware dei sistemi di calcolo Nozioni di base sui sistemi operativi Il mondo Open Source Il mondo Open Source e la scuola Il sistema operativo Linux UBUNTU Parte di laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D.Frigioni Frigioni& &A. A.Sterpetti Sterpetti D. I Sistemi Operativi il MondoeOpen Source I Sistemi eOperativi il Mondo Open Source UBUNTU linux for uman beings Il bug 1 « Microsoft has a majority market share. » 21/11/09 UBUNTU linux for uman beings Ubuntu deriva da un antica parola africana “umuntu ngumuntu ngabantu” tradotto in italiano significa “io sono ciò che sono per merito di ciò che siamo tutti” Ovvero: “Tramite la comunità ognuno di noi è in grado di apprendere nuove conoscenze, e tramite il proprio apprendimento la comunità stessa ne trae beneficio” 21/11/09 UBUNTU Fondatore: Mark Shuttlewort (18/09/1973) Finanziamenti: Canonical Ltd Fondazione: 2005 Informazioni: sviluppata da dipendenti della canonical e da programmatori indipendenti Supportata in più di 200 lingue Versioni desktop e server rilasciate ogni sei mesi 21/11/09 DERIVATE UFFICIALI DI UBUNTU Per le scuole KDE XFCE Solo software libero 21/11/09 UBUNTU Installazione Come si presenta Le prime informazioni 21/11/09 DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source PAUSA 21/11/09 INSTALLAZIONE UBUNTU In questa fase scegliere il tipo di installazione e seguire le istruzioni 21/11/09 INSTALLAZIONE UBUNTU Scegliere lo spazio da che Ubuntu deve occupare (importante se si ha altro sistema operativo) 21/11/09 INSTALLAZIONE UBUNTU Compilare i campi per le informazioni personali 21/11/09 All'avvio viene chiesto il nome utente e..... AVVIO DI UBUNTU All'avvio viene chiesto il nome utente e..... 21/11/09 AVVIO DI UBUNTU la password 21/11/09 UBUNTU VEDIAMO ORA COME SI PRESENTA IL NOSTRO SCHERMO 21/11/09 MENU' DI UBUNTU In applicazioni si trova il software a disposizione (non proprio tutto....) 21/11/09 MENU' DI UBUNTU In applicazioni accessori troviamo Alcune utility tra le quali Il TERMINALE (importantissimo) 21/11/09 MENU' DI UBUNTU In ufficio è presente OPEN OFFICE 21/11/09 MENU' DI UBUNTU da risorse è possibile gestire le directory e le periferiche N.B. È diverso da windows: I volumi vengono gestiti come file 21/11/09 MENU' DI UBUNTU In sistema preferenze è possibile configurare il “proprio” ubuntu 21/11/09 MENU' DI UBUNTU In amministrazione si gestisce il sistema N.B. RICORDARSI LA PSW 21/11/09 UBUNTU CONFIGURAZIONI DI BASE Lingua Sfondo Screensaver 21/11/09 Giochi grafici (divertenti) LINGUA Sistema 21/11/09 amministrazione supporto lingue Scegliere la lingua desiderata NON È NECESSARIO ACQUISTARE LICENZE DIVERSE 21/11/09 Click con il destro del mouse → cambia sfondo nella finestra che si apre scegliere l'immagine desiderata 21/11/09 SALVASCHERMO Sistema → 21/11/09 preferenze → salvaschermo UBUNTU Scegliere il salvaschermo 21/11/09 Sistema → preferenze →compiz Scegliere gli effetti 21/11/09 Possibile effetto grafico 21/11/09 UBUNTU Installare software Aggiornare il sistema Pulizia del sistema 21/11/09 INSTALLARE SOFTWARE Primo metodo Applicazioni → aggiungi/rimuovi 21/11/09 INSTALLARE SOFTWARE Secondo metodo (più software) Sistema → amministrazione → gestore pacchetti N.B. È richiesta la psw 21/11/09 PULIZIA Sistema → amministrazione → pulizia del computer 21/11/09 AGGIORNAMENTI Sistema → amministrazione → gestore aggiornamenti (NON È NECESSARIO: È IL SISTEMA AD INFORMARCI DI POSSIBILI AGGIORNAMENTI) 21/11/09 UBUNTU IL TERMINALE Per cambiare le impostazioni di sistema, installare applicazioni con wine ed altro. N.B. Da terminale si possono fare danni per ogni operazione, se siete alle prime armi, seguire le istruzioni fornite dalla community Per una documentazione sui comandi Seguire il wiki di ubuntu 21/11/09 UBUNTU ESEMPIO Installiamo un programma con wine Salvare nella propria Home l'autoinstallante (.exe) 21/11/09 Da terminale digitare wine nome_del programma.exe Inizierà l' installazione (come siamo abituati su win) 21/11/09 Al termine il nostro programma è disponibile e funzionante 21/11/09 DOMANDE? D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source RIFERIMENTI http://www.gnu.org/philosophy/free-sw.it.html http://www.opensource.org/ http://www.osservatoriotecnologico.it/default.htm http://www.linux.org/ http://www.fsf.org/ http://www.linuxdidattica.org/ http://linuxpedia.netsons.org/ www.kernel.org 21/11/09 D. Frigioni & A. Sterpetti 127 I Sistemi Operativi e il Mondo Open Source UBUNTU RIFERIMENTI http://wiki.ubuntu-it.org/ http://forum.ubuntu-it.org/ http://help.ubuntu-it.org/ubuntu904.html http://www.canonical.com/ Si ringraziano inoltre tutti quelli che condividono le informazioni in rete 21/11/09 Prossime lezioni laboratorio (10 ore) Installazione e utilizzo di Linux Ubuntu Il pacchetto Open Office Strumenti per la scuola D. Frigioni & A. Sterpetti I Sistemi Operativi e il Mondo Open Source