informatica per scienze biologiche -- parte 2 -- a.a. 2000/2001
DESCRIPTION
Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001. Docente: Prof. Francesca Rossi E-mail: [email protected] Tel: 049-8275982 10 ore di lezione 10,15,16,17, 22 Maggio 10:30-12:15, aula E 4 ore di laboratorio 4 gruppi: 28, 29, 30, 31 Maggio 14:30-18:30. - PowerPoint PPT PresentationTRANSCRIPT
1
Informatica per scienze biologiche -- parte 2 --
A.A. 2000/2001
Docente: Prof. Francesca RossiE-mail: [email protected]: 049-827598210 ore di lezione
10,15,16,17, 22 Maggio10:30-12:15, aula E
4 ore di laboratorio4 gruppi: 28, 29, 30, 31 Maggio14:30-18:30
2
Sommario degli argomenti
Sistemi operativi: DOS, Unix/Linux,WindowsWord processors: WordFogli elettronici: ExcelSistemi per la gestione di basi di dati: AccessReti: TCP/IP, Internet, ftp, telnet, posta elettronicaWWW: http, Netscape, HTML, motori di ricerca
3
Sistemi Operativi
Insieme di programmi che gestiscono l’hardwareHardware:
ProcessoriMemorieDispositivi di I/O
Detto software di baseSoftware applicativo: insieme dei programmi scritti dall’utente
4
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
5
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
6
Shutdown
Memorizza su memoria di massa (non volatile) tutte le informazioni temporaneamente in RAM
Se non viene effettuata (es.: guasto)
queste informazioni vengono perse
7
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
8
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 virtualigestione simultanea di piu’ richieste (es., stampe)
9
Indipendenza dall’hardware
SO sempre piu’ indipendenti
dall’hardware
Riduce la prozione di codice da modificare
per poter usare un SO su un altro
calcolatore
Programmi applicativi piu’ portabili
10
Vari SO
Negli anni ’80, molti SOPoi, convergenza su pochi SO:
DOS (Microsoft)Unix e Linux Windows (Microsoft)
11
Modalita’ utente/supervisore
Nei primi SO, ogni programma poteva attivare ogni altro programmaPer dare una struttura, solo
Modalita’ utente: permesso di attivare solo alcune procedureModalita’ supervisore: tutto permesso
12
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
13
Modello client/server
Macchine con caratteristiche diverse collegate in reteSu 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
14
Vantaggi e svantaggi
Riduzione del carico sui sistemi centraliMaggiori garanzie di sicurezza e integrita’Maggiore modularita’ e uniformita’Maggiore flessibilita’ Necessita’ di rete veloceMaggior oneri di gestione dell’intero sistema
15
Funzioni del SO
Da 100 Kilobyte a 100 megabyteProgrammi suddivisi in moduliOgni modulo ha una funzione diversaFunzioni piu’ importanti:
gestione processorigestione processigestione memoria (principale e secondaria)gestione dispositivi di I/O
16
Struttura di un SO
Interfaccia nucleo verso l’esterno
hardware
File system Gestore I/OGestore processi
Gestore memoria
Gestore processori
Servizi richiesti dagli utenti al SO
nucl
eo
17
Gestione dei processi
Controlla la sincronizzazione, interruzione e riattivazione dei programmi in esecuzionePiu’ programmi si alternano nell’uso della CPUOgni programma puo’ essere:
EseguitoSospesoFatto ripartire
Struttura che mantiene lo stato di avanzamento di ogni programma: processo.
18
Esempio: esecuzione di una ricetta
Ricetta = programmaNoi = processoreIngredienti = dati in inputAttivita’ di leggere la ricetta, usare gli ingredienti, mescolare, cuocere = processoTelefonata durante l’esecuzione della ricetta = interruptIl processo interrompre l’esecuzione, prende nota del punto (riga della ricetta, ...) e gestisce l’eventoAlla fine della telefonata, l’esecuzione riprende e viene conclusaDolce = output
19
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
processiAnche piu’ processi per un programma
Es.: piu’ programmatori usano lo stesso editore di testi
20
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
21
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
22
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
23
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
24
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
25
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
26
Transizioni tra stati
In esecuzione
pronti
Coda ordinata in attesa della CPU
bloccati
Insieme in attesa di eventi
schedulazione richiesta di I/O
conclusione I/O
fine tempo,evento esterno
27
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’ interruptInterrupt anche per fine di quanto di
tempo (generato dal timer)
28
Tipi di interrupt
Rilevazione malfunzionamento hardwareFine del quanto di tempoArrivo di dati in inputRilevazione di segnali da sensoriRilevazione di errori software
Ogni interruzione ha la sua priorita’, cosi’ il processo che la gestisce puo’ interrompere solo processi con priorita’ inferiore
29
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 …
30
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
31
Processi concorrenti
Necessita’ di sincronizzazione e comunicazione
Threads: cammini di esecuzione della CPU su un programma
Piu’ thread possono condividere codice, dati, memoria, file, …
Task: insieme di thread e delle cose condivise tra loro
Processo tradizionale: un solo task con un solo thread
32
Processi indipendenti o concorrenti
Processi indipendenti: L’esecuzione di un processo non e’
influenzata da quella degli altri processi Dipende solo dall’input (deterministica)
Processi cooperanti o concorrenti: Lo stato puo’ essere influenzato da altri
processi, e dati condivisi Esecuzione non deterministica (dipende
dalle velocita’ relative dei processi)
33
Pipe
Permette il passaggio dei dati tra due processi
I dati sono messi da una parte di un ‘’tubo’’ (pipe) da un processo ed estratti dall’altro lato, nello stesso ordine, da un altro processo
Molto usato nel SO Unix
34
Coda di messaggi
Esplicite funzioni per scambio messaggi: (send e receive)
Scambio di messaggi tra piu’ processi
Messaggi gestiti secondo il loro arrivo in coda
35
Condivisione di memoria
Forma di comunicazione piu’ veloce
Pero’ anche piu’ difficile da implementare:
bisogna evitare che piu’ processi
modifichino contemporaneamente gli stessi
dati
Meccanismi piu’ usati: semafori, monitor,
rendez-vous
36
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
37
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
38
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
39
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
40
Gestione della memoria principale
Criteri per allocare la memoria principale tra piu’ entita’ che la richiedono: SO
Processi
Buffer di I/O
…
41
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)
42
Gestione della memoria reale
Alloco una prima parte di M per il SOPoi una parte contigua successiva al
programma in esecuzione e ai suoi dati Limiti alla grandezza del programmaOverlay:
carico il M solo la sezione del programma che serve ora
Il programmatore deve suddividere il programma in sezioni
SO
programma
dati
43
Partizioni della memoria reale
Piu’ task partizioni della memoriaPartizioni fisse:un pezzo fisso di memoria per
ciascun processoPartizioni variabili: minimo spazio per
l’esecuzione di un processoFrammentazione:
Dopo vari caricamenti e scaricamenti, nessuna porzione libera e’ grande abbastanza per il prossimo programma
ricompattamento delle parti libere (garbage collection)
44
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)
45
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 fisici siano usati assieme
46
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
47
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
48
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
49
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 Accesso veloce, ma piu’ spazio
50
Organizzazione dei file
Organizzazione gerarchicaSolo logicamente, nessuna
relazione con la posizione fisica sulle memorie di massa
Directory: gruppo di file e altre directory, piu’ elenco
51
Organizzazione ad albero
Albero rovesciato (come genealogico)Nodi e collegamenti padre-figlio tra nodi Nodo: file o directoryNodi divisi per livelliCollegamenti tra nodi di livelli vicini: nodo
sopra = padre, nodo sotto = figlioOgni nodo ha un solo padrePadre piu’ in alto = radiceI nodi file non hanno figliCammino assoluto o relativo (per file)
directory
file
52
Operazioni su file
CreazioneAperturaChiusuraCancellazioneCopia RinominaVisualizzazioneLetturaScritturaModifica…
53
Gestione dell’input/output
Gestione delle perifericheRende trasparenti le caratteristiche
fisiche delle perifericheGestisce la comunicazione di segnali
verso di loroCoordina l’accesso di piu’ utenti
(processi)Driver delle periferiche (uno per ogni
periferica)
54
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 essaLo spooling puo’ andare in esecuzione anche su un
elaboratore remoto collegato in rete (print server) lo eseguira’ un’altra CPU
55
MS - DOS
Sviluppato dalla Microsoft nel 1981 per il PC IBM
Adottato da altri con PC IBM-compatibili
Molto limitato: mono-utente, mono-tasking
Circa 50 comandi per il SO
56
Comandi piu’ usati in MS - DOS
DIR per vedere il contenuto di una directoryCOPY per copiare fileDEL per cancellare un fileREN per cambiare il nome a un fileCD per muoversi in un altra directoryMD per creare nuove directoryRD per cancellare directoryNome file: per eseguire il file (se eseguibile)
57
File in MS - DOS
Per individuare un file: cammino assoluto Un file system per ogni disco anche
nome del discoEsempio: C:\Dir1\Dir2\Dir3\file.txtEstensioni 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
58
Unix
SO multi-utente, multi-tasking, con time-sharing
Concepito per poter funzionare su diverse piattaforme hardware
Interprete dei comandi: shellPiu’ di 300 comandi, con opzioniComando man per aiutoForma di un comando: nome-comando [[-opzioni] argomenti]
59
Comandi Unix
Ls per vedere il contenuto di una directoryCp per copiare fileRm per cancellare fileMv per spostare fileCd per spostarsi in un’altra directoryMkdir per creare una nuova directoryPs per vedere tutti i processi attiviLp per stampare fileWho per vedere tutti gli utenti collegati
60
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
61
Windows
Nato nel 1987, ispirato al MacintoshAll’inizio era un’interfaccia grafica per DOSWindows ’95: SO mono-utente, multi-
tasking, time-sharingDOS 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
62
Filosofia Windows -- 1
Interfaccia graficaMouse che sposta un cursoreCut & paste (copia e incolla)Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, …Directory come cartellePulsantiFinestre: cornici con strumenti Menu di comandi
63
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
64
Word processor (editori di testi)
Si sono diffusi assieme ai PC negli anni ’70All’inizio, aspetto non importante:
stampanti con pochi opzioni di caratteriCon 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
65
Word -- 1
Il piu’ usato tra i word processor wysiwygMicrosoftFinestra in cui viene visualizzato il documentoCursore (barra verticale) indica il punto in cui
si sta scrivendoMouse per spostare il cursoreBarra degli strumenti (parte alta della
finestra) offre delle operazioni su porzioni di testo
Menu che contengono operazioni correlate
71
Fogli elettronici (spreadsheet)
Dati in forma tabellare (righe e colonne)Grafici basati su questi datiVisualizza 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
72
Collegamenti tra celle
Tramite le espressioniEsempio:
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
73
Espressioni
Somma, differenza, media,…, costanti numeriche, coordinate di altre celle
Range: lista di celle adiacentiEsempio:
A2:A5 Media(A2:A5) o somma(A2:A5)
74
Excel
Foglio elettronico di Microsoft per
Windows
Tabella = foglio di lavoro
75
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
76
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
77
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
78
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)
79
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
80
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
81
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: SQLEs.: SELECT titolo, autore FROM libri
WHERE libri.autore = Camilleri and Libri.anno = 1999
82
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
83
Servizi di rete
Quando programmi su elaboratori collegati in rete si scambiano comandi e dati
Esempi: Posta elettronica Telnet FTP
84
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)
85
Telnet
Consente la connessione ad un server remotoViene creato un ’’terminale virtuale’’ per
lavorare su un elaboratore remotoPermette di accedere al proprio elaboratore, se
collegato in rete, da qualunque altro punto della rete
Basta specificare l’indirizzo del serverEs.: telnet galileo.math.unipd.itBisogna essere utenti autorizzati su quel server
(nome utente e password)
86
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
87
Protocolli di rete -- 1
Come collegare in rete elaboratori diversi?
Anni ’70: Elaboratori tutti uguali
Stesso sistema operativo
Un solo mezzo trasmissivo
88
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
89
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
90
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
91
Protocollo ISO/OSI -- 2Livello 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
92
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 condivisiLivello 1 – livello fisico:
Definisce gli aspetti elettrici e meccanici del collegamento tra due nodi
Caratteristiche cavi e connettori Codifica dei bit per la trasmissione
93
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
94
Protocollo ISO/OSI -- 5
Dati da trasferire
95
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
96
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
97
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
98
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
99
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
100
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
101
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
102
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
Al nodo destinazione
103
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
104
Mezzi trasmissivi -- elettrici
Sfruttano le proprieta’ dei metalli di condurre energia elettrica
Ai bit si associano dei particolari valori di tensione o corrente
105
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)
106
Mezzi trasmissivi – mezzi otticiMezzi che usano la luce o i raggi laserI 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 flessibilePurezza del silicio (altrimento il raggio di
luce verrebbe attenuato dopo poco)Immune a disturbi elettromagnetici,
elevata banda, piccolo, costo maggiore
107
Il modemFrequenze tra 300 e 3400 Mhz quando si
parla al telefonoFrequenze 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
108
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
109
Topologie di collegamento -- 1
Punto a punto: collega direttamente due nodi della rete
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)
111
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)
112
Topologie di collegamento -- 2
Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)
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)
114
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
115
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
116
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
117
Indirizzi su Internet
Sistema di indirizzamento dei nodi gerarchico, con struttura ad albero
IP address univoco per ogni nodoNodo nome indirizzo
numerico (da un organismo internazionale: Domain Name System)
Gerarchia di nomi, che sono raggruppati in domini
118
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.it
119
WWW (World Wide Web)
Nato al CERN di GinevraSistema client/server che organizza le
informazioni memorizzate sulla rete e rende semplice l’accesso
Ipertesto distribuitoIpertesto: 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
120
Architettura del WWW
Una parte client e una serverProgramma 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
121
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
122
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
riaccedervi velocemente
123
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
124
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>
125
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>
126
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
127
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