13/11/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Introduzione al corso
Informazioni sul corso
Ufficio: San Tomaso; ufficio 4
Orario di ricevimento: giovedì dalle 10.30 alle 12.30
Pagina web: http://www.unibg.it/dondi
Materiale del corso Libro di testo: M. Verdicchio, Informatica per la
comunicazione, Franco Angeli, 2016
Diapositive delle lezioni (piattaforma e-learning)
Informazioni sul corso
Modalità d’esame: test a risposta multipla 10 domande a risposta multipla (2 punti per
domanda)
2 domande a risposta aperta (6 punti per domanda)
È necessario rispondere correttamente ad almeno 6 domande a risposta multipla
Il punteggio complessivo deve essere almeno 18
Programma del corso - 1
Programma del corso Fondamenti di informatica
Concetti di base Architettura dell’elaboratore Software: sistema operativo
Rappresentazione dei dati Codifica analogica e digitale Codifiche di dati
Telematica e ipermedialità: Reti di elaboratori Internet, Web, Web 2.0 Usabilità e accessibilità
13/11/2017
2
Programma del corso -2
Programma del corso
Identità Identità sul Web
Sicurezza
Analisi di dati e privacy
Relazioni e Rete
Arte ed era digitale
Informatica
Informatica (da informatique) disciplina che si occupa di progettare e costruire macchine per l’elaborazione automatica di simboli (informazione)
Vantaggi elaboratori automatici: Tempi di elaborazione
Affidabilità
Elaborazione operazioni meccaniche
Informatica
Information & Communication Technology (ICT): disciplina nata dalla convergenza tra
Tecnologia dell’informazione
Telecomunicazioni
Elaborazione dell’informazione
L’elaborazione dell’informazione prevede le seguenti fasi:
1. Informazione in ingresso (input)
2. Fase di elaborazione
3. Informazione in uscita (output)
Possono essere presenti altre fasi:Memorizzazione
Trasmissione
13/11/2017
3
Sistemi automatici di elaborazione
Modelli per svolgere calcoli:
Modelli creati nell’antichità: es. abaco
Nel XVII secolo: modelli automatici per calcolo automatico Regolo calcolatore
Stepped Reckoner
Pascalina
Sistemi automatici di elaborazione
Nell’800 vennero compiuti diversi passi importanti
Progettazione del primo elaboratore con unità di memoria e unità di calcolo (C. Babbage)
Scrittura dei primi programmi (A. King Lovelace)
G. Boole inventò l’algebra booleana
Sistemi automatici di elaborazione
Nel ‘900 vennero realizzati i primi modelli funzionanti
A. Turing (1936): modello teorico noto come macchina di Turing
K. Zuse 1941: Z1
Sistemi automatici di elaborazione
A partire dal 1943 progettati diversi modelli di calcolatore elettronico universale a valvole termoioniche
Colossus ENIAC (Electronic Numerical
Integrator and Computer) EDVAC (Electronic Discrete
Variable Computer): macchina di Von Neumann
13/11/2017
4
Sistemi automatici di elaborazione
Anni ‘50: introduzione di transistor
Anni ‘60: produzione dei primi microprocessori, basati su circuiti integrati
Anni ‘70: Apple creò il personal computer
Anni ‘80: Apple creò il primo personal computer con interfaccia grafica
Alan Turing
Alan Turing (1912-1954), matematico inglese, diede un contributo fondamentale alla nascita dell’informatica
Macchina di Turing
Macchina di Turing
Dispositivo per l’elaborazione automaticadell’informazione
Modello teorico di elaborazione automatica
Il funzionamento imita un uomo che svolge calcoli
Macchina di Turing
La macchina di Turing è costituita da Un alfabeto con il simbolo speciale blank ( þ) Un nastro diviso in celle: ogni cella può contenere
un simbolo dell’alfabeto Una testina: può muoversi lungo il nastro,
leggere/scrivere nella cella corrente Insiemi di stati, tra cui uno stato iniziale e uno stato
finale, associati alla testina (registro di stati) Tabella di azioni
13/11/2017
5
Macchina di Turing
Stato = a
0 1 0 1 0 0 0 1 þ þ
Cella1 Cella2
La macchina con
Alfabeto A = { 0,1, þ}
Stato della testina: a
Testina
Macchina di Turing
Il funzionamento della macchina di Turing è guidato da un insieme di regole; in base a
Stato della testina
Simbolo letto
La regola indica:
Il simbolo da scrivere
Lo stato della testina
Il movimento della testina
Macchina di Turing Universale
E’ possibile costruire una macchina universale (macchina di Turing universale): una macchina che imita il comportamento di qualunque macchina di Turing
Opportuna codifica delle istruzioni
Tesi di Church-Turing
Tesi di Church - Turing: l’insieme dei problemi risolvibili tramite metodi meccanici equivale all’insieme dei problemi risolvibili dalla macchina di Turing
Calcolatore in grado di simulare il comportamento di una macchina di Turing universale: TuringEquivalente
13/11/2017
6
Sistemi automatici di elaborazione
Chi è considerato il primo programmatore nella storia?
1. Alan Turing
2. Blaise Pascal
3. John von Neumann
4. Gottfried Willhelm von Liebniz
5. Ada King
Macchina di Turing
In quale periodo iniziò la commercializzazione di massa delle Macchine di Turing?
1. Anni '50
2. Anni '60
3. Anni '70
4. Anni '80
5. Mai
Macchine, pensiero, IA
Turing oltre al modello per l’elaborazione automatica si pone una domanda
«Le macchine sono in grado di pensare?»
Per illustrare il problema introduce il gioco dell’imitazione
Il gioco dell’imitazione
? ?
Gioco dell’imitazione Test di Turing
13/11/2017
7
Limiti IA
Le potenzialità delle macchine sono state messe in discussione: Dreyfuss
Searle (esperimento della stanza cinese)
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Algoritmi e programmi
Hardware e software
Hardware: componenti fisiche del computer
Software: componenti logiche del computer →istruzioni
Fasi di elaborazione
Le istruzioni indicano al computer come elaborare l’informazione:
Come leggere un’informazione in ingresso (input)
Come elaborarla producendo un certo risultato
Come mostrarla all’utente (output)
Problemi e soluzioni
La fase di elaborazione ha lo scopo di risolvere problemi
Problema: dato un insieme di dati in input, calcolo di una soluzione
Calcolo della soluzione → algoritmo
2
Algoritmo
Algoritmo (da al-Khuwārizmī) : metodo per calcolare la soluzione di un problema
Sequenza di istruzioni per elaborare i dati di input e produrre la soluzione (output)
Es. Algoritmo per sommare tra numeri
Algoritmo: caratteristiche
Un algoritmo deve possedere alcune caratteristiche Finitezza
Eseguibilità
Correttezza
Determinismo
Programmi e processi
Il concetto di algoritmo è legato a:
Programma: algoritmo scritto in linguaggiocomprensibile a un computer
Processo: programma in esecuzioneDescrizione di un algoritmo
Diagrammi di flusso
3
Diagrammi di flusso
Descrizione di programmi/algoritmi → diagrammi di flusso
Rappresentazione fasi di un algoritmo → blocchi
Fasi sono collegate da linee di flusso: indicano il flusso dell’elaborazione nel programma
Blocco di inizio e fine
Blocchi che rappresentano l’inizio e la fine di un algoritmo
Un solo blocco inizio; possono esserci più blocchi fine
Inizio
Fine
Blocco di operazione
Blocco operazione: operazione svolta, descritta all’interno del blocco
Somma 2 e 3
Blocco di controllo
Istruzione condizionale: condizione da verificare, da cui escono due possibili percorsi alternativi
Numero > 0?Sì/
VeroNo/Falso
4
Blocco di input e output
Blocchi che rappresentano la lettura di un dato in input e la scrittura di un dato in output
Input OutputX Y
Somma di due numeri
Somma Numero 1 e Numero 2
Numero 1
Numero 2
Risultato
Dato
Un algoritmo deve prevedere la memorizzazionedi dati (in input, in output, dati intermedi)
Dato: quantità di informazione memorizzabile ed elaborabile con una singola operazione
Es. Dati numerici, caratteri,…
Dispositivo di memoria: componente in grado di memorizzare un dato Lettura
Scrittura
Variabile
Variabile: contenitore di dati → spazio su un dispositivo di memoria
Attributi variabile: Nome
Valore
Utilizzo: memorizzare dati
5
Variabile
Variabili associate ad un tipo: tipo di dati che contengono int: numeri interi
String: stringhe di caratteri (frasi, parole)
boolean: valori booleani; valori logici vero e falso
Assegnamento
Valore contenuto in una variabile può essere modificato con un assegnamento
Nome ← < espressione >
Es.
X ← 11
Y ← X
somma ← numero1 + numero2
Somma di due numeri
Somma ← Numero 1 + Numero 2
Numero1
Numero2
Somma
Variabile strutturata
Dati strutturati: dati collegati per il tipo di informazione rappresentata
Variabile strutturata: utilizzata per memorizzare un dato strutturato
6
Variabili strutturate
Vettore: sequenza lineare di celle
Matrice: tabella di celle
0 1 2 3 4 5
0 1 2 3 4
0
1
2
3
Confronto
Operatori di confronto → verifica di due valori numerici o due stringhe
Valore restituito → valore booleano
Valore booleano → vero o falso
Operatori di confronto
Operatori di confronto == verifica uguaglianza tra due valori
Es. x==y Se x e y valgono 5 → vero Se x vale 3 e y vale 5 → falso Se x e y contengono «promosso» → vero Se x contiene «promosso» e y contiene «bocciato» → falso
!= verifica disuguaglianza tra due valori Es. x!=y
Se x vale 3 e y vale 5 → vero
Operatori di confronto
< ( >, rispettivamente) verifica se il primo valore è minore (maggiore, rispettivamente) del secondo valore x<y
Se x = 3, y = 5 è vero
Se x = 5, y = 5 è falso
In modo analogo minore uguale (<=), maggiore uguale (>=)
7
Operazioni logiche
Operazioni su valori booleani: combinazione di valori booleani !: negazione
&: congiunzione
|: disgiunzione
Negazione
!: negazione, nega il valore booleano a cui è applicato x !x
falso vero
vero falso
Tabella di verità
Congiunzione
&: congiunzione; vera se entrambi i valori a cui è applicata sono veri
Tabella di verità
x y x & y
falso falso falso
falso vero falso
vero falso falso
vero vero vero
Disgiunzione
|: disgiunzione; vera se almeno uno dei valori a cui è applicata è vero
Tabella di verità
x y x | y
falso falso falso
falso vero vero
vero falso vero
vero vero vero
8
Operazioni logiche – Esempio
Esempio:
!(x==y) : vera quando x e y hanno valori differenti x = 5 e y = 10: !(x==y) ha valore vero
se x = 10 e y = 10: !(x==y) ha valore falso
Operazioni logiche – Esempio
Esempio:
(x>=100) & (x<y): vera quando x ha un valore:
maggiore o uguale a 100
minore di y
Operazioni logiche – Esempio
Esempio:
(x>=100) & (x<y) se x=50 (x>=100) & (x<y) → valore falso
se x=100 e y=90 → valore falso
se x=120 e y=200: (x>=100) & (x<y) → valore vero
Operazioni logiche – Esempio
Esempio:(x>100) | (x<y): vera quando1. x ha un valore > di 1002. x ha un valore < di y 3. x ha un valore > di 100 e < di y
Se x vale 101 e y vale 70? Se x vale 70 e y vale 101? Se x vale 90 e y vale 80?
9
Operazioni logiche – Esempio
Le operazione logiche possono essere combinate in modo complicato:
((voto>=18) & (voto<=30)) & (voto>= media
| (esame ==“Informatica per comunicazione”))
Accetto il voto se ?
Operazioni logiche – Esempio
((voto>=18) & (voto<=30)) & (voto>= media
| (esame ==“Informatica per la comunicazione”))
Accetto il voto se ho passato l’esame (18<= voto <=30)
non mi abbassa la media o è l’esame di Informatica per la comunicazione
Strutture di controllo
Fino ad ora → programmi/algoritmi sequenziali
Per costruire programmi/algoritmi più sofisticati →strutture di controllo
Strutture di controllo principali Diramazioni
Iterazioni (Cicli)
Diramazioni
Diramazione permette
esecuzione di una tra due istruzioni
in base valore di una condizione
Nei linguaggi di programmazione diramazione →costrutto IF-THEN-ELSE
10
Diramazione
Processo 2Processo 1
Condizionefalso vero
Diramazione - Esempio
Scriviamo un algoritmo che legge un numero in ingresso e controlla se è maggiore o minore di 100
Diramazione - Esempio
Stampa “n >= 100”Stampa “n < 100”
n>=100falso vero
n ← input
Inizio
Fine
Diramazione - Esempio
Scriviamo un algoritmo che legge due numeri e restituisce il numero massimo
11
Massimo tra due numeri
Numero 1 > Numero 2
Numero 1
Numero 2
Numero 1 Numero 2
vero falso
Diramazione
Scriviamo un programma/algoritmo per decidere se accettare il voto: voto compreso tra 18 e 30
voto >= media → accettato
voto < media → rifiutato
Diramazione
StampaVoto non ammissibile
voto>=18&
voto<=30
verofalso
voto ← input
voto>=mediafalso vero
stampaVoto accettato
media ← input
stampaVoto rifiutato
Esercizio - Diramazione
Esercizio
Scrivere un programma/algoritmo che aggiunge l’IVA al prezzo di un prodotto: prezzo >= 100 € → IVA 20%
prezzo >= 10 € e < 100 → IVA 15%
prezzo < 10 € → esente da IVA
12
Diramazione
n ← n +20(n/100)
n>=100falso vero
n ← input
n>=10falso vero
n ← n +15(n/100)
Inizio
Fine
Iterazione
Iterazione: operazione o insieme di operazioni applicate ripetutamente
Basata su un blocco di controllo Fino a che il blocco di controllo restituisce un certo
valore → ripetizione delle istruzioni
Iterazione: esempio
Scrittura di un algoritmo per la lettura di dieci numeri e copiatura nel vettore v, nelle celle v0 , v1,…, v9
Iterazione
i ≤9vero falso
i ← 0
vi← input
i ← i+1
13
Iterazione - esempio
i ≤9vero falso
i ← 0
vi← input
i ← i+1
i=0 x
i=1 y
i=2 zi=3 k
i=9 h
Iterazione: esempio
Scrittura di un algoritmo per il calcolo dell’elevamento a potenza
Iterazione
i ≥1vero falso
h ← 1
h← h*j
i ← i-1
i ,j
h
Iterazione - esempio
i=2, j=3
i ≥1vero falso
h ← 1
h← h*j
i ← i-1
i ,j
h
i=2, j=3, h=1
i=2, j=3, h=1i=1, j=3, h=3i=0, j=3, h=9
14
Iterazione: esempio
Scrittura di un algoritmo per determinare la somma di primi 5 numeri > 10 di un vettore
Iterazione
i ≤4vero falso
i ← 0; h ← 0
vi > 10
h ← h+ vi
vero falso
h
i ← i+1
Linguaggio macchina e linguaggi di alto livello
Linguaggio di programmazione
Parametrizzazione
Gli algoritmi risolvono una classe di problemi Es. Calcolano la somma di due numeri qualunque
Questo aspetto viene detto parametrizzazione In base a parametri in input viene risolto un problema
15
Linguaggio macchina
Esecuzione di un programma da parte di una macchina: Esecuzione di operazioni primitive: operazioni che la
macchina è in grado di eseguire
Le istruzioni elementari di una macchina costituiscono il linguaggio macchina
Linguaggio macchina
Istruzioni codificate con numeri binari
Quattro tipi di istruzioni: Istruzioni logico-aritmetiche: add, sub, and
Istruzioni di trasferimento dati: load, store
Istruzioni di controllo
Istruzione di salto: jump
Linguaggio macchina
Ogni processore riconosce una determinata codificadi istruzioni:
Istruzione Codice
Add (somma) 0111 1111
Sub (sottrazione) 0110 1001
…
Processori con codifiche identiche: compatibili
Linguaggio di programmazione
Un linguaggio di programmazione permette la scrittura di programmi eseguibili da una macchina
I linguaggi di programmazione di alto livellodefiniscono operazioni più complesse delle istruzioni primitive Compilatore: traduttore da linguaggio di alto livello in
linguaggio macchina
16
Compilatore
Codice sorgente
Programma –Linguaggio di alto livello
Codice eseguibileProgramma –Linguaggio macchina
Compilatore
17/11/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Architettura dell’elaboratore
Architettura di Von Neumann
I computer sono dei sistemi di elaborazione:
costituiti da molte componenti
funzionamento coordinato delle diverse componenti
architettura di riferimento generale: architettura di Von Neumann Progetto EDVAC (1944)
Architettura di Von Neumann
Caratteristiche dell’architettura di Von Neumann
Descrizione di un elaboratore universale
Elaboratori costruiti secondo questa architettura: Turing equivalenti
Dati e istruzioni sono memorizzati nello stesso dispositivo
Utilizzo dell’aritmetica binaria
Distinzione tra memorizzazione ed elaborazione
Architettura di Von Neumann
Bus
Interfaccia I/OProcessore Memoria
Orologio di sistema
17/11/2017
2
Architettura di Von Neumann
Componenti dell’architettura di Von Neumann Processore (CPU, Central Processing Unit): funzioni
di elaborazione Memoria: divisa in celle, ognuna associata ad un indirizzo univoco contiene istruzioni e dati da elaborare
Interfaccia input/output: interfaccia con esterno Bus: canale di comunicazione Orologio di sistema: coordina le varie fasi
Orologio di sistema
Orologio di sistema (clock):
controlla la velocità delle operazioni del computer
invia una sequenza costante di impulsi alla CPU
ad ogni impulso → ciclo di elaborazione (ciclo macchina)
Bus
Bus di sistema: comunicazione tra le diverse componenti
Funzionalmente diviso in tre parti:
bus dati → dati da elaborare
bus indirizzi → indirizzi delle celle di memoria per la lettura/scrittura di dati
bus di controllo → istruzioni per il coordinamento delle componenti
Collo di bottiglia di von Neumann
La velocità di elaborazione di una CPU è superiore alla velocità di trasferimento del bus Tempo di attesa del trasferimento dati
Spreco tempo di elaborazione della CPU
17/11/2017
3
Architettura di Von Neumann
DOMANDA: In quale caso due calcolatori si dicono "compatibili"?
1. Le loro CPU adottano lo stesso linguaggio macchina
2. Rientrano nella stessa fascia di prezzo
3. Hanno la tastiera nella stessa lingua
4. Sono prodotti dalla stessa azienda
5. Utilizzano lo stesso tipo di memoria centrale
Collo di bottiglia di von Neumann
DOMANDA: Come si manifesta il collo di bottiglia di Von Neumann?
1. Rallentamenti dovuti dal numero eccessivo di programmi installati sul calcolatore
2. Rallentamenti determinati dall'utilizzo di interpreti invece che di compilatori
3. Rallentamento della CPU che attende la lettura/scrittura sul bus
4. Rallentamenti determinati da un eccessivo numero di programmi eseguiti contemporaneamente dalla CPU
Architettura di Von Neumann
DOMANDA: Quale di queste non è una componente della macchina di von Neumann?
1. Processore
2. Memoria
3. Interfaccia
4. Tabella delle azioni
5. Bus
Componenti principali
Architettura dell’elaboratore
17/11/2017
4
Architettura di un elaboratore
Componenti principali di un moderno elaboratore basato sull’architettura di Von Neumann
Case Alimentatore Scheda madre CPU Memoria primaria Memoria secondaria Bus di comunicazione Orologio di sistema Periferiche di input/output
Scheda madre
Scheda madre : circuito stampato a cui si collegano le varie componenti del computer CPU
memoria
Connettori per periferiche
…
Permette la comunicazione tra le componenti: bus
Scheda madre Scheda madre
17/11/2017
5
CPU
Architettura dell’elaboratore
CPU
La CPU (Central Processing Unit) esegue istruzioni in linguaggio macchina
In modo sequenziale e ciclico (ciclo macchina o ciclo CPU)
Effettuando operazioni di lettura delle istruzioni dalla memoria centrale
Dati letti e modificati in memoria centrale: accesso tramite indirizzo delle celle
Il processore
La CPU è costituita da transistor
Ogni transistor che può avere un segnale in uscita:Tensione alta (circa
3,3 V)
Tensione bassaFonte: Pixabay
Legge di Moore
Constatazione empirica (1965)Numero di transistor integrati in un unico circuito
integrato raddoppia ogni due anni
Evoluzione di elaborazione e capacità di memorizzazione
17/11/2017
6
Il processore
Registri: memorie locali della CPU
La CPU utilizza registri per la memorizzazione di istruzioni e dati
IR (Instruction Register)
PC (Program Counter)
PSW (Process Status Word)
Il processore
Il processore
ALU (Arithmetic Logic Unit):
svolgimento di istruzioni aritmetiche e logicheOperazioni aritmetiche: somma, sottrazione,
moltiplicazione, divisione
Operazioni logiche: confronto di due dati: =, <, >, AND, OR
Dotata di alcuni registri per la memorizzazione dei dati di input/output
Il processore
Registri fondamentali dell’unità di controllo
PC (Program Counter): registro contatore delle istruzioni
IR (Instruction Register): contiene una copia dell’istruzione da eseguire
Utilizzati nel ciclo macchina della CPU
17/11/2017
7
Il processore
La CPU esegue 4 fasi in modo ciclico (ciclo macchina o ciclo CPU)
Lettura (Fetch)
Decodifica
Esecuzione
Scrittura
Fase di lettura
Dettagli sulla fase di lettura (fetch)
1. unità di controllo legge in PC l’indirizzo di memoria contente l’istruzione da eseguire
2. contenuto di PC inviato alla memoria (bus indirizzi)
3. memoria trasferisce il contenuto della cellaall’indirizzo inviato (bus dati)
4. dato inviato copiato in IR
5. contenuto del PC viene incrementato (istruzione successiva)
Fase di decodifica
Fase di decodifica di un’istruzione
1. Viene individuata la parte che identifica l’operazione
2. Vengono individuate le parti che specificano gli operandi
Fasi di esecuzione e scrittura
Fase di esecuzione
Esecuzione dell’istruzione, in genere da parte della ALU
Fase di scrittura
Risultato scritto In un registro interno alla CPU
Memoria centrale
17/11/2017
8
Esempio di funzionamento della CPU
Trasferimento del contenuto di cella 44 nel registro R01
Trasferimento del contenuto di cella 52 nel registro R02
Somma del contenuto dei registri R01 e R02 e memorizzazione nel registro R03
Trasferimento del contenuto del registro R03 nella cella di memoria di indirizzo 44
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
Indirizzi di memoria
CPU: esempio di funzionamento
Unità di controllo
Registri
CPU
ALU
101
PSW
PC
IR
CPU: esempio di funzionamento
Ind contenuto
… …
44 22
… …
52 10
… …
101 load R01, 44102 load R02, 52
103 add R01, R02, R03104 store R03, 44
Memoria
CPU: esempio di funzionamento
Istruzione 101
PC contiene valore 101
Fase di fetch
CPU manda sul bus indirizzi 101
La memoria invia sul bus dati il contenuto della cella 101(istruzione viene copiata dalla memoria in IR)
Contenuto del PC viene incrementato
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
17/11/2017
9
CPU: esempio di funzionamento
Memoria Ind contenuto
… …
44 22
… …
52 10
… …
101 load R01, 44102 load R02, 52
103 add R01, R02, R03104 store R03, 44
CPU: esempio di funzionamento
CPU
Unità di controllo
Registri
ALU
load R01, 44
102
PSW
PC
IR
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
CPU: esempio di funzionamento
Istruzione 101
Fase di decodifica ed esecuzione
CPU richiede il contenuto della cella di memoria di indirizzo 44
Memoria invia contenuto della cella 44
CPU: esempio di funzionamento
MemoriaInd contenuto
… …
44 22
… …
52 10
… …
101 load R01, 44102 load R02, 52
103 add R01, R02, R03104 store R03, 44
17/11/2017
10
CPU: esempio di funzionamento
CPU
Unità di controllo
Registri
ALU
load R01, 44
102
PSW
PC
IR
22R01
CPU: esempio di funzionamento
La CPU passa all’istruzione 102
Lettura del contenuto della cella 102 e caricamento dell’istruzione in IR
Decodifica ed esecuzione
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
CPU: esempio di funzionamento
Memoria Ind contenuto
… …
44 22
… …
52 10
… …
101 load R01, 44102 load R02, 52
103 add R01, R02, R03104 store R03, 44
CPU: esempio di funzionamento
CPU
Unità di controllo
Registri
ALU
load R02, 52
103
PSW
PC
IR
2210
R01R02
17/11/2017
11
CPU: esempio di funzionamento
Esecuzione dell’istruzione 103(somma)
Nella fase di esecuzione l’unità di controllo
• trasmette alla ALU il codice dell’istruzione da svolgere (add)
• Attiva collegamenti tra registri R01 e R02 e ALU
ALU esegue la somma e scrive il risultato in R03
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
CPU: esempio di funzionamento
MemoriaInd contenuto
… …
44 22
… …
52 10
… …
101 load R01, 44102 load R02, 52103 add R01, R02, R03104 store R03, 44
CPU: esempio di funzionamento
CPU
Unità di controlloALU
add R01, R02, R03
104
PSW
PC
IR
Registri
2210
R01R02
32R03
CPU: esempio di funzionamento
Esecuzione dell’istruzione 104(store)Viene prelevato indirizzo 44 e inviato alla memoria
Inviato alla memoria il contenuto del registro R03
Programma
101 load R01, 44
102 load R02, 52
103 add R01, R02, R03
104 store R03, 44
17/11/2017
12
CPU: esempio di funzionamento
CPU
Unità di controllo
Registri
ALU
store R03, 44
105
PSW
PC
IR
2210
R01
R0232R03
CPU: esempio di funzionamento
MemoriaInd contenuto
… …
44 32… …
52 10
… …
101 load R01, 44102 load R02, 52
103 add R01, R02, R03104 store R03, 44
Funzionamento della CPU
La velocità di elaborazione della CPU dipende dalla frequenza dei cicli macchina: clock
Viene espressa in hertz (unità misura di frequenza): numero impulsi al secondo
Attualmente si usano gigahertz (GHz)
Processori multi-core: chip con due o più CPU integrate: operazioni svolte in parallelo
Funzionamento della CPU
DOMANDA: Nella CPU, qual è il contenuto del registro IR (Instruction Register)?
1. L'istruzione attualmente in esecuzione2. L'indirizzo della cella di memoria contenente la
prossima istruzione da eseguire3. I dati di input per l'istruzione attualmente in
esecuzione4. Il dato generato dall'esecuzione dell'istruzione5. L'indirizzo della cella di memoria in cui dovrà essere
salvato il risultato dell'esecuzione dell'istruzione
17/11/2017
13
Funzionamento della CPU
DOMANDA: Nella CPU, qual è il contenuto del registro PC (Program Counter)?
1. L'istruzione attualmente in esecuzione2. L'indirizzo della cella di memoria contenente la
prossima istruzione da eseguire3. I dati di input per l'istruzione attualmente in
esecuzione4. Il dato generato dall'esecuzione dell'istruzione5. L'indirizzo della cella di memoria in cui dovrà essere
salvato il risultato dell'esecuzione dell'istruzione
20/11/2017
1
Memoria
Architettura dell’elaboratore
Memoria
Dispositivo di memorizzazione: immagazzinamento dati e istruzioni utili per l’elaboratore
Caratteristiche fondamentali di una memoria generica : velocità della memoria capacità di memorizzazione memorizzazione permanente o temporanea costo della memoria
Memoria
Velocità di memorizzazione cresce con il costo per bit
Esistono memorie di limitata capacità, veloci (costo alto)
Memorie di grande capacità ma lente (costo contenuto)
Memoria
Tipi di memoria:
registri CPU
memoria centrale: memoria temporanea o di lavoro
di sola lettura o ROM (Read Only Memory )
memoria di massa (o secondaria): area di memorizzazione permanente
20/11/2017
2
Memoria centrale
Caratteristiche della memoria centrale:
contiene istruzioni e dati che la CPU elabora
costituita da celle
ogni cella identificata da un indirizzo univoco
viene detta RAM (Random Access Memory,memoria ad accesso casuale o accesso diretto)
è una memoria volatile
Memoria centrale
Indirizzi delle celle di memoria
Contenuto delle celle di memoria
Memoria centrale
Alloggiamenti memoria
Memoria RAM
Memoria centrale
Memoria RAM: Costituita da transistor che creano circuiti
bistabili (sRAM)
Carica elettrica immagazzinata in materiale dielettrico (dRAM)
20/11/2017
3
Memoria centrale
Acceso alle memoria centrale → diretto: si accede in modo diretto ad una cella tramite l’indirizzo
Tempo di accesso costanteOgni cella richiede lo stesso tempo
Accesso ai dati
Oltre all’accesso diretto ai dati:
Accesso sequenziale
Accesso misto
Accesso associativo
Accesso ai dati
Oltre all’accesso diretto ai dati: Accesso sequenziale: sequenza accesso
predefinita Tempo di accesso variabile Tipico dei nastri
Accesso misto: serie di accessi diretti seguiti da una ricerca sequenziale Tempo di accesso varia a seconda di dove si trova il
dato Utilizzato nei dischi
Accesso ai dati
Accesso associativo: simile all’accesso diretto Dipendente dal valore che si sta cercando
Tempo di accesso costante per ogni cella
Usato nelle memorie cache
20/11/2017
4
Memoria ROM
ROM (Read Only Memory): memoria di sola lettura, permanente
EPROM (Erasable Read Only Memory): memoria modificabile con particolari procedure
Dati contenuti in memoria ROM: programmi e istruzioni per la fase di inizializzazione (bootstrap)
Non è utilizzata per memorizzare i dati dell’utente
Memoria centrale
DOMANDA: Quale di queste affermazioni non è vera per la memoria centrale?
1. È ad accesso diretto
2. È più veloce della memoria di massa
3. È volatile
4. È persistente
5. Contiene i programmi in esecuzione
Memoria secondaria
Architettura dell’elaboratore
Memoria secondaria
Capacità di memorizzazione dei dispositivi di memoria:
Memoria centrale→ attualmente si arriva ad alcuni GB
Memoria secondaria→ centinaia di GB o TB
20/11/2017
5
Memoria secondaria
Memoria principale e registri: volatilità, capacità limitata
Necessità di una memoria permanente di grande capacità modificabile
Memoria secondaria o di massa
Memoria secondaria
Caratteristiche dispositivi di memorizzazione di massa: Persistenza dei dati
Tempo di accesso maggiore rispetto alla RAM
Minor costo per bit
Dispostivi fissi/rimovibili
Utilizzati per operazioni di backup
Memoria secondaria
Dispositivi di memorizzazione secondaria:
Dischi fissi
Dischi floppy
Nastri magnetici
Dischi ottici
Memorie flash
Memorie magnetiche
Memorie ottiche
Memorie elettroniche
Memoria secondaria
Memorie secondarie dotate di due componenti fondamentali:
dispositivi: unità per accesso al supporto tramite una testina
supporti: dove fisicamente vengono memorizzati i dati
20/11/2017
6
Memorie magnetiche
Materiali ferromagnetici influenzati da un campo magnetico esterno → stato di magnetizzazione
Supporti ricoperti da strato di materiale ferromagnetico Piccole aree caratterizzate dallo stato di
magnetizzazione
Testina per accesso alle aree di memorizzazione
Dischi
Struttura del disco o dei dischi (platter) divisione in tracce concentriche disco diviso in settori Blocco o record: intersezione tra settori e tracce Tracce e settori adiacenti separati da parti vuote
Accesso al disco
Ogni blocco: associato ad un indirizzo Informazione memorizzata su blocchi (non
necessariamente contigui) Disco in rotazione
Accesso al disco
Recuperare i dati dipende da alcuni fattori: tempo di ricerca: posizionamento sulla traccia corretta
latenza di rotazione: posizionamento all’inizio del blocco cercato
Inoltre dipende dal tempo di trasferimento
20/11/2017
7
Memorie magnetiche
Formattazione: predisposizione del disco per l’utilizzo Perdita dei dati
Individuazione blocchi danneggiati
Struttura logica per la memorizzazione (file system)
Deframmentazione
Dischi floppy
Dischi floppy:
diametro di 3,5 pollici
capacità di memoria di 1,44 MB
Rotazione avviata solo per accedere ai dati → ritardo nell’accesso ai dati
Disco rigido
Disco rigido (hard disk):
Costituito da uno o più dischi sovrapposti (piatti)
Capacità di memorizzazione fino a qualche TB
Cilindro: tracce di pari diametro
Racchiuso in un contenitore metallico
Nastri magnetici
Nastri magnetici:
Supporto: nastro di materiale plastico, ricoperto da strato ferromagnetico
Elevate capacità di memorizzazione
Accesso ai dati: sequenziale
Tempi di accesso ridotti
Utilizzati per backup
20/11/2017
8
Dischi ottici
Dischi ottici:
Supporto costituito da un disco
Lettore per l’accesso ai dati
Costituiti da più strati: Substrato di materiale plastico
Strato riflettente
Strato protettivo
Dischi ottici
Superficie del substrato: Singola traccia a spirale Traccia divisa in zone microscopiche Pit (fossa) Land (pianeggiante)
Rotazione all’interno del lettore Luce laser percorre la traccia Riflessa in modo differente a seconda del dato
codificato
Dischi ottici
Tipi di supporto disponibili
Sola lettura (Read Only Memory, ROM)
Scrivibili (Write Once Read Many, WORM)
Riscrivibili (Rewritable, RW)
La scrittura dei dati richiede l’utilizzo di un dispositivo per la scrittura: masterizzatore
Dischi ottici
Supporti differenti per capacità di memorizzazione
Compact Disk (CD): 700 MB
Digitale Versatile Disk (DVD): fino a 8,5 - 17 GB
Blue Ray: fino a 50 GB
Differenti per
Grandezza pit e land
20/11/2017
9
Memoria Flash
Memoria elettroniche EEPROM (Electrically ErasableProgrammable Read-Only Memory)
Programmabili (riscrivibili): numero limitato di operazioni di scrittura/cancellazione
Non volatili Portabilità, affidabilitàFormati Memory card Drive USB: memoria flash e interfaccia USB (Universal
Serial Bus) Drive a stato solido
Gerarchie di memoria
Elaboratore ha diversi tipi di memoria organizzate per:
Velocizzare le prestazioni
Ridurre i costi
I diversi tipi di memoria sono organizzati in gerarchia:
Dalla più veloce, meno capiente
Alla più lenta, più capiente
Gerarchie di memoria
Nell’organizzazione della gerarchia: Principio di località
Due forme del Principio di località:
località spaziale: se un programma accede ad una cella di memoria → accesso alle celle vicine
località temporale: se un programma accede ad una cella → nuovo accesso alla cella
Gerarchie di memoria
Consideriamo un dispositivo di memoria M
Una cache per M è un dispositivo Con capacità inferiore rispetto a M
Maggiore velocità rispetto a M
Nell’accesso ai dati in M Copia di alcuni dati mantenuta nella cache
20/11/2017
10
Gerarchie di memoria
L’aggiornamento della memoria cache di M segue politica LRU (Least Recently Used) di aggiornamento:
accesso a cella x non contenuta nella cache di M
ricerca in M
spostamento del dato nella cache (insieme ad altri dati nelle vicinanze)
dati sostituiti → usati nel momento più lontano
Gerarchie di memoria
Gerarchia di memoria dei calcolatori moderni
1. registri CPU
2. Cache di livello 1
3. Cache di livello 2
4. Cache di livello 3
5. Memoria centrale
6. Memoria di massa
Gerarchie di memoria
Gerarchia di memoria dei calcolatori moderni
1. registri CPU
2. Cache di livello 1
3. Cache di livello 2
4. Cache di livello 3
5. Memoria centrale
6. Memoria di massa
Memoria
DOMANDA: Quale di questi è un sinonimo di "memoria di massa"?
1. Memoria centrale
2. RAM
3. Memoria volatile
4. Memoria secondaria
5. ROM
20/11/2017
11
Memoria
DOMANDA: Quale di questi è un dispositivo magnetico?
1. Disco rigido
2. CD
3. DVD
4. Memory card
5. Drive USB
Memoria
DOMANDA: Quale tipo di accesso è caratteristico dei nastri magnetici?
1. Sequenziale
2. Diretto
3. Misto
4. Associativo
5. Ipertestuale
Memoria
DOMANDA: Quale di queste affermazione a proposito di un drive USB (chiavetta) è vera?
1. È volatile
2. Consente un numero infinito di operazioni di scrittura
3. Ha un tempo d'accesso inferiore a quello della RAM
4. È persistente
24/11/2017
1
Periferiche
Architettura dell’elaboratore
Periferiche
Fino ad ora → struttura interna dell’elaboratore
Consideriamo componenti che permettono interazione con l’esterno Immissione dati (input)
Emissione dati (output)
Periferiche
Periferica controllata da interfaccia: scheda collegata a bus di sistema
Collegamento tra interfaccia → porte di comunicazione sul computer
Diversi tipi di connettori: VGA, DVI, HDMI USB …
Periferiche di input
Ricevere informazione in ingresso (periferiche di input): Tastiera
Strumenti di puntamento
Scanner
...
24/11/2017
2
Periferiche di output
Mostrare i risultati ottenuti dall’elaborazione dell’input (periferiche di output) Schermo
Stampanti
Casse audio
...
Tastiera
Traduzione tasto → corrispondente segnale elettrico
Disposizione tasti → nazione di riferimento
Dispositivi di puntamento
Strumenti di puntamento per interazione con il computer → interfacce grafiche (GUI)
Mouse
Tecnologie per rilevare i movimenti Sfera
Ottica
Dispositivi di puntamento
Altri dispositivi di puntamento Touchpad
Trackball
Joystick
Touchscreen
24/11/2017
3
Schermo
Rappresentazione di informazione →discretizzazione
Elemento rappresentato come una serie di elementi in una griglia
Le immagini discretizzate costituite da punti: pixel (picture element)
Discretizzazione
Fonte: fotografiamoderna.it
Pixel
Nella tecnologia LCD: Pixel suddivisi in subpixel di colori rosso, verde, blu
Colori definiti con opportune gradazioni di questi colori: 256 possibili gradazioni
Ogni pixel ha 256*256*256= 16.777.216 sfumature
Profondità di colore: numero colori utilizzati per ogni pixel
Profondità di colore
Commons.wikipedia.org
24/11/2017
4
Risoluzione
Risoluzione di uno schermo: numero massimo di pixel rappresentabili:
n. pixel orizzontali * n. pixel verticali 1366*768
1024*768
1280*720
Risoluzione
Rapporto d’aspetto
Caratteristiche di uno schermo Dimensione dell’immagine visibile (in pollici):
diagonale del monitor
Rapporto d’aspetto (rapporto tra base e altezza) 4:3
16:9: formato panoramico
Scheda grafica e GPU
CPU gestisce lo schermo tramite una scheda grafica
Scheda grafica: mappa dello schermo Trasmette informazioni al monitor
La quantità di calcoli per il controllo dello schermo ha portato all’introduzione di processori dedicati: GPU (Graphical Processing Unit)
24/11/2017
5
Schermo
Altre caratteristiche: Luminosità
Contrasto
Frequenza di aggiornamento
Angolo di visibilità
Schermo
DOMANDA: La profondità di colore è legata a:1. Risoluzione di un monitor
2. Rapporto d’aspetto di un monitor
3. Numero di colori rappresentabili su un monitor
4. Frequenza della CPU
Schermo
DOMANDA: Quale di queste può essere l'indicazione della risoluzione di un video?
1. 16:9
2. 4:3
3. 17"
4. 3 ppm
5. 1024x768
Schermo
DOMANDA: Come si misura la dimensione dell'immagine visibile su un video?1. Lungo la base
2. Lungo l'altezza
3. Sommando base e altezza
4. Lungo la diagonale
5. Calcolando la media tra base ed altezza
24/11/2017
6
Stampanti
Stampante: dispositivo di output
Diversi tipi di stampanti basate su tecnologie differenti:
Getto d’inchiostro
Laser
A impatto
Risoluzione di una stampante
Caratteristiche di una stampante
Risoluzione: densità di punti stampati sul foglio Si misura in dpi (dots per inch)
Velocità di stampa: Si misura in ppm (pages per minute)
Misura non standardizzata
Stampanti a getto d’inchiostro
Gocce di inchiostro trasferite sulla carta
Ogni goccia → punto di inchiostro da colorare
Il foglio scorre sotto una testina che applica l’inchiostro
Caratteristiche Elevata risoluzione
Prezzo contenuto
Stampanti laser
Tecnologia delle stampanti laser:
Raggio laser proietta immagine su un rullo
Punti del rullo caricati elettrostaticamente
Carica elettrostatica attrae polvere (toner ) →inchiostro
Punti attivati trasferiti sul foglio
24/11/2017
7
Stampanti
DOMANDA: Con quale unità si può misurare la velocità di stampa di una stampante?
1. bps
2. pollici
3. hertz
4. ppm
5. dpi
Stampanti
DOMANDA: Con quale unità di misura si può misurare la risoluzione di una stampante?
1. ppm
2. bps
3. pollici
4. hertz
5. dpi
Acquisizione immagini
Scanner: permette di acquisire testo e immagini di un documento cartaceo
Funzionamento dello scanner: una luce fluorescente percorre il documento
sensori individuano luminosità delle diverse zone
Qualità: risoluzione (ppi)
Acquisizione immagini
Testo acquisito → per l’elaboratore è un’immagine
Optical Character Recognition: OCR
Scansione contenente testo → conversione dell'immagine nel testo corrispondente
Riconoscimento caratteri
24/11/2017
8
Altre periferiche
Altre periferiche collegabili all'elaboratore:
Macchine fotografiche digitali
Webcam
Altoparlanti
Lettori MP3
Telefoni cellulari
Combinazione (LIM)
26/11/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Software
Software
Il software può essere diviso in due categorie:
Software applicativo: applicazioni per problemi specifici
Software di base: gestione dell’elaboratore (Sistema operativo)
Bootstrap
All’avvio di un elaboratore, la RAM è vuota
Se la CPU esegue solo istruzioni in RAM, come è possibile avviare l’elaboratore?
Fase di bootstrap: Esecuzione di istruzioni in memoria non volatile
Esecuzione BIOS (Basic Input/Output System)
Caricamento del sistema operativo in RAM
Sistema operativo
Software
26/11/2017
2
Il sistema operativo
Il sistema operativo è un software di sistema o di base:
Gestione delle risorse del computer
Interfaccia per l’utente
Astrazione rispetto all’hardware (macchina virtuale o astratta)
Supporto ai programmi applicativi
Il sistema operativo - elementi
Elementi del sistema operativo:
Nucleo (kernel): gestione CPU
Gestione della memoria
File system
Gestione delle periferiche
Gestione della rete
Interprete dei comandi
Il sistema operativo
Sistema operativo
nucleo
hardware
G. memoria
File system
G. periferiche
Interprete dei comandi
G. rete
Il sistema operativo
Sistemi operativi:
Unix
Linux
Microsoft Windows
Mac OS
iOS
Android
…
26/11/2017
3
Il sistema operativo
DOMANDA: Quale di questi non è un componente di un sistema operativo?
1. Nucleo
2. Gestore della memoria
3. File system
4. CPU
5. Interprete dei comandi
Gestione della CPU
Sistema operativo
Il sistema operativo
Primi elaboratori: Monoprogrammati: un solo
programma in memoria centrale Privi di sistema operativo Gestione dell’hardware da
parte degli utenti
Sistemi batch Monitor: automazione dell’avvio
dei programmi Durante l’esecuzione nessuna
interazione
Fonte: commons.wikipedia
Il sistema operativo
Sistemi operativi successivi (anni ‘60): recupero tempo inattività
Tempo di attesa periferiche I/O
Tempo di attesa dispositivi di massa
Sistemi multiprogrammati
26/11/2017
4
Multiprogrammazione
Sistemi multiprogrammati:
RAM suddivisa in spazi
Ogni spazio associato ad un determinato programma
In ogni instante: un solo programma eseguito dalla CPU
Indirizzo Contenuto
1 …
2 …
3 …
4 …
5 …
6 …
7 …
8 …
9 …
10 …
Programma 1
Programma 2
Programma 3
RAM
Il sistema operativo
La nascita di applicazioni interattive, ha portato a classificare le applicazioni in base all'utilizzo della CPU:
Applicazioni I/O Bound: interattive, spreco CPU
Applicazioni CPU Bound: non interattive, utilizzo intenso CPU
Sistemi operativi time-sharing
Sistemi operativi time-sharing (multitasking): simulano un’esecuzione parallela
Tempo della CPU:
diviso in intervalli
condiviso tra i processi in memoria
Parallelismo virtuale
Sistemi operativi time-sharing
26/11/2017
5
Sistemi operativi time-sharing
Due processi: Writer Ricerca di un file
Sistemi operativi time-sharing
Tempo di esecuzione dei programmi
Writer: 1s di esecuzione
2s di attesa
1s di esecuzione
Ricerca di un file 3s di esecuzione
Sistemi operativi time-sharing
Sistema monoprogrammato
1s 1s 1s 1s 1s 1s 1s
7s
Sistemi operativi time-sharing
Sistema time-sharing
1s 1s 1s 1s 1s
5s
26/11/2017
6
Processo
Programma
Entità statica
Costituito da: codice
Processo
Evolve dinamicamente
Costituito da: codice
dati
allocazione in RAM
Nei sistemi operativi moderni si parla di processo, non di programma
Processo
Un processo può trovarsi nei seguenti stati:
pronto: attende l’esecuzione da parte del processore
esecuzione: processore dedicato all’esecuzione del processo
in attesa: non può essere eseguito (in attesa di un evento esterno)
Processo
Alla creazione: processo in stato pronto
Lo stato del processo può evolvere
La lista dei processi in stato pronto gestita da una componente del nucleo→ schedulatore
In genere i processi pronti formano una coda
Lo schedulatore gestisce l’ordine di esecuzione della CPU: politica di scheduling
Schedulazione
Pronto
In attesa
In esecuzioneProcesso 2
Processo 3
Processo 4Processo 1
26/11/2017
7
Schedulazione
Politica di schedulazione Round Robin
Processo in esecuzione richiede operazione input/output → in attesa
Ad ogni processo assegnato un quanto di tempo; terminato il quanto processo in esecuzione → stato pronto
Il primo processo tra i processi in stato pronto → in stato esecuzione
Schedulazione
Pronto
In attesa
In esecuzioneProcesso 2
Processo 3
Processo 4Processo 1
Schedulazione
Pronto
In attesa
In esecuzione
Processo 3
Processo 4 Processo 2
Processo 1
Schedulazione
Pronto
In attesa
In esecuzioneProcesso 3
Processo 4
Processo 1Processo 2
26/11/2017
8
Schedulazione
Sospensione di un processo da stato in esecuzione prevede:
Salvataggio informazioni sul contesto di esecuzione (Context Swapping)
Salvataggio delle informazioni per la ripresa dell’esecuzione Valori assegnati ai registri CPU
Multiprogrammazione
La multiprogrammazione permette
Esecuzione virtuale di più applicazioni contemporaneamente
Una sola finestra attiva (processo foreground)
Altri processi in background Finestre non attive
Demoni/servizi
Schedulazione
DOMANDA: Per un processo in un sistema in time sharing, quale transizione di stato non è possibile?
1. Da "pronto" a "in esecuzione"
2. Da "in esecuzione" a "pronto"
3. Da "in esecuzione" a "in attesa"
4. Da "in attesa" a "in esecuzione"
5. Da "in attesa" a "pronto"
Schedulazione
DOMANDA: In un sistema in time sharing, cosa si intende per "context swapping"?
1. Lo scambio di dati tra due processi2. Il trasferimento di alcune pagine dalla RAM all'area
di swapping su memoria di massa3. Il salvataggio dello stato di un processo ed il ripristino
dello stato di un altro4. L'aggiornamento del sistema operativo ad una
versione più recente5. Lo stato di un processo
26/11/2017
9
Gestione della memoria
Sistema operativo
Gestione della memoria centrale
Multiprogrammazione: memoria centrale condivisa da più processi
Problematiche:
memoria centrale è costosa → dimensioni limitate
gestione dello spazio privato di ciascun processo
Gestione della memoria centrale
Tecnica di gestione della memoria centrale:
Memoria virtuale:Ogni processo ha uno spazio di indirizzamento virtuale
Lo spazio di indirizzamento virtuale non necessariamente coincide con quello fisico
Gestione della memoria centrale
Tecnica di gestione della memoria centrale:
Memoria centrale suddivisa in pagine fisiche: blocchi di dimensione fissa
Programma caricato in RAM: rilocazione Suddivisione in pagine logiche
Assegnato a pagine libere
26/11/2017
10
Gestione della memoria centrale
Esempio
Processo 1
Processo 2
Memoria centrale
1
2
3
4
5
6
7
8
9
10
11
12
Spazio virtuale
Pagina 1
Pagina 2
Pagina 3
Spazio virtuale
Pagina 1
Pagina 2
Pagina 3
Gestione della memoria centrale
Rilocazione gestita da MMU (MemoryManagement Unit):
Dispositivo hardware per traduzione indirizzi logici in indirizzi fisici
Tabella delle pagine: corrispondenza tra indirizzi logici e fisici
Gestione della memoria centrale
Limitazione della memoria centrale → zona della memoria secondaria (area di swap) per trasferimento di parte della memoria centrale
Periodicamente
processi scaricati nell’area di swap
processi nell’area di swap caricati in memoria
Gestione della memoria centrale
26/11/2017
11
Gestione della memoria centrale
DOMANDA: Cosa si intende per "MMU"?1. Un registro della CPU
2. Una memoria volatile
3. Un'applicazione per la riproduzione di brani musicali
4. Un dispositivo hardware per la gestione della RAM
5. Una componente software del sistema operativo
Gestione della memoria centrale
DOMANDA: In un sistema che realizza la memoria virtuale, cosa si intende per "swapping"?
1. Lo scambio di dati tra due processi
2. Il trasferimento di alcune pagine dalla RAM ad un'area su memoria di massa
3. Il salvataggio dello stato di un processo ed il ripristino dello stato di un altro
4. L'aggiunta di schede di RAM
5. La morte di un processo e l'eliminazione dalla RAM delle pagine da esso occupate
Gestione delle periferiche
Sistema operativo
Gestione delle periferiche
Periferiche collegate al computer tramite interfacce
Caratteristiche fisiche delle periferiche sono nascoste → rappresentazione astratta →periferiche virtualiGestore si occupa di conflitti nell’utilizzo
Comandi di alto livello
26/11/2017
12
Gestione delle periferiche
Controller: dispositivo hardware per comunicare con una periferica
Driver: software di gestione di una periferica Nasconde i dettagli del controller
Fornisce comandi di alto livello
Traduzione dei comandi astratti in comandi specifici
Plug and Play
Molti sistemi operativi supportano il Plug and Play Rilevamento di una periferica
Riconoscimento del driver opportuno e la sua installazione
Gestore delle periferiche
DOMANDA: Come si chiama il componente software, specifico per un particolare modello di periferica, che ne consente la corretta gestione da parte del sistema operativo?
1. Gestore delle periferiche
2. Kernel
3. Driver
4. Drive
5. Drive USB
File System
Sistema operativo
26/11/2017
13
Gestione dei file
Gestore della memoria secondaria (file system): gestisce la memorizzazione dei dati sulla memoria di massa
Obiettivi della gestione della memoria secondaria: nascondere la complessità dei meccanismi di
memorizzazione
gestione efficiente della memoria secondaria
Gestione dei file
Dati organizzati in file e cartelle
Rappresentazione strutturalogica gerarchica
Cartella che contiene tutti i file e le cartelle → radice
Struttura ad albero
Gestione dei file
File identificati da Nome
Pathname: percorso dalla radice fino a cartella/file Es. C:\Documenti\Lezione.pdf
Gestione dei file
Percorso relativo: percorso a partire dalla cartella corrente
Es. Sono nella cartella C:\Programmi Percorso relativo del file prova.exe: Prove\prova.exePercorso assoluto: C:\Programmi\Prove\prova.exe
26/11/2017
14
Gestione dei file
Nel file system: cartella corrente “.” cartella precedente “..”
C
Documenti Programmi
Lezione.pdf
primo.exe
Prove
prova.exe
Cartella corrente: Prove
Percorso relativo per C:\Documenti\Lezione.pdf?
Gestione dei file
C
Documenti Programmi
Lezione.pdf
primo.exe
Prove
prova.exe
Cartella corrente: Prove
Percorso relativo per C:\Documenti\Lezione.pdf?
..\..\Documenti\Lezione.pdf
Gestione dei file
File system memorizza alcune caratteristiche fondamentali di un file:
formato
occupazione di memoria
informazioni temporali
diritti di accesso
Gestione dei file
DOMANDA: Quale struttura dati meglio delinea il file system di Windows?1. Pila
2. Lista
3. Albero
4. Anello
5. Coda
26/11/2017
15
Gestione dei file
DOMANDA: Il percorso assoluto di un file è:1. Un programma applicativo
2. Il gestore della memoria
3. L’estensione del file
4. Il percorso dalla cartella corrente
5. Il percorso dalla cartella radice
Interfaccia utente
Sistema operativo
Interfaccia utente
Componente per la comunicazione con l’utente
In risposta ai comandi, attiva i relativi programmi
Interfaccia utente
Linea di comando Digitazione comandi
Interfaccia grafica WYSIWYG (What You
See Is What You Get)
Interfacce multimediali
26/11/2017
16
Interprete dei comandi
All’inizio di una sessione → autenticazione: Controllo accesso alle risorse
Personalizzazione ambiente applicativo
Autenticazione possibile Dimostrazione di conoscenza (username/password)
Dimostrazione di possesso (smart card)
Dimostrazione di caratteristiche fisiche (impronte digitali, retina)
Interfaccia utente
Possibili utenti di un elaboratore Amministratore di sistema
Operatore di sistema
Programmatore
Utente applicativo
Software maligni
Software
Software maligni
Programmi progettati per infiltrarsi nell’elaboratore (Malware)
Virus: istruzioni dannose all’interno di un programma Infezione di altri programmi
Cancellazione/danneggiamento file
Diffusione da un calcolatore all’altro
26/11/2017
17
Software maligni
Programmi progettati per infiltrarsi nell’elaboratore (Malware)
Worm: programma che si diffonde su vari elaboratori in rete
Cavallo di Troia: applicazione che compromette sicurezza elaboratore, nascosto all’interno di altre applicazioni
Altri casi: spyware, adaware, crimeware, hoax
Software maligni
Difesa da software maligni
Comportamento dell’utente
Firewall: hardware o software per impedire accessi
Antivirus: programmi in grado di individuare/rimuovere software maligni
Software maligni
DOMANDA: Quale dispositivo è più adatto per difendersi da un trojan horse?
1. Hoax
2. Firewall
3. Adware
4. Access point
5. Compilatore
29/11/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Rappresentazione dei dati
Elaborazione dell’informazione
Un elaboratore permette la fruizione di diversi contenuti: Numeri
Testi
Immagini
Audio
Video
…
Codifica
La rappresentazione dell’informazione è basata su una codifica
Codifica: corrispondenza biunivoca tra elementi di un insieme e un insieme di numeri naturali
Negli elaboratori: rappresentazione binaria (bit)
Codifica – Un esempio
lunedìmartedì
mercoledìgiovedìvenerdìsabatodomenica
12
34
56
7
lunedìmartedì
mercoledìgiovedìvenerdìsabatodomenica
1
34
56
7
Quale giorno codifica 1?
29/11/2017
2
Standard
Gli standard di comunicazione sono basate su una convenzione condivisa
Assenza di ambiguità e incongruenze in fase di Codifica
Decodifica
Standard: un esempio
U+1F602
□
Codifica binaria
Nei calcolatori → codifica binaria
Supponiamo di avere una successione di k bit: posso rappresentare 2k successioni distinte k=2 00, 01, 10, 11
k=3 000, 001, 010, 011, 100, 101, 110, 111
…
Se ho k bit posso costruire una codifica univoca per al più 2k entità
Codifica binaria
Supponiamo di dover codificare i mesi dell’anno. Di quanti bit ho bisogno?
gennaio
febbraio
marzo
aprile
maggio
giugno
settembre
0
1
0000
0001
0010
luglio
ottobre novembredicembre
gennaio
febbraio aprile
giugno
settembreottobre novembre
dicembre
maggio
marzo
agosto agostoluglio
gennaio
febbraio
aprile
giugno
settembre
ottobre
novembre
dicembre
maggio
marzo
agosto
luglio
0011
010001010110
0111100010011011
1110
29/11/2017
3
Teoria dell’informazione
Nasce quando Claude Shannon(1948) introduce lo studio sistematico dell'informazione
Misura della quantità di informazione contenuta in un supporto
Codifica
DOMANDA: Volendo codificare in binario, con una codifica a lunghezza costante, i 7 giorni della settimana, quale lunghezza minima devono avere le sequenze di bit adottate?
1. 1
2. 2
3. 8
4. 7
5. 3
Informazione analogica e digitale
Rappresentazione dei dati
Informazione digitale e analogica
Due approcci per codificare l’informazione Codifica analogica
Codifica digitale
Codifica analogica: individuazione di una grandezza analoga per rappresentare incrementi/decrementi
Es. termometro a mercurio, orologio analogico
29/11/2017
4
Informazione digitale e analogica
Codifica digitale (da digit, cifra)
Alfabeto di simboli
Regole di codifica: legame tra un valore e una sequenza di simboli
Es. orologio digitale
Alfabeto: notazione decimale
Regole di codifica: relazioni tra i numeri utilizzati
Informazione discreta e continua
Informazione discreta Insieme di valori
riconducibile ai numeri naturali
Es.: termometro digitale
Informazione continua Insieme di valori
riconducibile ai numeri reali
Es.: termometro a mercurio
Rappresentazione binaria di informazione non numerica
Rappresentazione dei dati
Codifica del testo
Carattere: simbolo dell’alfabeto
Stringa: successione di caratteri
Conversione in codifica dei caratteri
Codifica univoca per ogni simbolo dell’alfabeto: Lettere maiuscole e minuscole
Simboli interpunzione
Cifre numeriche e simboli matematici
Altri caratteri (es. è, ò, @, …)
29/11/2017
5
Codice Morse
Codifica di caratteri: corrispondenza tra un carattere e una combinazione di impulsi elettrici
Fonte: Wikimedia Commons
Codifica del testo
Codifica ASCII (American Standard Code for Information Interchange): codifica con 7 bit
Successivamente Extended ASCII: estensione a 8 bit (1 byte)
Il carattere “A” è rappresentato da 0100 0001
Codifica ASCII Codifica Unicode
Altre codifiche:
Codice Unicode: 16 bit per rappresentare un carattere Obiettivo: favorire interoperabilità
Unicode 2015: aggiunta la codifica degli emoji
29/11/2017
6
Varianti di Unicode
Alcune varianti per il Web UTF-8 (Unicode Transformation Format 8): codifica più
diffusa
ISO
Codifica Microsoft
Codifica del testo
File di testo utilizzati dagli elaboratori File di puro testo (file .txt)
File di testo con formattazione (file .doc, .docx, .odt,…)
Linguaggi di marcatura: marcature (tag) per descrivere alcuni aspetti del documento <html>, <a>, <p>,…
Linguaggi di descrizione dell’impaginazione: PostScript, PDF (Portable Document Format)
Codifica del testo
DOMANDA: La codifica ASCII?1. Serve per codificare immagini
2. È utilizzata per codificare suoni
3. Utilizza 1 bit per la codifica dei caratteri
4. Utilizza 7/8 bit per la codifica dei caratteri
5. Utilizza 128 bit per la codifica dei caratteri
Codifica del testo
DOMANDA: La codifica Unicode?1. Serve per codificare suoni
2. Non è utilizzata per codificare il testo
3. Utilizza 2 bit per la codifica del testo
4. Utilizza più bit della codifica ASCII
5. Utilizza meno bit della codifica ASCII
29/11/2017
7
Codifica immagini
Rappresentazione digitale delle immagini Colore Profondità di colore: numero di colori (bit) per pixel
Forma dell’immagine Schermo costituito da pixel (picture element)
Rappresentazione del colore
Rappresentazione del colore: utilizzo di colori primari combinati RGB (Red, Green, Blue): modello additivo Combinazione colori con varia intensità da 0 a 255 Varianti
sRGB (Standard RGB) Adobe RGB
RGB
Colore Codice(R,G,B)
(0,0,0)
(255,255,255)
(255,0,0)
(0,255,0)
(0,0,255)
(255,255,0)
(0,255,255)
(255,0,255)
(128,128,128)
(0,128,0)
(128,0,128)
(0,0,128)
Grafica raster e vettoriale
Formato immagini
Formato raster: utilizzo di bitmap Formati compressi: JPEG, GIF,…
Formati non compressi: BMP
Formato vettoriale: immagini rappresentate componendo primitive geometriche CGM, SVG, …
29/11/2017
8
Grafica raster e vettoriale
Da iImageDesign
Qualità immagine
Nella grafica raster, il numero di pixel è proporzionale alla qualità dell’immagine
La qualità dell’immagine e il numero di pixel utilizzati è proporzionale all’occupazione del file
Codifica dell’immagine
DOMANDA: La codifica raster?1. Serve per codificare suoni
2. È utilizzata per codificare il testo
3. Utilizza primitive geometriche per la codifica delle immagini
4. Utilizza una bitmap per la codifica delle immagini
5. È basata sulla codifica ASCII
Codifica dell’immagine
DOMANDA: La codifica vettoriale?1. Serve per codificare suoni
2. È utilizzata per codificare il testo
3. Utilizza primitive geometriche per la codifica delle immagini
4. Utilizza una bitmap per la codifica delle immagini
5. È basata sulla codifica ASCII
29/11/2017
9
Codifica dell’immagine
DOMANDA: La codifica di colori RGB?1. Utilizzo i colori di base Rosa, Giallo, Bianco
2. Utilizza 15 colori di base
3. È basata sull’uso di 1 colore di base
4. Utilizza i colori di base Rosso, Verde, Blu
Codifica dell’immagine
DOMANDA: Nella codifica di colori RGB, (255,0,0) rappresenta?
1. Il colore di base Rosa
2. Il colore di base Nero (Black)
3. Il colore di base Bianco
4. Il colore Nero
5. Il colore di base Rosso
Suoni
Un suono può essere descritto da un’onda: spostamento delle molecole nel tempo
L’ampiezza dell’onda è legata all’intensità del suono
La lunghezza d’onda è legata alla frequenza dell’onda e all’altezza del suono
La forma d’onda è legata al timbro
Onda sonora
tempo
ampiez
za
Ampiezza
Lunghezza
29/11/2017
10
Timbro Onda sonora
Un segnale corrisponde a un grandezza fisica continua: Variabile nel tempo
Variazione associata a numeri reali
Può assumere valori infiniti
Campionamento
Codifica digitale
Per rappresentare l’andamento nel tempo di una grandezza continua → campionamento
Campionamento: Suddivisione dell’intervallo in sottointervalli
Scelta di un istante di riferimento del sottointervallo
Valore campionato negli istanti di riferimento scelti
Frequenza di campionamento: numero campioni nell’unità di tempo
Quantizzazione
Codifica digitale
Permette una rappresentazione discreta
Per rappresentare una grandezza continua → quantizzazione
Quantizzazione: divisione dell’intervallo dei possibili valori in intervalli discreti
29/11/2017
11
Campionamento
tempo
ampiez
za
Campionamento
tempo
ampiez
za
Campionamento
tempo
ampiez
za
Campionamento
tempo
ampiez
za
29/11/2017
12
Quantizzazione
ampiez
za
tempo
Quantizzazione
ampiez
za
tempo
Quantizzazione
ampiez
za
tempo
Suoni
Codifica digitale (CD audio): Frequenza di campionamento: 44.100 Hz
Quantizzazione: 65.536 livelli (16 bit)
Formato file audioNon Compressi: WAV, AIFF
Compressi: MP3, AAC
29/11/2017
13
Informazione digitale
Quantizzazione e campionamento: base della codifica digitale
Provocano perdita di informazione
Risultati teorici indicano come limitare la perdita di informazione (teorema del campionamento di Shannon)
Codifica digitale binaria: basata su valori binari
Filmati
Filmato digitale costituito da sequenza di fotogrammi (frame)
Alcuni formati:QuickTime
MPEG-2
FLV (FLash Video)
AVI (Audio Video Interleave): contenitore di formati, codec (applicazione codifica/decodifica)
Codifica dei suoni
DOMANDA: Il campionamento:1. Serve per migliorare il timbro degli strumenti
2. Viene utilizzato per approssimare un valore continuo
3. Seleziona un numero di valori di un segnale continuo
4. Migliora la qualità abbassando la frequenza di campionamento
Codifica dei suoni
DOMANDA: La quantizzazione:1. Serve per definire il timbro degli strumenti
2. Viene utilizzato per definire la frequenza di campionamento
3. Viene utilizzato per approssimare un valore continuo
4. Migliora la qualità abbassando il numero di livelli
29/11/2017
14
Trasmissione dell’informazione
Informazione digitale favorisce la corretta trasmissione dell’informazione
Nel caso dell’informazione binaria digitale Due possibili valori nell’alfabeto
Ogni altro valore: errore
Possibili meccanismi di protezione basati su ridondanza
Informazione ed errori
Meccanismi di protezione Schema di ripetizione: simboli inviati più volte
Messaggio: 0110 0111Messaggio trasmesso: 0110 0110 0111 0111
Messaggio con errore: 0110 1110 0011 0111
Controllo di parità: messaggio diviso in blocchi e aggiunta di un bit di parità (numero di 1 nel blocco)
Messaggio: 0110 011Messaggio trasmesso: 0110 011 0
Messaggi con errore: 0110 111 0 1110 111 0
Compressione
Definizione nuova codifica digitale → maggiore efficienza
Vantaggi: memorizzazione
trasmissione
Definizione nuova codifica: utilizzo di informazioni sui dati da codificare
Rapporto di compressione: dimensione del file non compresso/dimensione del file compresso
Compressione
Esempio Testo da codificare su alfabeto A,C,G,T A: 50 occorrenze C: 20 occorrenze G, T :10 occorrenze
Codifica 1 A: 00 C: 01 G: 10 T: 11
Codifica 2 – più efficiente A: 0 C: 10 G: 110 T: 111
29/11/2017
15
Compressione
Esempio A: 50 occorrenze, C: 20 occorrenze, G, T: 10 occorrenze Codifica 1: 50*2+20*2+10*2+10*2=180 bit Codifica 2: 50*1+20*2+10*3+10*3=150 bit
Codifica 1 A: 00 C: 01 G: 10 T: 11
Codifica 2 – più efficiente A: 0 C: 10 G: 110 T: 111
Compressione
Tecniche di compressione
senza perdita di informazione (lossless): Processo reversibile
Tecniche statistiche: frequenza simboli
Sostituzione: ripetizione simboli
con perdita di informazione (lossy): Processo irreversibile
Elevati rapporti di compressione
Eliminazione informazione non rilevante
Codifica
DOMANDA: Per la protezione dell’informazione:1. Posso aggiungere rumore al canale di comunicazione
2. Posso usare la correzione con campionamento
3. Non può essere effettuata per informazione digitale
4. È basata sull’introduzione di ridondanza
Compressione
DOMANDA: Quale vantaggio comporta la conversione di un'immagine da formato BMP a formato JPG?
1. Una migliore qualità generale
2. Una miglior qualità nei colori pastello
3. Un'immagine più nitida
4. Una minore occupazione di memoria
5. Nessuno
29/11/2017
16
Compressione
DOMANDA: Quale di questi identifica una compressione lossless?
1. JPEG
2. MP3
3. WinZip
4. FLV
Rappresentazione dei numeri
Rappresentazione dei dati
Elaborazione dell’informazione
Codifica posizionale
Cifre assumono valori in funzione alla loro posizione
Le cifre sono elevate a potenze della baseEs.
(248)10 = 2*102 + 4*101 + 8*100
(10010)2 = 1*24 + 0*23 + 0*22 +1*22+0*20=(18)10
Elaborazione dell’informazione
Codifica non posizionale
Cifre associate a un valore numerico
Numero: somma dei simboli presenti → sistema additivoEs.
MMVIII = 2008
29/11/2017
17
Elaborazione dell’informazione
Codifiche posizionali rilevanti
Codifica binaria (base 2); simboli → {0,1}
Codifica decimale (base 10); simboli usati →{0,1,…, 9}
Codifica ottale (base 8); simboli usati → {0,1,…,7}
Codifica esadecimale (base 16); simboli usati →{0,1,…, 9,A,…,F}
Codifica binaria
Conversione da binaria a decimale(1011)2=
1*23 + 0* 22 + 1*21 + 1*20=(11)10
Codifica binaria
Conversione da decimale a binaria Dividendo per 2
(13)10=
13/2= 6 con resto 1
Prima cifra da destra 1
(6)10=
6/2= 3 con resto 0
Seconda cifra da destra 0
nnn1
nn01
Codifica binaria
Dividendo per 2
(3)10=
3/2= 1 con resto 1
Terza cifra da destra 1
(1)10=
1/2= 0 con resto 1
Quarta cifra da destra 1
n101
1101
29/11/2017
18
Codifica binaria
Codifica binaria: rappresentazione dell’informazione nell’elaborazione
Byte: sequenza di 8 bit → 28 numeri Da 0 a 28 -1
Codifica dell’informazione
Kilobyte (KB) 210=1.024 byte (circa mille byte)
Megabyte (MB) 220=1.048.576 byte (circa un milione di byte)
Gigabyte (GB) 230=1.073.741.824 byte (circa un miliardo di byte)
Terabyte (TB) 240=1.099.511.627.776 byte (circa mille miliardi di byte)
Analogamente: Kilobit (Kb), Megabit (Mb), Gigabit (Gb), Terabit (Tb)
Codifica numerica
DOMANDA: Qual è la rappresentazione decimale del numero esadecimale "E"?
1. 5
2. 10
3. 14
4. 21
5. 121
Codifica numerica
DOMANDA: Qual è la rappresentazione decimale del numero binario "111"?
1. 2
2. 6
3. 7
4. 12
5. 101
29/11/2017
19
Codifica numerica
DOMANDA: Qual è la rappresentazione in binario del numero decimale "11"?
11
1011
1111
1101
10001
04/12/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Reti e Web
La Rete
«Farò una breve ma doverosa panoramica sul supporto fornito dall’infrastruttura delle telecomunicazioni per poi affrontare le questioni più importanti della rete: fare commenti sarcastici e apparire belli nei selfie»
Mario Verdicchio
Reti di elaboratori
Rete di calcolatori: insieme di dispositivi interconnessi
Telematica («telecomunicazione» e «informatica»): trasmissione a distanza tra elaboratori
Reti di elaboratori
Classificazione delle reti in base all’estensione: Personali - PAN (Personal Area Network)
Locali - LAN (Local Area Network)
Metropolitane - MAN (Metropolitan Area Network)
Geografiche - WAN (Wide Area Network)
04/12/2017
2
Reti di elaboratori
Reti di tipo differente possono essere connesse tra loro
Internetworking: connessione tra nodi di reti differenti
Internet: rete di reti
Comunicazione
Reti e Web
Reti di elaboratori
Rete → comunicazione tra elaboratori
Comunicazione: scambio di informazioni (messaggi) tra due soggetti Sorgente
Destinatario
Informazione: sequenza di messaggi
Mezzi fisici
Mezzi fisici per realizzare il canale: trasporto segnali binari
Mezzi guidati: linee fisiche
Mezzi non guidati: segnale irradiato nell’etere
Canale di trasmissione: affetto da rumore
Per ovviare alla presenza di rumore: Ridondanza nel messaggio
04/12/2017
3
Mezzi guidati
Mezzi guidati: linee fisiche Cavi telefonici: fili di rame intrecciati Velocità: da 100 Mbps a 1 Gbps
Fibre ottiche: trasmissione segnali luminosi Velocità: 10 Gbps
Mezzi non guidati
Mezzi non guidati: segnale irradiato nello spazioWi-fi (Wireless Fidelity): onde radio Connessione di elaboratori tramite access point
Telefono cellulare: Collegamento a stazione base (per la cella di interesse)
WAP, 2G, 3G, 4G
Connessione a Internet
Collegamento a Internet:
Azienda specializzata: ISP (Internet Service Provider)
Collegamento a ISP → dispositivo di connessione
Connessione dial-up
Connessioni dial-up: impegno linea telefonica
Modem analogico: connessione su linea telefonica commutata velocità fino a 56,6 Kbps
Connessione ISDN (Integrated Digital Network): utilizzo linea di telefonia digitale Velocità fino a 128 Kbps
04/12/2017
4
DSL
Tecnologia DSL (Digital Subscriber Line): utilizza normali linee telefoniche per trasferimenti ad alta velocità
Sfrutta frequenze non utilizzate dalla comunicazione telefonica
Connessione a Internet
Connessioni DSL:
ADSL (Asymmetric Digital Subscriber Line): asimmetria nella velocità di trasferimentoMaggiore velocità in download
HDSL (High bit rate Digital Subscriber Line): simmetrica nella velocità di trasferimento
Velocità: fino a 52 Mbps
Reti commutate
Reti e Web
Reti commutate
Rete commutata: rete di trasmissione condivisa tra diversi elaboratori
Composte da:
Dispositivi per instradamento
Computer collegati ai dispositivi
04/12/2017
5
Reti commutate: un esempio
Esempio
IMP IMP
IMP
IMP
IMP
IMP
Reti commutate
Reti commutate: collegamenti indiretti tra punti della rete
Dati trasferiti tra i vari instradatori fino giungere a destinazione
connessioni condivise
percorsi alternativi
Percorsi alternativi
IMP IMP
IMP
IMP
IMP
IMP
Commutazioni
Per trasferimento dati due modalità:
commutazione di circuito
commutazione di pacchetto
Commutazione di circuito: viene riservato un canale logico dedicato tra chiamante e ricevente
Utilizzato per le comunicazioni telefoniche
04/12/2017
6
Commutazione di circuito
Esempio
IMP IMP
IMP
IMP
IMP
IMP
Commutazione di pacchetto
Nella commutazione di pacchetto il messaggio viene diviso in parti → pacchetti
Ogni pacchetto: dati da trasmettere
indirizzo destinatario
numero progressivo
Commutazione di pacchetto
2 byte da inviare: 10011001 10011001
Messaggio diviso in pacchetti da 1 byte
10011001 10011001
10011001 10011001dest 1 dest 2
n. pacchetto
Trasmissione pacchetti
Pacchetti trasmessi uno per volta
Ogni instradatore:
riceve un pacchetto
lo memorizza
lo inoltra verso un instradatore successivo
I pacchetti vengono ricomposti quando sono arrivati a destinazione
04/12/2017
7
Commutazione di pacchetto
Esempio
IMP IMP
IMP
IMP
IMP
IMPPacchetto 1
Pacchetto 2
Reti commutate
Vantaggi della commutazione di pacchetto:
linee utilizzate in modo efficiente
non vi sono problemi nella sincronizzazione
migliore gestione del traffico elevato
gestione priorità
Rete commutata
DOMANDA: Nella commutazione di pacchetto?1. il messaggio viene diviso in circuiti
2. il messaggio è inviato solo ai dispositivi connessi direttamente
3. viene riservato un canale logico (pacchetto) dedicato tra chiamante e ricevente
4. il messaggio viene diviso in pacchetti
Rete commutata
DOMANDA: Nella commutazione di circuito?1. il messaggio viene diviso in pacchetti
2. il messaggio è inviato solo ai dispositivi connessi direttamente
3. il messaggio viene diviso in circuiti
4. viene riservato un canale logico (circuito) dedicato tra chiamante e ricevente
04/12/2017
8
Protocolli di comunicazione
Reti e Web
Reti e protocolli
Un’architettura di rete prevede:
Dispositivi → nodi
Connessioni
Protocolli
Software
Utenti
Reti e protocolli
Software permettono agli utenti di
Comunicare tra loro
Utilizzando l’infrastruttura di rete
Sfruttano protocolli di comunicazione
protocollo di comunicazione: regole condivise per scambio
interpretazione
dei segnali
Reti e protocolli
I protocolli permettono la comunicazione tra elaboratori differenti
Definiscono le regole per diversi aspetti della comunicazione
Gestiti da organismi internazionali ISO (International Organization for Standardization)
W3C (World Wide Web Consortium)
04/12/2017
9
Reti e protocolli
Protocolli di rete organizzati a livelli
Ogni livello:
svolge una funzione specifica
fornisce un servizio astratto al livello superiore
utilizza servizi dei livelli inferiori
Comunicazione virtuale tra livelli corrispondenti
Reti e protocolli
Reti e protocolli
Alcuni standard per architetture di rete:
Standard ISO/OSI: 7 livelli
Protocolli Internet (TCP/IP): 4 livelliApplicazione
Trasporto (livello TCP)
Internetworking (livello IP)
Collegamento
Reti e protocolli
Servizi di rete Comunicazione: Posta elettronica ChatWorld Wide Web…
Condivisione Calcolo scientifico Archivi centralizzati Periferiche condivise…
04/12/2017
10
Reti e protocolli
Un nodo della rete
Attivo: fornisce servizi ad altri nodi → server
Passivo: utilizza servizi offerti da altri nodi → client
Client/Server: indicano Elaboratore (es. elaboratore utente)
Software (es. browser)
Reti e protocolli
DOMANDA: Che cosa indichiamo con il termine "servizi di rete"?1. Programmi che consentono di sfruttare i motori di ricerca
per fornire informazioni a pagamento alle aziende2. Programmi destinati ad attività di gestione e
manutenzione dei server di rete3. Programmi per la gestione del World Wide Web4. Programmi per la gestione degli indirizzari delle liste di
discussione5. Programmi per il reperimento, deposito e scambio di
informazioni per utenti di una rete
Reti e protocolli
DOMANDA: Con i termini client e server ci possiamo riferire, a seconda dei casi e dei contesti1. solo all'hardware
2. solo al software
3. all'hardware nel caso del server, al software nel caso del client
4. all'hardware nel caso del client, al software nel caso del server
5. sia all'hardware che al software
Internet
Reti e Web
04/12/2017
11
Internet
Internet nasce alla fine degli anni’60
Progetto dell’agenzia ARPA (Advanced ResearchProjects Agency)
Rete di reti: reti di tipo differente interconnesse tra loro
Ogni sottorete collegata a Internet tramite un dispositivo: gateway
Internet
Per garantire la comunicazione sulle reti: identificazione univoca del destinatario → indirizzo
Protocolli: indirizzo univoco di ogni nodo sulla rete
Indirizzi IP (Internet Protocol): indirizzi numerici (Es. 149.132.159.3)
ICANN (International Association for Assigned Named and Numbers): assegnazione indirizzi IP
Internet
Il numero di indirizzi IP è limitato
Per ovviare alla limitazione:
Tecniche software di mascheramento (NAT, Network Address Translation): l’indirizzo gateway maschera gli indirizzi della sottorete
Versione 6 dell’Internet Protocol (IPV6): indirizzi di128 bit
Internet
Nat gateway
04/12/2017
12
Indirizzi numerici e simbolici
Indirizzi IP → numericiEs. 192.168.12.1
Indirizzo simbolico: costituito da diverse stringhe, separate da “.”
Ogni stringa → dominioEs.: dinamico2.unibg.it
DNS (Domain Name System): servizio distribuito di traduzione di indirizzi IP in indirizzi simbolici
Indirizzi numerici e simbolici
Traduzione da indirizzi numerici a indirizzi simbolici, gestito da server DNS Archivi con tabelle di corrispondenza tra indirizzi
numerici e simbolici
Richiesta inizialmente gestita dal server primario
Eventualmente trasmessa alla rete DNS
Indirizzi numerici e simbolici
Sintassi degli indirizzi simbolici: Stringhe separate da “.” Ogni stringa → dominio Domini associati ad un livello: posizioni nell’indirizzo
a partire da destra dominio più a destra → primo livello spostandosi a destra → secondo livello terzo livello ...
Nome dispositivo: stringa iniziale
Indirizzi numerici e simbolici
server1.commerciale.fiat.com
Dominio di primo livello
Dominio di secondo livello
Dominio di terzo livello
Nomedispositivo
04/12/2017
13
Indirizzi numerici e simbolici
Dominio più a destra → dominio di primo livello
Descrive caratteristiche:
Nazionali: stato di appartenenza Esempi: .it, .fr, .de, .uk, …
Sovrannazionali: caratteristica di appartenenza Esempio: .com, .org, .edu, …
Indirizzi numerici e simbolici
Secondo dominio → dominio di secondo livello
Descrive:
Ente, società, persona a cui è legato l’indirizzo www.unibg.it
server1.commerciale.fiat.com
Indirizzi numerici e simbolici
Domini dei livelli successivi: identificano singolo computer all’interno della rete
Il computer può appartenere a sottodominiserver1.commerciale.fiat.com
oppure essere nel dominio principaledinamico2.unibg.it
Nome dispositivo: stringa iniziale
Indirizzi numerici e simbolici
Internet
it
Unibg Unimi Libero
fr com
04/12/2017
14
Indirizzi numerici e simbolici
unibg
Comunicazione Economia Ingegneria
Server1 Archivio
Server1
Internet
DOMANDA: Quando è nato il primo nucleo di Internet?
1. Verso la fine degli anni Ottanta
2. Verso la fine della Seconda Guerra Mondiale
3. Verso la fine della Prima Guerra Mondiale
4. Verso la fine degli anni Novanta
5. Verso la fine degli anni Sessanta
Internet
DOMANDA: Secondo la sintassi che regola l'attribuzione dei nomi simbolici in Internet, qual è il dominio di primo livello di www.unibg.it?
1. unibg
2. www
3. unibg.it
4. www.unibg
5. it
Internet
DOMANDA: Secondo la sintassi che regola l'attribuzione dei nomi simbolici in Internet, qual è il dominio di secondo livello di www.unibg.it?
1. it
2. unibg
3. www
4. unibg.it
5. www.unibg
11/12/2017
1
Servizi su Internet
Reti e Web
Internet
Internet: infrastruttura alla base di alcuni software Posta elettronica
FTP
World Wide Web
…
Internet ≠ World Wide Web
Posta elettronica
Comunicazione asincrona
Indirizzo nomeutente@nome_dominio Assegnato da un’istituzione o provider
Ad ogni indirizzo → casella (mailbox)
Casella di posta gestita e memorizzata da un server → mail server
Accesso dell’utente → client
Invio messaggi
Invio di un messaggio:
trasferimento dal mailserver del mittente al mailserver del destinatario
Regole per lo scambio di messaggi di posta elettronica tra mailserver: SMTP (Simple Mail Transfer Protocol)
11/12/2017
2
Ricezione messaggi
Mail client:
servizi offerti dal mail server
client di posta sul proprio computer
Client di posta: trasferimento di posta dal mail server al computer locale
Protocolli per trasferimento della posta in locale: POP (Post Office Protocol)
IMAP (Internet Message Access Protocol)
Posta elettronica
Il servizio di posta elettronica non dà garanzia sulla ricezione del messaggio
Posta elettronica certificata: servizio che garantisce Ricezione del messaggio
Integrità del messaggio
Equiparato ad un raccomandata con avviso di ricevimento
Mailing list – liste di discussione
Sistemi di discussione su tematiche specifiche
Necessaria un’iscrizione
Invio di messaggi all’indirizzo della mailing list→distribuiti agli iscritti
Liste moderate: un moderatore esamina i messaggi inviati
Liste non moderate: messaggi inviati immediatamente agli iscritti
FTP
FTP (File Transfer Protocol): protocollo di trasferimento di file
Basato su server FTP e client FTP
Utilizzato per Distribuzione software
Pubblicazione materiale sul Web
11/12/2017
3
Altri servizi
Telnet (Terminal emulation link NETwork ): accesso remoto
Comunicazione in tempo reale
Chat e instant messagging
VOIP (Voice Over Intenet Protocol)
Archiviazione
Servizi di salvataggio via Internet
Client gestisce collegamenti col server per trasferimento dati
Tre tipologie di servizi: Backup
Archiviazione: memorizzazione versioni
Condivisione
Posta elettronica
DOMANDA: Il funzionamento della posta elettronica è reso possibile
1. dal Web
2. dalla presenza di due utenti in comunicazione sincrona
3. dalle tecniche di mascheramento
4. da una rete di server
Posta elettronica
DOMANDA: Che cosa indica FTP?1. Un browser per la navigazione sul Web
2. Un programma per scaricare la posta da un sito web
3. Il programma per connettersi a Internet
4. Un protocollo per ricerca
5. Un protocollo per lo scambio di file
11/12/2017
4
Ipertestualità e multimedialità
Reti e Web
Ipertesto
Il concetto di testo dotato di collegamenti viene proposto in diverse occasioni
Il termine ipertesto viene introdotto da Ted Nelson negli anni ‘60
Tratto da computerhistory.org
Ipertesto
In molto reti (Web) → struttura detta grafo
Nodi: elementi minimali di informazione (pagine web)
Collegamenti tra nodi (link)
Ipertesto
Ad albero
Circolare
A stella
Reticolare
11/12/2017
5
Collegamenti
Classificazione dei collegamenti
Interni/esterni al nodo
Interni o esterni al sito
Link Di navigazione: per la navigazione in altri documenti
(es. menu di navigazione)
Di attivazione: transizione dinamicaEs. modulo di ricerca
Multimedialità
Multimedialità: presenza di molte forme di comunicazione in un unico contesto Testo
Immagini
Suoni
Filmati
…
Multimedialità
Diversi tipi di multimedialità:
Intrinseca, additiva, nativa
Ristretta: convergenza in un unico contesto
Interattiva
Ipertestualità
DOMANDA: Cosa si intende per ipertestualità?1. Un documento di testo
2. Documento multimediale
3. Documento ottenuto sovrapponendo due testi
4. Documento con collegamenti ad altri documenti
11/12/2017
6
Multimedialità
DOMANDA: In quale dei seguenti casi abbiamo di solito multimedialità interattiva?
1. Film sottotitolati
2. Fumetti
3. Cartoni animati digitali
4. Videogiochi
World Wide Web
Reti e Web
Ipermedialità
Convergenza tra
ipertestualità e multimedialità
ipermedialità
World Wide Web
World Wide Web (WWW)
Progettato al CERN (Ginevra) da Cailliau e Berners-Lee (fine anni ‘80)
Facilitazione delle comunicazioni
Caratteristiche
Ipertestualità
Multimedialità
Distribuito su rete (Internet)
11/12/2017
7
World Wide Web
World Wide Web: costituito da pagine web
distribuite su server
dotate di collegamenti unidirezionali (link)
consultabili tramite browser (Internet Explorer, Edge, Firefox, Opera, Chrome,…) Visualizzazione delle pagine
Navigazione
World Wide Web
Sito web: insieme pagine con una coerenza rispetto Autore
Argomento di comunicazione
Destinatario
Collocazione fisica
Home page: pagina iniziale del sito
Siti web
Tipi di siti:Aziendali Siti vetrina
Commercio elettronico
Istituzionali
Personali Blog
Portale: sito con molteplicità di servizi informativi e comunicativi
Pagine web
Pagine statiche: descrizione completa sul server
Pagine dinamiche: generata da un programma prelevando informazioni da archiviGenerata a seguito di una richiesta dell’utente
Es. Moduli di ricerca
11/12/2017
8
World Wide Web
Web creato da Berners-Lee basato su tre standard: HTTP
HTML
URL
W3C (World Wide Web Consortium): ente con lo scopo di sviluppare tecnologie su cui si basa il Web
HTTP
HTTP (Hypertext Transfer Protocol): protocollo per il trasferimento di documenti ipertestuali
Richiesta di trasferimento da client a server: Richiesta dell’utente
Codificata dal browser
Invio richiesta al server
HTTP
Trasferimento tra server e client: Server invia i file richiesti dal client
File visualizzato dal browser
HTTP
Informazioni sul client a seguito di una richiesta: Indirizzo IP
Sistema operativo e browser
Risoluzione dello schermo e profondità di colore
Sito dal quale proviene
Eventuale query effettuata
Informazioni locali sulla visita
Informazioni memorizzate in file di log
11/12/2017
9
HTTP
Le informazioni presenti nei file di log: statistiche di un sito
Caratteristiche degli utenti/dispositivi
Esistono servizi web (es. Google Analytics) che permettono un’analisi degli utenti di un sito
Comunicazione push
Altre modalità di comunicazione: push Informazioni inviate all’utente senza richiesta esplicita
Feed RSS
Servizi di podcasting
HTML
HTML (HyperText Markup Language): linguaggio di marcatura per la scrittura di documenti ipertestuali
TAG: comandi per Caratteristiche strutturali e di formattazione (vedi CSS)
Link ipertestuali
Incorporare oggetti multimediali
HTML
<p> Un paragrafo </p>
<a href=˝http://www.unibg.it˝ > Università degli studi di Bergamo
<br> (interruzione di linea)
11/12/2017
10
HTML Browser
Il browser ha il compito di Interpretare il codice della pagina HTML
CSS
…
Visualizzare elementi multimediali Immagini (gif, jpg, png)
Video
Etc…
Browser
La richiesta di un browser Può richiedere più file
Da diversi server
Le funzionalità di browser possono essere ampliate: Plug-in: applicazioni che permettono di visualizzare
formati non standard
Tecnologie per il Web
Altre tecnologie per il Web
CSS
JavaScript
Java
Flash
XML
11/12/2017
11
URL
URL (Uniform resource locator ): indirizzo univoco di una risorsa nel Web
protocollo://nome_elaboratore:porta/
percorso_file?query
URL
Protocollo: protocollo di utilizzato (http, https, ftp,…)
Nome_elaboratore: identificatore di un nodo della rete (vedi DNS)
Porta: indicatore dell’applicazione destinataria
Percorso_file: percorso nel file system del server per raggiungere un certo file
Query: eventuali informazioni sui parametri
URL
http://www.unibg.it/dondi/esami/gennaio.html
http: hypertext transfer protocol
www.unibg.it: nome elaboratore www: elaboratore del dominio collegato al Web
unibg: organizzazione proprietaria del sito
it: tipo di organizzazione cui fa riferimento il sito (dominio di primo livello);
it: nazione di appartenenza
URL
http://www.unibg.it/dondi/esami/gennaio.html
dondi/esami/gennaio.html: percorso che identifica il file dondi ed esami: cartelle del server;
gennaio.html: il file html (o htm)
URL complicate:
http://www.unibg.it/cgi-bin/saluti.pl?buongiorno
11/12/2017
12
CMS
Content Management Systems (CMS): strumenti per la gestione di siti web
Gestione dei contenuti senza la necessità di conoscenze tecniche
Due componenti:Amministrazione (back end): organizzazione del sito,
della struttura, delle politiche di pubblicazione
Produzione dei contenuti
Web
DOMANDA: Quale fra le seguenti definizioni meglio descrive il World Wide Web?
1. Programma di gestione di Internet
2. Sistema di comunicazione sincrona distribuito su Internet
3. Documento di testo in cui coesistono e convergono più linguaggi e formati digitali
4. Ipertesto multimediale distribuito su Internet
5. Supporto infrastrutturale di Internet
Web
DOMANDA: Che cosa gestiscono i server HTTP?1. La corrispondenza fra indirizzi simbolici e numerici
sulla rete
2. L'invio di messaggi di posta elettronica da parte degli utenti e la comunicazione fra un server e l'altro
3. La ricezione di messaggi di posta elettronica da parte degli utenti
4. Lo scambio di documenti, dati e programmi anche fra calcolatori con sistemi operativi diversi
5. La distribuzione di pagine web agli utenti
Web
DOMANDA: Nel caso dei siti dinamici, esiste nel file system del server un file html in corrispondenza di ogni pagina del sito?
1. No
2. Sì
3. Solo per la homepage
4. Solo per le pagine "foglia" dell'alberatura del sito
5. Solo se le pagine sono costruite con un Content Management System
11/12/2017
13
Web
DOMANDA: Nell’URL http://www.unibg.it/Esami/Informatica .html, cosa rappresenta http?
1. Una pagina html
2. Una cartella di un web server
3. Un dominio di primo livello
4. Un dominio di secondo livello
5. Il protocollo di trasferimento di documenti ipertestuali
Web
DOMANDA: Nell’URL http://www.unibg.it/Esami/Informatica .html, cosa rappresenta Esami?
1. Una pagina html
2. Una cartella di un web server
3. Un dominio di primo livello
4. Un dominio di secondo livello
5. Il protocollo di trasferimento di documenti ipertestuali
Web
DOMANDA: Un CMS (Content Management System):1. Viene usato solo per siti personali
2. Non è mai usato per siti istituzionali
3. È un sistema per la gestione di siti di al più 10 pagine
4. Permette la gestione condivisa di un sito
Motori di ricerca
Reti e Web
11/12/2017
14
Motori di ricerca
Si stima vi siano decine/centinaia miliardi di pagine Web
Sistemi per la ricerca e la catalogazione delle pagine Web
motori di ricerca (Google, Yahoo!, Bing,...)
cataloghi sistematici (Yahoo! directory)
Cataloghi sistematici
Motori di ricerca
Motori di ricerca: strumento per la ricerca di pagine Web
Componenti di un motore di ricerca: interfaccia
archivi
spider/crawler
programmi di indicizzazione
Motori di ricerca - Interfaccia
La ricerca avviene per parole chiave: parole inserite dall'utente che descrivono l’argomento di interesse
Risultato di una ricerca: lista ordinata
di pagine che trattano argomenti descritti dalle parole chiave
11/12/2017
15
Motori di ricerca - Interfaccia Motori di ricerca
Tempi di risposta di un motore di ricerca: pochi secondi
Web → miliardi di pagine
Come è possibile?
Motori di ricerca Motori di ricerca
Ad una richiesta dell'utente:
il motore di ricerca accede solo ai propri archivi (copia cache)
negli archivi pagine indicizzateParole chiave Pagina web
Notizie www.corriere.itwww.repubblica.it…
Università www.unimi.itwww.unibg.itwww.unito.it…
… …
11/12/2017
16
Motori di ricerca
Aggiornamento degli archivi: indipendente dalle ricerche degli utenti
Creazione e aggiornamento degli archivi effettuato tramite: spider o crawler
programma di indicizzazione
Motori di ricerca
Spider, crawler: programmi di analisi del Web visitano alcune pagine
seguono i link contenuti
riportano informazioni sulle pagine visitate
Motori di ricerca
Programma di indicizzazione: analizza le informazioni riportate dagli spider
In particolare: parole contenute
aggiornamento archivi
Motori di ricerca
Risultati della ricerca → ordine con cui sono mostrati
Ordine determinato da analisi parole chiave
metodi più sofisticati
11/12/2017
17
Motori di ricerca specializzati
Esistono motori di ricerca con funzioni di ricerca più specializzate
Metamotori: sintesi di una ricerca su più motori
Plurimotori: ricerche in parallelo
Clusterizzatori: clusterizzazione dei risultato in base a concetti
Motori specialistici: motori di ricerca per domini specifici (Es. Google Scholar, Google Books)
Google Scholar
Ricerca
su testi di letteratura scientifica
Segnalazione delle citazioni di un’opera (collegamenti entranti)
Motori di ricerca
Ricerche nel Web → grande quantità di risultati
E’ fondamentale l’ordine di presentazione dei risultati (ranking)
Analisi statistiche hanno dimostrato che gli utenti controllano in genere pochi risultati
Motori di ricerca
Alla fine degli anni ’90 analisi della struttura del Web
Da cosa è costituita questa struttura? pagine web
link ipertestuali
Link ipertestuali → legame tra le pagine web
11/12/2017
18
PageRank
Due parametri con cui valutare le caratteristiche di una pagina: Numero di link nella stella entrante
Numero di link nella stella uscente
Un link entrante attribuisce autorevolezza →citazione
Siti autorità: siti autorevoli su un certo argomento → molti link entranti
PageRank
Motori di ricerca
I motori di ricerca di seconda generazione (ad es. Google, Bing, …) sfruttano queste proprietà
Google basa l’ordinamento su alcuni metodi tra cuiil PageRank
Altre caratteristiche: tengono traccia dei risultati selezionati dagli utenti
Valutazione di un motore di ricerca
La qualità di un motore di ricerca dipende daAmpiezza dell’archivio
Pertinenza dei risultati
Ordine (ranking)
Efficienza
11/12/2017
19
Motori di ricerca
Ranking nei motori di ricerca → alternativa alla pubblicità
Strategie per ingannare i motori di ricerca: ripetizione parole chiave
creazione di pagine da mostrare (solo) agli spider
creazione link verso una pagina per aumentarne l’autorevolezza
Motori di ricerca
DOMANDA: Dove va a cercare un motore di ricerca nel momento in cui riceve una richiesta da parte di un utente?
1. In tutto il Web
2. In tutto il Web, a eccezione del Web profondo
3. In tutti i siti noti al DNS
4. Nell'indice generale dei siti del World Wide Web Consortium
5. Nei propri archivi
Motori di ricerca
DOMANDA: Il PageRank:1. È un metodo di indicizzazione del Web
2. È un linguaggio per la scrittura di pagine web
3. È un metodo di definizione del DNS
4. È un metodo di ordinamento dei risultati di un motore di ricerca
Motori di ricerca
DOMANDA: Come mai la copia cache di Google di una pagina a volte differisce dalla pagina stessa? Perché Google conserva nella cache i testi, ma non le
immagini Perché Google non conserva nelle pagine in cache i link
uscenti dalla pagina originale, ma solo i testi e le immagini Perché le normative sul diritto d'autore consentono di
riprodurre al massimo il 15% dei testi delle pagine indicizzate
Perché non è tecnicamente possibile riprodurre le pagine dei siti statici
Perché dal momento dell'indicizzazione la pagina può essere stata modificata
11/12/2017
20
Caratteristiche
Web 2.0
Web 2.0
Maggiore interazione tra utenti e sito/piattaforma
Condivisione di informazioni
Dimensione partecipativa dell’utente: facilità nel pubblicare contenuti
Forum
Forum (bacheca elettronica): spazio di discussione
Thread: conversazione Possibili diramazioni
Presenza di moderatori
Blog
Pubblicazione di contenuti (articoli, post)
Alcune piattaforme: Tumblr
Wordpress
Blogger
Micorblogging: Twitter Hashtag #: aggregatore di tweet
11/12/2017
21
Wiki
Piattaforma per la scrittura condivisa
Memorizzata la cronologia delle modifiche
Presenza di molti link ipertestuali Es. Wikipedia, wiki Linux Ubuntu
Social network
Piattaforme per il collegamento tra utenti
Diversi tipi di relazione: Facebook, Google+: amicizia
LinkedIn: professionale
Condivisione di risorse
Ambito scientifico: ResearchGate, Academia.eu
Condivisione di slide: Slideshare
Condivisione di video: YouTube
18/12/2017
1
INFORMATICA PER LA COMUNICAZIONE(92060)
Identità digitale e sicurezza
Identità digitale
Identità digitale: aspetti correlati all’identità personale e ai dati trasmessi/pubblicati in Internet
In che modo possiamo essere sicuri dell’identità digitale di una persona?
Peter Steiner, The New Yorker, July 5, 1993
Indetity gap
Divario tra la persona e la sua identità digitale
Due conseguenze: Inaffidabilità dei riconoscimenti
Anonimato
Autenticazione
Le piattaforme nel Web utilizzano metodi di autenticazione per riconoscere gli utenti Password
Riconoscimento biometrico
Identità legata al riconoscimento
18/12/2017
2
Sicurezza informatica
Rappresentazione dei dati
Sicurezza informatica
Sicurezza informatica: accesso limitato agli utenti autorizzati
Furto di password → furto di identità (digitale) Client
Canale di comunicazione
Server
Confidenzialità
Possibilità di furti sul canale
Confidenzialità: accessibile solo dal destinatario
Protezione dei messaggi sul canale di comunicazione
Crittografia
Crittografia:
Tecnica per la protezione di informazione (messaggi): limitare la lettura ai destinatari
Ad esempio: cifratura dei messaggi di posta elettronica
La crittografia permette di costruire un messaggio non decifrabile per chi non ha la chiave di decifrazione
Criptoanalisi: tentativo di ricostruzione del messaggio non cifrato
18/12/2017
3
Crittografia
Il messaggio trasformato in messaggio cifrato dal mittente Il messaggio cifrato viene trasferito
Il ricevente utilizza un algoritmo di decifratura per ricostruire il messaggio originale
Due modalità A chiave segreta (crittografia simmetrica)
A chiave pubblica (crittografia asimmetrica)
Crittografia a chiave simmetrica
Crittografia a chiave simmetrica (chiave segreta): il messaggio viene cifrato/decifratocon una chiave in possesso del mittente e del ricevente
Problemi: trasmissione della chiave
Testo
Testo
Testo criptato
Messaggio:Ciao come stai
Messaggio criptato: 4432 4126 3212
Messaggio decriptato:Ciao come stai
Chiave segreta
Chiave segreta
Codice di Cesare
Crittografia per sostituzione: Ogni lettera sostituita con un’altra lettera usando uno
scorrimento
A B C D E
C I A O
E K C Q
A B C D E
Enigma
Macchina Enigma: Utilizzata dalla Germania per la
cifratura nella seconda guerra mondiale
Un carattere può essere sostituito con diversi caratteri
Criptoanalisi: Alan Turing
18/12/2017
4
Crittografia a chiave asimmetrica
Crittografia a chiave asimmetrica (chiave pubblica)
Utilizza due chiavicomplementari con funzioni diverse: chiave pubblica: per
cifrare i messaggi (nota a tutti)
chiave privata: per decifrare i messaggi (nota solo al proprietario)
Testo
Testo
Testo criptato
Messaggio:Ciao come stai
Messaggio criptato: 4432 4126 3212
Messaggio decriptato:Ciao come stai
Chiave pubblica
Chiave privata
Crittografia a chiave asimmetrica
La conoscenza di una chiave non permette di calcolare l’altra Il destinatario del messaggio invia (o pubblica) la chiave
pubblica al mittente Il mittente cifra il messaggio con la chiave pubblica
ricevuta e invia il messaggio al destinatario Il destinatario utilizza la chiave privata per decifrare il
messaggio codificato
Solo chi ha la chiave privata può decifrare il messaggio
Crittografia a chiave asimmetrica
Uso della chiave asimmetrica per l’autenticazione in Rete: Cifratura della password con la chiave pubblica
dell’utente
Invio della password cifrata al server
Il server usa la chiave pubblica per decifrare e verificare la correttezza della password
Protocollo HTTPS
Firma digitale
Utilizzo della crittografia a chiave pubblica per la firma di documenti
Utilizzando la chiave privata viene creata una firma non duplicabile da associare al documento Firma: cifratura di parte del documento
con chiave privata
La corrispondente chiave pubblicapermette di decifrare la firma creata
18/12/2017
5
Firma digitale
La firma digitale viene equiparata nell’ordinamento giuridico italiano alla firma autografa
CaratteristicheAutenticità
Integrità
Non ripudiabilità
Autorità di certificazione
La generazione di chiavi asimmetriche: Software per la creazione delle chiavi
Per stabilire legame tra chiave e persona: terza parte fidata: autorità di certificazione
Attacchi informatici
Alcuni possibili attacchi informatici:Man in the middle: Utente che si frappone tra mittente e destinatario
Phishing Invio mail fasulle con richiesta di autenticazione/modifica
password
Dictionary attack: Attacco che sfrutta debolezza password
Identità e privacy
Analisi di dati
18/12/2017
6
Comportamento utenti
I dati sul comportamento degli utenti possono essere raccolti in molti contesti: Acquisti con tessera
Navigazione siti web
Uso App
Utilizzo social network
KDD
I dati sul comportamento degli utenti sono memorizzati in database
L’analisi dei database può permettere di scoprire informazioni rilevanti
Knoweledge Discovery in Databases (KDD)
Analisi dati
Per analizzare i dati raccolti sono necessarie tre fasi Preprocessing: selezione dati da analizzare e data
cleansing
Data mining: estrazione di informazione a partire dai dati
Validation: verifica della validità dell’informazione estratta → altri dati
Data mining
L’obiettivo del data mining è estrarre informazione dai dati analizzatiAnomalie: comportamenti distanti dalla media
Regole associative: comportamenti che si verificano in associazione (es. prodotti acquistati insieme)
18/12/2017
7
Data mining – un esempio
Voto medio studenti di informatica per la comunicazione: 25/30
Voto medio di informatica per la comunicazione negli appelli di luglio: 18/30
Supermercato: acquisti
Anomalie Regole associative
Prodotti
Uova, latte
Pane, uova, latte
Pane, acqua
Mele, pane
Uova, mele, latte
Pane, uova, latte
Latte, biscotti
Analisi dati
L’analisi di dati ha diverse applicazioniMarketing
Profilazione utenti
Sistemi di suggerimento
…
Violazione della privacy degli utenti