The interaction model
Download
Report
Transcript The interaction model
Informatica di base – 2a parte
A.A. 2002/2003
Sistemi operativi ed applicativi
Sommario degli argomenti
Sistemi operativi: DOS, Unix/Linux,Windows
Word processors: Word
Fogli elettronici: Excel
Sistemi per la gestione di basi di dati: Access
Reti: TCP/IP, Internet, ftp, telnet, posta
elettronica
WWW: http, Netscape, HTML, motori di ricerca
2
Sistemi Operativi
Insieme di programmi che gestiscono l’hardware
Hardware:
Processori
Memorie
Dispositivi di I/O
Detto software di base
Software applicativo: insieme dei programmi
scritti dall’utente
3
Bootstrap
Fase iniziale che carica il SO in memoria
principale (RAM)
Prima una parte, che poi ne carica un’altra,
..., fino a che tutto il SO e’ in memoria e in
esecuzione
4
Comandi al SO
Attivano l’esecuzione di un programma del
SO
Il program counter viene modificato per
contenere l’indirizzo d’inizio del programma
Alla fine si puo’ dare un nuovo comando
5
Shutdown
Memorizza su memoria di massa (non
volatile) tutte le informazioni
temporaneamente in RAM
Se non viene effettuata (es.: guasto)
queste informazioni vengono perse
6
SO di oggi
Possono gestire:
Piu’ utenti anche con un solo processore
Piu’ programmi per ogni utente
Senza che gli utenti se ne rendano conto
Macchina virtuale: tanti processori virtuali,
uno per ogni programma
7
Virtualizzazione
Molti programmi in esecuzione
simultanea presenza in memoria centrale
possibili conflitti memoria virtuale (come si
si avesse piu’ memoria di quella reale)
Anche dispositivi di I/O virtuali
gestione simultanea di piu’ richieste (es.,
stampe)
8
Indipendenza dall’hardware
SO sempre piu’ indipendenti dall’hardware
Riduce la porzione di codice da modificare per
poter usare un SO su un altro calcolatore
Programmi applicativi piu’ portabili
9
Vari SO
Negli anni ’80, molti SO
Poi, convergenza su pochi SO:
DOS (Microsoft)
Unix e Linux
Windows (Microsoft)
10
Modalita’ utente/supervisore
Nei primi SO, ogni programma poteva
attivare ogni altro programma
Per dare una struttura, solo
Modalita’ utente: permesso di attivare solo
alcune procedure
Modalita’ supervisore: tutto permesso
11
SO strutturati
In seguito, struttura in livelli
Ogni livello si appoggia a quello inferiore
Livello piu’ basso: nucleo (kernel)
Il nucleo gestisce le funzioni di base
12
Modello client/server
Macchine con caratteristiche diverse
collegate in rete
Su ogni macchina, vengono eseguiti i
programmi che piu’ si adattano alle sue
caratteristiche
Interfaccia utente e grafica su PC (cliente)
Gestione risorse condivise e programmi
pesanti su macchine piu’ potenti (server)
Un server e molti client
13
Vantaggi e svantaggi
Riduzione del carico sui sistemi centrali
Maggiori garanzie di sicurezza e integrita’
Maggiore modularita’ e uniformita’
Maggiore flessibilita’
Necessita’ di rete veloce
Maggior oneri di gestione dell’intero
sistema
14
Funzioni del SO
Da 100 Kilobyte a 100 megabyte
Programmi suddivisi in moduli
Ogni modulo ha una funzione diversa
Funzioni piu’ importanti:
gestione
gestione
gestione
gestione
processori
processi
memoria (principale e secondaria)
dispositivi di I/O
15
nucleo
Struttura di un SO
Servizi richiesti dagli utenti al SO
Interfaccia nucleo verso l’esterno
File system
Gestore I/O
Gestore
processi
Gestore
memoria
Gestore
processori
hardware
16
Gestione dei processi
Controlla la sincronizzazione, interruzione e
riattivazione dei programmi in esecuzione
Piu’ programmi si alternano nell’uso della CPU
Ogni programma puo’ essere:
Eseguito
Sospeso
Fatto ripartire
Struttura che mantiene lo stato di
avanzamento di ogni programma: processo.
17
Esempio: esecuzione di una ricetta
Ricetta = programma
Noi = processore
Ingredienti = dati in input
Attivita’ di leggere la ricetta, usare gli
ingredienti, mescolare, cuocere = processo
Telefonata durante l’esecuzione della ricetta =
interrupt
Il processo interrompre l’esecuzione, prende
nota del punto (riga della ricetta, ...) e gestisce
l’evento
Alla fine della telefonata, l’esecuzione riprende
e viene conclusa
18
Dolce = output
Vari processi in esecuzione
Bisogna gestire anche
Condivisione risorse fisiche (CPU, memoria)
Condivisione risorse logiche (dati)
Modularita’: piu’ processi per una singola
operazione
Maggiore velocita’ per parallelismo tra
processi
Anche piu’ processi per un programma
Es.: piu’ programmatori usano lo stesso
19
editore di testi
Ambiente monotasking
Viene gestita l’esecuzione di un solo
programma per volta
L’esecuzione non puo’ essere sospesa (per
assegnare la CPU ad un altro programma)
prima bisogna terminare l’esecuzione in corso
Alla terminazione di un programma, si puo’
attivare un altro programma
Piu’ programmi attivati con un solo comando:
job
20
Svantaggi del monotasking
Lentezza:
la CPU non puo’ essere usata da nessun
processo mentre il programma in
esecuzione svolge operazioni di I/O (molto
piu’ lente di letture/scritture in Memoria)
DOS e’ un SO monotasking: non si puo’
fare niente altro mentre si formatta un
floppy o si memorizzano dati su disco
21
Ambiente multitasking
SO che permettono l’esecuzione
contemporanea di piu’ programmi
Se una sola CPU esecuzione contemporanea
virtuale (una sola istruzione alla volta)
Minimizzano il tempo di inattivita’ ella CPU
durante le operazioni di I/O, che possono
anche occupare l’80% del tempo
22
Time sharing
Ripartizione del tempo di CPU tra tutti i
processi che la vogliono
Durata del quanto di tempo: tra 100 e 200
millisecondi granularita’ molto fine
A ciascun utente sembra di avere la CPU tutta
per lui, solo piu’ lenta
23
Coda dei processi pronti
I processi sono messi in una coda
Il processo in cima alla coda ha a disposizione
la CPU per un quanto di tempo, fissato e
uguale per tutti
Quando il tempo finisce, viene interrotto e
messo in fondo alla coda
Se richiede un’operazione di I/O, va nel
gruppo dei processi sospesi, quando
l’operazione finisce viene rimesso in coda per
la CPU
La CPU va al primo in coda
24
Stati dei processi
Durante la vita di un processo, vari stati:
In esecuzione: quando usa la CPU (solo un
processo alla volta)
Pronto: quando aspetta la CPU
Bloccato: in attesa di un evento (es.: fine
di op. di I/O)
Passaggio da uno stato ad un altro: context
switching
25
Transizioni tra stati
In esecuzione
richiesta di I/O
schedulazione
pronti
fine tempo,
evento esterno
bloccati
conclusione I/O
Coda ordinata in
attesa della CPU
Insieme in attesa
di eventi
26
Interrupt
Segnali hardware
Collegati al verificarsi di un evento
Provocano l’esecuzione immediata di un
programma del SO (vettore di
interrupt) che serve a gestire l’evento
Una CPU puo’ gestire piu’ interrupt
Interrupt anche per fine di quanto di
tempo (generato dal timer)
27
Tipi di interrupt
Rilevazione malfunzionamento hardware
Fine del quanto di tempo
Arrivo di dati in input
Rilevazione di segnali da sensori
Rilevazione di errori software
Ogni interruzione ha la sua priorita’, cosi’ il
processo che la gestisce puo’ interrompere
solo processi con priorita’ inferiore
28
Tabelle dei processi
Ogni processo ha una sua tabella che lo
descrive, che contiene:
Identificativo
Indirizzo prossima istruzione
Contenuto registri CPU
Stato corrente (pronto, bloccato,
esecuzione)
Collocazione programma e dati in memoria
Priorita’
Ammontare CPU time gia’ speso
…
29
Operazioni sui processi
La tabella e’ sempre in memoria centrale (per
accedervi velocemente)
Usando le informazioni contenute nella
tabella, si possono fare varie operazioni:
Creazione di nuovi processi
Cambio di priorita’
Blocco
Assegnamento della CPU
Terminazione
30
Gestione dei processori
Criteri in base ai quali i processori vengono
assegnati ai processi
Programma schedulatore:
Distribuisce il tempo di CPU tra i processi
Decide l’avvicendamento dei processi
36
Criteri per lo schedulatore
Massimo tasso di uso della CPU
Massimo numero di processi completati per
unita’ di tempo (throughput)
Minimo tempo tra la sottomissione di un
processo e il suo completamento
Minimo tempo passato in attesa nella coda dei
processi pronti
37
Gestione della coda dei pronti:FIFO
FIFO (first in, first out):
Secondo l’ordine di arrivo, senza
interruzione
Implementazione banale
Tempo di attesa non minimizzato
38
Gestione della coda dei pronti:
altri metodi
SJF (Shortest Job First): prima i processi
piu’ corti
Round-robin: con quanti di tempo associati a
FIFO
Scadenza: prima i processi con la scadenza
piu’ vicina
SRT (Shortest Remaining Time): prima i
processi a cui manca meno tempo per finire
39
Gestione della memoria principale
Criteri per allocare la memoria
principale tra piu’ entita’ che la
richiedono:
SO
Processi
Buffer di I/O
…
40
Vari tipi di memoria
Memoria principale:
Veloce da accedere
Volatile
Piccola
Programmi da eseguire devono risiedere
qui
Granularita’ fine (bit o byte)
Memoria di massa (o secondaria):
Molto piu’ grande e meno costosa
Non volatile
Lunghi tempi di accesso
Granularita’ non fine (blocchi di byte)
41
Gestione della memoria reale
Alloco una prima parte di M per il SO
SO
Poi una parte contigua successiva al
programma in esecuzione e ai suoi dati
programma
Limiti alla grandezza del programma
dati
Overlay:
carico il M solo la sezione del programma
che serve ora
Il programmatore deve suddividere il
programma in sezioni
42
Partizioni della memoria reale
Piu’ task partizioni della memoria
Partizioni fisse:un pezzo fisso di memoria per
ciascun processo
Partizioni variabili: minimo spazio per
l’esecuzione di un processo
Frammentazione:
Dopo vari caricamenti e scaricamenti,
nessuna porzione libera e’ grande
abbastanza per il prossimo programma
ricompattamento delle parti libere
(garbage collection)
43
Memoria virtuale
Tecnica per
Svincolare il codice di un programma dalla
sua collocazione in memoria
Funzionare come se si avesse piu’ memoria
di quella reale
Da indirizzi virtuali (usati dai programmi) a
indirizzi reali (per l’accesso alla RAM)
44
Indirizzi virtuali e reali -- esempio
Processore a 32 bit 232 indirizzi, da 0 a 232
(4 gigabyte)
RAM di solito con alcun centinaia di megabyte
Il programma puo’ usare tutti gli indirizzi,
anche se non ci sono cosi’ tante celle di
memoria
Gli indirizzi sono virtuali e vengono poi
tradotti in indirizzi fisici
Basta che non tutti gli indirizzi virtuali siano
usati assieme
45
Gestione della memoria secondaria
Fatta dal modulo del SO detto file
system, che si occupa di:
Associare un nome di file ad una parte
dello spazio di memoria
Fornire metodi per accedere ai file
Rendere trasparente la struttura fisica
della memoria
Ottimizzare l’occupazione di memoria
46
File
Unica unita’ logica di informazione usata dal
SO
Fisicamente:
sequenza di byte che contiene informazioni
omogenee
Es.: programma, testo, dati simili, …
Byte = 8 bit
Tutti i dati vengono suddivisi in file
I file vengono memorizzati nelle memorie di
massa
47
Modi di accesso a un file -- 1
Byte-stream:
File = sequenza di byte
Soprattutto per file di testo
Sequenziale:
File = sequenza di record di lunghezza
fissa o variabile
Record = sequenza di byte
Accesso sequenziale ai record
48
Modi di accesso a un file -- 2
Diretto:
File = sequenza di record di lunghezza
fissa
Accesso immediato ai record
A indice:
File = sequenza di record ordinati secondo
un indice
Record = valore dell’indice + informazione
Due file: uno per i record, e uno per indici
+ indirizzo fisico del record con qull’indice
49
Accesso veloce, ma piu’ spazio
Organizzazione dei file
Organizzazione gerarchica
Solo logicamente, nessuna relazione
con la posizione fisica sulle memorie
di massa
Directory: gruppo di file e altre
directory, piu’ elenco
50
Organizzazione ad albero
Albero rovesciato (come genealogico)
Nodi e collegamenti padre-figlio tra nodi
Nodo: file o directory
directory
file
Nodi divisi per livelli
Collegamenti tra nodi di livelli vicini: nodo
sopra = padre, nodo sotto = figlio
Ogni nodo ha un solo padre
Padre piu’ in alto = radice
I nodi file non hanno figli
Cammino assoluto o relativo (per file)
51
Operazioni su file
Creazione
Apertura
Chiusura
Cancellazione
Copia
Rinomina
Visualizzazione
Lettura
Scrittura
Modifica
…
52
Gestione dell’input/output
Gestione delle periferiche
Rende trasparenti le caratteristiche
fisiche delle periferiche
Gestisce la comunicazione di segnali
verso di loro
Coordina l’accesso di piu’ utenti
(processi)
Driver delle periferiche (uno per ogni
periferica)
53
Spooling
Processo che svincola la stampa di un file dal
resto dell’elaborazione: il sistema continua la
sua attivita’ mentre la stampa e’ in corso
Stampante piu’ lenta della CPU un file non
puo’ essere trasferito troppo velocemente
dalla CPU alla stampante
Invece di inviare il file:
Il file viene messo su disco
Il SO crea il processo di spooling che fa
procedere la stampa
Il processo che ha richiesto la stampa e’
svincolato da essa
Lo spooling puo’ andare in esecuzione anche su
un elaboratore remoto collegato in rete (print
54
server) lo eseguira’ un’altra CPU
MS - DOS
Sviluppato dalla Microsoft nel 1981 per
il PC IBM
Adottato da altri con PC IBMcompatibili
Molto limitato: mono-utente, monotasking
Circa 50 comandi per il SO
55
Comandi piu’ usati in MS - DOS
DIR per vedere il contenuto di una directory
COPY per copiare file
DEL per cancellare un file
REN per cambiare il nome a un file
CD per muoversi in un altra directory
MD per creare nuove directory
RD per cancellare directory
Nome file: per eseguire il file (se eseguibile)
56
File in MS - DOS
Per individuare un file: cammino assoluto
Un file system per ogni disco anche nome
del disco
Esempio: C:\Dir1\Dir2\Dir3\file.txt
Estensioni per file:
.exe per programma eseguibile
.sys per driver di sistema
.txt per file di testo
.c per programma in C
.doc per documento Word
57
Unix
SO multi-utente, multi-tasking, con timesharing
Concepito per poter funzionare su diverse
piattaforme hardware
Interprete dei comandi: shell
Piu’ di 300 comandi, con opzioni
Comando man per aiuto
Forma di un comando:
nome-comando [[-opzioni] argomenti]
58
Comandi Unix
Ls per vedere il contenuto di una directory
Cp per copiare file
Rm per cancellare file
Mv per spostare file
Cd per spostarsi in un’altra directory
Mkdir per creare una nuova directory
Ps per vedere tutti i processi attivi
Lp per stampare file
Who per vedere tutti gli utenti collegati
59
File in Unix
Unico albero anche se ci sono piu’ dischi
non serve indicare il disco per denotare un
file
Radice: simbolo /
Esempio: /dir1/dir2/dir3/file.txt
60
Windows
Nato nel 1987, ispirato al Macintosh
All’inizio era un’interfaccia grafica per DOS
Windows ’95: SO mono-utente, multi-tasking,
time-sharing
DOS emulato in speciali finestre (per seguire
vecchi applicativi per DOS)
Pensato per una stazione di lavoro (il PC) che
puo’ essere un client in una rete
61
Filosofia Windows -- 1
Interfaccia grafica
Mouse che sposta un cursore
Cut & paste (copia e incolla)
Drag & drop (trascina e lascia)
Icone associate a file, directory, dischi, …
Directory come cartelle
Pulsanti
Finestre: cornici con strumenti
Menu di comandi
62
Filosofia Windows -- 2
L’utente non deve ricordarsi i nomi dei
comandi, basta che selezioni col mouse:
un oggetto e
il comando da applicare all’oggetto
File system (cioe’ l’albero): visualizzato come
cartelle che contengono icone di file o di altre
cartelle
Cliccando su una cartella, si apre quella
directory
Icona del file: diversa a seconda del tipo di
file
63
Word processor (editori di testi)
Si sono diffusi assieme ai PC negli anni ’70
All’inizio, aspetto non importante: stampanti
con pochi opzioni di caratteri
Con l’avvento degli schermi grafici, ora su
tutti i PC, tantissimi tipi e grandezze di
caratteri
Documento appare come sara’ stampato:
WYSIWYG (what you see is what you get)
Testo e grafici nello stesso documento
64
Word -- 1
Il piu’ usato tra i word processor wysiwyg
Microsoft
Finestra in cui viene visualizzato il documento
Cursore (barra verticale) indica il punto in cui
si sta scrivendo
Mouse per spostare il cursore
Barra degli strumenti (parte alta della
finestra) offre delle operazioni su porzioni di
testo
Menu che contengono operazioni correlate
65
Word -- 2
Per selezionare una porzione di testo:
Mouse all’inizio
Spostarsi alla fine tenendo preemuto il tasto
sinistro
Per copiare una porzione di testo:
Selezionarla
Copia dal menu Modifica
Spostarsi nella nuova locazione
Incolla dal menu Modifica
Per spostare: taglia invece che copia
66
Word -- 3
Operazioni sui singoli caratteri:
Cambio del tipo di carattere (font)
Cambio della dimensione
Cambio dell’aspetto (corsivo, grassetto,
sottolineato, …)
Cancellazione
Anche sui paragrafi:
Allineamento margine destro o sinistro, centratura
Spaziatura tra linee
Numero di colonne
67
Word -- 4
La barra degli strumenti contiene
pulsanti (bottoni) per:
Creare un nuovo documento
Stampa e controllo ortografico
Annullamento ultima operazione
Inserimento grafici e tabelle
Visione caratteri nascosti di formattazione
Definizione stile di paragrafi e caratteri
68
Word -- 5
Per trovare una parola o frase:
Voce trova nel menu Modifica
Anche per sostituirla con un’altra
Per dare un aspetto uniforme: stili
Serie di operazioni di formattazione con un nome
Ogni paragrafo ha un suo stile
Stili predefiniti: normal, titolo1, titolo2, …
Per cambiare la def. di uno stile: selezionare il
paragrafo, il nome dello stile, e la voce ridefinire lo
stile
Per cambiare lo stile di un paragrafo: selezionare il
paragrafo e il nome del nuovo stile
Per creare un nuovo stile: formattare manualmente
un paragrafo, e poi dare un nome nella casella stile
69
Intestazione e pie’ di pagina
Specificate una volta per tutte, e vengono
messe su ogni pagina
Pie’ di pagina: numero pagina, data, …
Selezionare la voce ‘intestazione e pie’ di
pagina’ dal menu visualizza
Nota a pie’ di pagina (footnote):
Commento relativo ad un punto del documento
Scritto in fondo alla pagina
Collegato con un numero
Cursore accanto alla parola da commentare, e voce
pie’ di pagina dal menu Inserisci
70
Fogli elettronici (spreadsheet)
Dati in forma tabellare (righe e colonne)
Grafici basati su questi dati
Visualizza una tabella organizzata in righe (1,
2, 3, …) e colonne (A, B, C, …) ogni casella
ha coordinate del tipo A3
Una casella puo’ contenere: numeri, testo,
espressioni matematiche o logiche
Cosa viene visualizzato in una cella? Numero o
risultato dell’espressione
71
Collegamenti tra celle
Tramite le espressioni
Esempio:
La cella A1 contiene 5
La cella A2 contiene A1+1 nella cella A2
viene visualizzato 6
La modifica di A1 causa l’aggiornamento
automatico di A2
72
Espressioni
Somma, differenza, media,…, costanti
numeriche, coordinate di altre celle
Range: lista di celle adiacenti
Esempio:
A2:A5
Media(A2:A5) o somma(A2:A5)
73
Excel
Foglio elettronico di Microsoft per
Windows
Tabella = foglio di lavoro
74
Sistemi per la gestione di basi di
dati
Base di dati = insieme di dati elementari
omogenei, che formano un archivio
Esempio: descrizione dei libri in una
biblioteca, o del personale di un’azienda
Deve essere semplice e veloce:
l’inserzione di dati, il reperimento,
l’aggiornamento
75
Transazioni
Ogni operazione su una base di dati
deve essere:
Atomica: o tutto o niente
Consistente: la nuova base di dati deve
essere corretta
Isolata: e’ visibile solo quando e’ finita
Cioe’ una transazione
76
Piu’ utenti in una base di dati
Coordinare le transazioni ordinate dai
vari utenti, in modo che non entrino in
conflitto
Esempio: sistema di prenotazione degli
aerei
Metodo piu’ usato: blocco (lock) dei dati
comuni
77
Dal punto di vista fisico
Base di dati = insieme di record
Ogni record ha vari campi
Es.: scheda per un libro
Titolo, autore, anno, …
I record sono memorizzati in file (ad
accesso con indice)
78
Dal punto di vista logico
Tre modelli per una base di dati:
Gerarchico: albero dove ogni record e’ il
padre di un altro
Reticolare: albero piu’ altri collegamenti
tra record
Relazionale: tabelle (insiemi di record)
piu’ relazioni tra tabelle
79
Basi di dati relazionali
Tabelle (insiemi di record) piu’ relazioni
tra tabelle
Es.: tabella per corsi, tabella per
studenti
Sistemi piu’ usati: Access per Windows,
Oracle
80
Query
Query = domande la cui risposta e’ un insieme
di record con certe caratteristiche
Es.: voglio l’insieme dei libri scritti nel 1999
da Camilleri
Linguaggio piu’ usato: SQL
Es.: SELECT titolo, autore FROM libri
WHERE libri.autore = Camilleri and Libri.anno
= 1999
81
Reti di calcolatori
Rete = sistema di collegamento tra vari
calcolatori che consente lo scambio di dati e
la cooperazione
Ogni calcolatore e’ un nodo, con un suo
indirizzo di rete
Storia:
Prime reti, anni ’70: un calcolatore potente e tanti
terminali
Anni ’80: reti locali (un edificio). Es.: Ethernet
Anni ’90: reti metropolitane (una citta’) e
geografiche. Es (rete geo): Internet
82
Servizi di rete
Quando programmi su elaboratori
collegati in rete si scambiano comandi e
dati
Esempi:
Posta elettronica
Telnet
FTP
83
Posta elettronica
Consente lo scambio di corrispondenza tra
utenti di sistemi collegati in rete
Il ricevente viene individuato dal suo
indirizzo:
nome utente + indirizzo di rete della macchina su
cui lavora
Es.: [email protected]
Vantaggi:
Ricevere messaggi anche se assenti
Spedire messaggi a piu’ utenti
Scrittura messaggio: sul client
Invio e ricezione: mail server (uno per una
rete)
84
Telnet
Consente la connessione ad un server remoto
Viene creato un ’’terminale virtuale’’ per
lavorare su un elaboratore remoto
Permette di accedere al proprio elaboratore,
se collegato in rete, da qualunque altro punto
della rete
Basta specificare l’indirizzo del server
Es.: telnet galileo.math.unipd.it
Bisogna essere utenti autorizzati su quel
server (nome utente e password)
85
FTP (File Transfer Protocol)
Trasferire file da un elaboratore ad un altro
(copia di un file tra due elaboratori in rete)
Utenti riconosciuti sul server dove si vuole
copiare
Comandi in ambiente FTP:
Open per attivare la connessione con un server
remoto (es.: open galileo.math.unipd.it)
Ls, cd per posizionarsi su un certo directory
Get, put per mettere o prendere un file
Close, bye per chiudere la sessione
86
Protocolli di rete -- 1
Come collegare in rete elaboratori
diversi?
Anni ’70:
Elaboratori tutti uguali
Stesso sistema operativo
Un solo mezzo trasmissivo
87
Protocolli di rete -- 2
In seguito, elaboratori diversi ma
stesso software di base
Ma se si collegano sistemi diversi?
Necessita’ di uno standard che regoli la
realizzazione del software di comunicazione
88
Protocolli di rete -- 3
Nel 1978 l’ISO (International Standard
Organization) propose il modello ISO/OSI
(Open System Interconnection) per
specificare il modo in cui elaboratori diversi
comunicano tramite la rete
Architettura di rete strutturata in sette
livelli
89
Protocollo ISO/OSI -- 1
Livello 7 – applicazione:
Fornisce i servizi che eseguono le
applicazioni utente
Definisce le specifiche dei programmi che
permettono di usare la rete (trasferimento
file, condivisione risorse, …)
Livello 6 – presentazione:
traduce i dati trasmessi sulla rete nel
formato adatto al sistema di destinazione
90
Protocollo ISO/OSI -- 2
Livello 5 – sessione:
Gestisce il dialogo tra due programmi
applicativi sulla rete, e il loro scambio di
dati
Esempio: gestisce la ripresa di un
trasferimento di file dopo un’interruzione
per malfunzionamento su una linea
Livello 4 – trasporto:
Controlla il trasferimento dei dati verso il
nodo destinazione
Decomposizione in pacchetti
Controllo e correzione degli errori
Ricomposizione di pacchetti nel corretto
ordine
91
Protocollo ISO/OSI -- 3
Livello 3 – rete:
Sceglie il percorso di rete piu’ adatto per
giungere al nodo destinazione
Trova percorsi alternativi in caso di guasti
Livello 2 – data link:
Gestisce la trasmissione affidabile dei dati
tra due nodi adiacenti
Aggiunge codici per il controllo degli errori
Definisce le procedure di accesso ai mezzi
trasmissivi condivisi
Livello 1 – livello fisico:
Definisce gli aspetti elettrici e meccanici
del collegamento tra due nodi
Caratteristiche cavi e connettori
Codifica dei bit per la trasmissione
92
Protocollo ISO/OSI -- 4
La trasmissione dei dati avviene solo al livello
piu’ basso (livello 1)
Ogni livello N comunica, tramite i livelli
sottostanti, con il livello N dell’altro nodo
Ogni livello aggiunge, ai dati che vengono dal
livello superiore, delle informazioni di
controllo, e passa il risultato (dati + info di
controllo) al livello sotto
I dati prodotto dal livello 1 vengono trasmessi
93
Protocollo ISO/OSI -- 5
Dati da trasferire
94
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
95
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
96
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
97
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
98
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
99
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
100
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
101
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
Al nodo destinazione102
ProtocolloTCP/IP
ISO/OSI e’ soprattutto un modello teorico di
riferimento
TCP/IP e’ il modello standard di fatto,
adottato da Internet
TCP/IP non comprende i livelli 1 e 2 (li prende
da ISO/OSI)
Livelli 5,6,7 collassati in un unico livello
TCP = livello 4
IP = livello 3
103
Mezzi trasmissivi -- elettrici
Sfruttano le proprieta’ dei metalli di
condurre energia elettrica
Ai bit si associano dei particolari valori
di tensione o corrente
104
Mezzi trasmissivi – onde radio
Onda elettromagnetica: combinazione di
campo magnetico e elettrico variabili
Si propaga nello spazio e riproduce a
distanza una corrente elettrica in un
dispositivo ricevente (un’antenna)
105
Mezzi trasmissivi – mezzi ottici
Mezzi che usano la luce o i raggi laser
I raggi di luce possono essere trasmessi sia
attraverso l’aria che attraverso fibre di vetro
(fibre ottiche)
Fibre ottiche = filamenti di silicio (vetro)
molto sottili (decine di micron)
Duttile e flessibile
Purezza del silicio (altrimento il raggio di luce
verrebbe attenuato dopo poco)
Immune a disturbi elettromagnetici, elevata
banda, piccolo, costo maggiore
106
Il modem
Frequenze tra 300 e 3400 Mhz quando si
parla al telefono
Frequenze molto diverse per segnali che
codificano dati digitali I canali telefonici
non sono adatti a trasportare i bit cosi’ come
sono codificati
Pero’, cavi telefonici molto diffusi tecniche
di modulazione (modem), che modificano un
segnale elettrico sinusoidale (che puo’ passare
sul filo del telefono) in modo che possa
codificare gli zeri e uni
107
Modulazione
Modulazione di frequenza: frequenze
diverse codificano zero e uno,
l’ampiezza rimane la stessa
Modulazione di ampiezza: ampiezze
diverse codificano zero e uno, la
frequenza rimane la stessa
Modulazione di fase: viene modificata la
fase
108
Topologie di collegamento -- 1
Punto a punto: collega direttamente due
nodi della rete
109
Topologie di collegamento -- 1
Punto a punto: collega direttamente due
nodi della rete
Bus: unico canale trasmissivo per vari
nodi (era usata per reti locali, ma poco
tollerante ai guasti)
110
Topologie di collegamento -- 1
Punto a punto: collega direttamente due
nodi della rete
Bus: unico canale trasmissivo per vari
nodi (era usata per reti locali, ma poco
tollerante ai guasti)
Stella: un singolo elaboratore collegato
punto a punto con tutti gli altri (molto
usata per reti locali)
111
Topologie di collegamento -- 2
Anello: collegamenti punto a punto che
formano un anello (molto usata per reti
locali e metropolitane)
112
Topologie di collegamento -- 2
Anello: collegamenti punto a punto che
formano un anello (molto usata per reti
locali e metropolitane)
Maglia: collegamenti punto a punto
Maglia incompleta (ma tutti i nodi sono
raggiungibili)
113
Topologie di collegamento -- 2
Anello: collegamenti punto a punto che
formano un anello (molto usata per reti
locali e metropolitane)
Maglia: collegamenti punto a punto
Maglia incompleta (ma tutti i nodi sono
raggiungibili)
Maglia completa
114
Internet – storia 1
Nata negli anni ’60 col nome di Arpanet
Obbiettivo: collegare in un unica rete
tutti i calcolatori di vari siti militari
Motivi:
condividere le ricerche
comunicare anche in caso di attacco
nucleare (tanti cammini alternativi tra due
calcolatori)
All’inizio: 4 calcolatori negli USA
115
Internet – storia 2
Nel 1973: connessioni all’Inghilterra e
alla Norvegia
Anni ’80: anche altre grandi reti
accademiche e scientifiche
1982: TCP/IP come protocollo standard
Ora: Internet collega decine di migliaia
di reti in tutto il mondo
116
Indirizzi su Internet
Sistema di indirizzamento dei nodi
gerarchico, con struttura ad albero
IP address univoco per ogni nodo
Nodo nome indirizzo
numerico (da un organismo
internazionale: Domain Name System)
Gerarchia di nomi, che sono raggruppati
in domini
117
Domini
Dominio: struttura per cui esiste un unico
ente che decide i nomi
Gerarchia: sotto ogni dominio ci sono altri
sottodomini
Es.: www.unipd.it
Dominio di primo livello it (Italia)
Dominio di secondo livello unipd (Univ. Padova)
Altri domini di primo livello: de (germania), uk
(Regno Unito), com (siti commerciali), edu
(universita’ USA), gov (enti governativi), …
Le persone in Internet sono individuate da un
nome utente che e’ unico nel loro dominio. Es.:
frossi e’ unico nel dominio www.math.unipd.it118
WWW (World Wide Web)
Nato al CERN di Ginevra
Sistema client/server che organizza le
informazioni memorizzate sulla rete e rende
semplice l’accesso
Ipertesto distribuito
Ipertesto: documento testuale in formato
elettronico dove la lettura non e’ sequenziale
come nei normali libri, ma va da pagina a
pagina collegata
Collegamenti attraverso le hot word (parole
sottolineate), su cui si puo’ cliccare per
visualizzare un’altra pagina
Collegamenti a pagine sullo stesso server o
anche su un altro server
119
Architettura del WWW
Una parte client e una server
Programma client: browser, per visualizzare le
pagine (testo, grafica, …) provenienti dal
server con cui si comunica
Selezionando una hot word, il browser chiede
al server una nuova pagina
Il server la invia in formato HTML
(Hypertext Markup Language): file di
caratteri ASCII piu’ comandi per
l’impaginazione e I collegamenti
Browser piu’ usati: Netscape e Explorer
120
URL
Ogni risorsa su Internet (pagina, file,
immagine, …) e’ identificata dal suo URL
(Uniform Resource Locator)
Formato degli URL:
protocollo://host.dominio/cammino/nome
Protocollo: tipo della risorsa e protocollo da
usare. Es.: file, ftp, http, telnet
Host.dominio: inirizzo del server dove trovare
la risorsa. Es.: www.math.unipd.it
cammino/nome individua il file nel file system
del server.
Es.:
http://www.math.unipd.it/~frossi/frossi.html
121
Netscape
Uno dei browser piu’ usati (assieme ad
Explorer)
Attivando Netscape, viene aperta una
finestra dove vengono visualizzate le pagine
ipertestuali di WWW
Barra degli strumenti per controllare la
navigazione in Internet
Spostarsi avanti e indietro fra le pagine
gia’ caricate
Aprire una nuova pagina
Salvare una pagina sul proprio file system
Creare una lista di URL preferiti, per
122
riaccedervi velocemente
HTML
Linguaggio per descrivere una pagina di
ipertesto
Specifica come dovra’ apparire quando sara’
visualizzata, quali collegamenti contiene e
dove portano
Comando in HTML: riguarda una porzione di
testo, tag all’inizio e alla fine
Es.: <b> testo </b> per il grassetto
123
Struttura di un documento HTML
<HTML>
<HEAD>
<TITLE>
Titolo della pagina (viene usato dai motori di
ricerca)
</TITLE>
</HEAD>
<BODY>
Quello che sara’ visualizzato dal brower
</BODY>
</HTML>
124
Comandi di HTML
Per definire un paragrafo (P)
Per far apparire un testo in grassetto (B) o
corsivo (EM)
Per centrare un pezzo di testo (CENTER)
Per realizzare una lista: <UL> <LI> primo
elemento <LI> secondo elemento </UL>
Per definire il colore dello sfondo: <BODY
COLOR = “\#xxyyzz”> (codice RGB)
Per inserire un collegamento: <A
HREF=http://www.math.unipd.it/~frossi/file.
html>hotword</a>
125
Motori di ricerca -- 1
Per poter accedere ad un sito Internet,
dobbiamo sapere il suo URL
Troppi siti, e nuovi siti ogni giorno non ci
sono indici di tutti i siti
I motori di ricerca permettono di specificare
alcune parole chiave, e trovano i siti piu’
rilevanti per queste parole
Alcuni motori di ricerca:
www.google.com
www.yahoo.com
www.lycos.com
www.virgilio.it
www.arianna.it
126
Motori di ricerca -- 2
Per usare un motore di ricerca:
Andare al suo sito con un browser
Specificare le parole chiave in una
mascherina
In pochi secondi si hanno le pagine rilevanti
Le pagine non vengono cercate in quel
momento:
I motori di ricerca navigano continuamente
su Internet, e a mano a mano che trovano
nuove pagine le associano a certe parole
chiave (es. quelle nel titolo)
Quando arriva una parola chiave, hanno gia’
le pagine relative a questa parola
risposta in breve tempo
127
Cose da sapere – sistemi operativi
A cosa serve il sistema operativo?
Che differenza c’e’ tra il software di base e il
software applicativo?
A cosa servono le fasi di bootstrap e
shutdown?
Cos’e’ il modello client-server in un sistema
distribuito?
Quali sono i moduli principali di un sistema
operativo?
128
Cose da sapere -- processi
Cos’e’ un processo? Che differenza c’e’ tra un
processo e un programma?
Cosa si intende per ambiente mono-utente?
Cosa si intende per ambiente mono-tasking?
Qual’e’ il principale svantaggio di un ambiente
mono-tasking?
Cosa si intende per ambiente multi-tasking?
Cosa si intende per time-sharing?
A che serve la coda dei processi pronti?
129
Cose da sapere -- processi
In quali stati puo’ essere un processo durante
la sua vita?
Quando passa da uno stato ad un altro?
Cosa sono le interruzioni? A che servono?
Come vengono gestite le interruzioni?
Quali sono i meccanismi piu’ usati per la
sincronizzazione e comunicazione di processi
concorrenti?
130
Cose da sapere – processori e
memoria
A cosa servono gli algoritmi di schedulazione?
Quali sono i modi piu’ usati poer gestire la
coda dei processi pronti?
Quali sono i criteri piu’ importanti per
valutare un algoritmo di schedulazione?
Cosa si intende per memoria reale e memoria
virtuale?
A cosa serve la gestione della memoria
secondaria?
131
Cose da sapere – file system
Cos’e’ un file?
Cos’e’ una directory?
Quali sono I modi principali di organizzare un
file?
Descrivi l’organizzazione gerarchica dei file
sulla memoria secondaria.
Quali sono le differenze fondamentali tra I
sistemi operativi DOS, Unix e Windows?
132
Cose da sapere – editori di testi e
fogli elettronici
Cos’e’ un elaboratore di testi?
Cosa si intende per elaboratore di testi
wysiwyg?
Cos’e’ un foglio elettronico?
Come vengono collegate varie celle tra loro in
un foglio elettronico, e a cosa serve questo
collegamento?
133
Cose da sapere – basi di dati
Cos’e’ una base di dati?
Quali sono le operazioni principali su una base
di dati?
Che caratteristiche devono avere queste
operazioni?
Descrivi una base di dati a livello fisico
Come puo’ essere vista una base di dati a
livello logico?
Come si interagisce con una base di dati
relazionale?
Cos’e’ una tabella? E una query?
134
Cose da sapere -- reti
Cos’e’ una rete di calcolatori?
Che differenza c’e’ tra reti locali, reti
metropolitane, e reti geografiche?
Cosa si intende per servizi di rete?
Fai degli esempi di servizi di rete
A cosa servono i servizi telnet e FTP?
Come si fa a collegare in rete calcolatori
diversi e con SO differenti?
Cos’e’ il protocollo ISO/OSI?
135
Cose da sapere – reti e Internet
Che tipi di mezzi trasmissivi vengono usati
nelle reti?
A che serve un modem? Come funziona?
Quali sono le principali topologie di
collegamento per le reti?
Cos’e’ Internet?
Come vengono individuati i nodi di Internet?
Cos’e’ un dominio?
136
Cose da sapere – WWW
Cos’e’ il WWW?
Cos’e’ un ipertesto?
Come sono collegate le pagine di WWW?
Cos’e’ un browser? A che serve?
Descrivi il sistema client-server di WWW
Cos’’e un URL? Come e’ fatto? A che serve?
In che formato sono scritte le pagine del
WWW?
A che servono i motori di ricerca?
137