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