1 Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001 Docente: Prof. Francesca Rossi Tel: 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
2 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
3 Sistemi Operativi Insieme di programmi che gestiscono lhardware Hardware: Processori Memorie Dispositivi di I/O Detto software di base Software applicativo: insieme dei programmi scritti dallutente
4 Bootstrap Fase iniziale che carica il SO in memoria principale (RAM) Prima una parte, che poi ne carica unaltra,..., fino a che tutto il SO e in memoria e in esecuzione
5 Comandi al SO Attivano lesecuzione di un programma del SO Il program counter viene modificato per contenere lindirizzo dinizio 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 virtuali gestione simultanea di piu richieste (es., stampe)
9 Indipendenza dallhardware SO sempre piu indipendenti dallhardware 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 SO Poi, convergenza su pochi SO: DOS (Microsoft) Unix e Linux Windows (Microsoft)
11 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
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 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
14 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 dellintero sistema
15 Funzioni del SO Da 100 Kilobyte a 100 megabyte Programmi suddivisi in moduli Ogni modulo ha una funzione diversa Funzioni piu importanti: gestione processori gestione processi gestione memoria (principale e secondaria) gestione dispositivi di I/O
16 Struttura di un SO Interfaccia nucleo verso lesterno hardware File systemGestore I/O Gestore processi Gestore memoria Gestore processori Servizi richiesti dagli utenti al SO nucleo
17 Gestione dei processi Controlla la sincronizzazione, interruzione e riattivazione dei programmi in esecuzione Piu programmi si alternano nelluso della CPU Ogni programma puo essere: Eseguito Sospeso Fatto ripartire Struttura che mantiene lo stato di avanzamento di ogni programma: processo.
18 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 lesecuzione della ricetta = interrupt Il processo interrompre lesecuzione, prende nota del punto (riga della ricetta,...) e gestisce levento Alla fine della telefonata, lesecuzione riprende e viene conclusa Dolce = output
19 Vari processi in esecuzione zBisogna gestire anche yCondivisione risorse fisiche (CPU, memoria) yCondivisione risorse logiche (dati) yModularita: piu processi per una singola operazione yMaggiore velocita per parallelismo tra processi zAnche piu processi per un programma yEs.: piu programmatori usano lo stesso editore di testi
20 Ambiente monotasking zViene gestita lesecuzione di un solo programma per volta zLesecuzione non puo essere sospesa (per assegnare la CPU ad un altro programma) prima bisogna terminare lesecuzione in corso zAlla terminazione di un programma, si puo attivare un altro programma zPiu programmi attivati con un solo comando: job
21 Svantaggi del monotasking zLentezza: yla 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) zDOS e un SO monotasking: non si puo fare niente altro mentre si formatta un floppy o si memorizzano dati su disco
22 Ambiente multitasking zSO che permettono lesecuzione contemporanea di piu programmi zSe una sola CPU esecuzione contemporanea virtuale (una sola istruzione alla volta) zMinimizzano il tempo di inattivita ella CPU durante le operazioni di I/O, che possono anche occupare l80% del tempo
23 Time sharing zRipartizione del tempo di CPU tra tutti i processi che la vogliono zDurata del quanto di tempo: tra 100 e 200 millisecondi granularita molto fine zA ciascun utente sembra di avere la CPU tutta per lui, solo piu lenta
24 Coda dei processi pronti zI processi sono messi in una coda zIl processo in cima alla coda ha a disposizione la CPU per un quanto di tempo, fissato e uguale per tutti zQuando il tempo finisce, viene interrotto e messo in fondo alla coda zSe richiede unoperazione di I/O, va nel gruppo dei processi sospesi, quando loperazione finisce viene rimesso in coda per la CPU zLa CPU va al primo in coda
25 Stati dei processi zDurante la vita di un processo, vari stati: yIn esecuzione: quando usa la CPU (solo un processo alla volta) yPronto: quando aspetta la CPU yBloccato: in attesa di un evento (es.: fine di op. di I/O) zPassaggio 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 zSegnali hardware zCollegati al verificarsi di un evento zProvocano lesecuzione immediata di un programma del SO (vettore di interrupt) che serve a gestire levento zUna CPU puo gestire piu interrupt zInterrupt anche per fine di quanto di tempo (generato dal timer)
28 Tipi di interrupt zRilevazione malfunzionamento hardware zFine del quanto di tempo zArrivo di dati in input zRilevazione di segnali da sensori zRilevazione 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 z Ogni processo ha una sua tabella che lo descrive, che contiene: yIdentificativo yIndirizzo prossima istruzione yContenuto registri CPU yStato corrente (pronto, bloccato, esecuzione) yCollocazione programma e dati in memoria yPriorita yAmmontare CPU time gia speso y…y…
30 Operazioni sui processi zLa tabella e sempre in memoria centrale (per accedervi velocemente) zUsando le informazioni contenute nella tabella, si possono fare varie operazioni: yCreazione di nuovi processi yCambio di priorita yBlocco yAssegnamento della CPU yTerminazione
31 Processi concorrenti zNecessita di sincronizzazione e comunicazione zThreads: cammini di esecuzione della CPU su un programma zPiu thread possono condividere codice, dati, memoria, file, … zTask: insieme di thread e delle cose condivise tra loro zProcesso tradizionale: un solo task con un solo thread
32 Processi indipendenti o concorrenti zProcessi indipendenti: yLesecuzione di un processo non e influenzata da quella degli altri processi yDipende solo dallinput (deterministica) zProcessi cooperanti o concorrenti: yLo stato puo essere influenzato da altri processi, e dati condivisi yEsecuzione non deterministica (dipende dalle velocita relative dei processi)
33 Pipe zPermette il passaggio dei dati tra due processi zI dati sono messi da una parte di un tubo (pipe) da un processo ed estratti dallaltro lato, nello stesso ordine, da un altro processo zMolto usato nel SO Unix
34 Coda di messaggi zEsplicite funzioni per scambio messaggi: (send e receive) zScambio di messaggi tra piu processi zMessaggi gestiti secondo il loro arrivo in coda
35 Condivisione di memoria zForma di comunicazione piu veloce zPero anche piu difficile da implementare: bisogna evitare che piu processi modifichino contemporaneamente gli stessi dati zMeccanismi piu usati: semafori, monitor, rendez-vous
36 Gestione dei processori zCriteri in base ai quali i processori vengono assegnati ai processi zProgramma schedulatore: yDistribuisce il tempo di CPU tra i processi yDecide lavvicendamento dei processi
37 Criteri per lo schedulatore zMassimo tasso di uso della CPU zMassimo numero di processi completati per unita di tempo (throughput) zMinimo tempo tra la sottomissione di un processo e il suo completamento zMinimo tempo passato in attesa nella coda dei processi pronti
38 Gestione della coda dei pronti:FIFO zFIFO (first in, first out): ySecondo lordine di arrivo, senza interruzione yImplementazione banale yTempo di attesa non minimizzato
39 Gestione della coda dei pronti: altri metodi zSJF (Shortest Job First): prima i processi piu corti zRound-robin: con quanti di tempo associati a FIFO zScadenza: prima i processi con la scadenza piu vicina zSRT (Shortest Remaining Time): prima i processi a cui manca meno tempo per finire
40 Gestione della memoria principale zCriteri per allocare la memoria principale tra piu entita che la richiedono: ySO yProcessi yBuffer di I/O y…y…
41 Vari tipi di memoria zMemoria principale: yVeloce da accedere yVolatile yPiccola yProgrammi da eseguire devono risiedere qui yGranularita fine (bit o byte) zMemoria di massa (o secondaria): yMolto piu grande e meno costosa yNon volatile yLunghi tempi di accesso yGranularita non fine (blocchi di byte)
42 Gestione della memoria reale zAlloco una prima parte di M per il SO zPoi una parte contigua successiva al programma in esecuzione e ai suoi dati z Limiti alla grandezza del programma zOverlay: ycarico il M solo la sezione del programma che serve ora yIl programmatore deve suddividere il programma in sezioni SO programma dati
43 Partizioni della memoria reale zPiu task partizioni della memoria zPartizioni fisse:un pezzo fisso di memoria per ciascun processo zPartizioni variabili: minimo spazio per lesecuzione di un processo zFrammentazione: yDopo vari caricamenti e scaricamenti, nessuna porzione libera e grande abbastanza per il prossimo programma y ricompattamento delle parti libere (garbage collection)
44 Memoria virtuale zTecnica per ySvincolare il codice di un programma dalla sua collocazione in memoria yFunzionare come se si avesse piu memoria di quella reale zDa indirizzi virtuali (usati dai programmi) a indirizzi reali (per laccesso alla RAM)
45 Indirizzi virtuali e reali -- esempio zProcessore a 32 bit 2 32 indirizzi, da 0 a 2 32 (4 gigabyte) zRAM di solito con alcun centinaia di megabyte zIl programma puo usare tutti gli indirizzi, anche se non ci sono cosi tante celle di memoria zGli indirizzi sono virtuali e vengono poi tradotti in indirizzi fisici zBasta che non tutti gli indirizzi fisici siano usati assieme
46 Gestione della memoria secondaria zFatta dal modulo del SO detto file system, che si occupa di: yAssociare un nome di file ad una parte dello spazio di memoria yFornire metodi per accedere ai file yRendere trasparente la struttura fisica della memoria yOttimizzare loccupazione di memoria
47 File zUnica unita logica di informazione usata dal SO zFisicamente: ysequenza di byte che contiene informazioni omogenee yEs.: programma, testo, dati simili, … yByte = 8 bit zTutti i dati vengono suddivisi in file zI file vengono memorizzati nelle memorie di massa
48 Modi di accesso a un file -- 1 zByte-stream: yFile = sequenza di byte ySoprattutto per file di testo zSequenziale: yFile = sequenza di record di lunghezza fissa o variabile yRecord = sequenza di byte yAccesso sequenziale ai record
49 Modi di accesso a un file -- 2 zDiretto: yFile = sequenza di record di lunghezza fissa yAccesso immediato ai record zA indice: yFile = sequenza di record ordinati secondo un indice yRecord = valore dellindice + informazione yDue file: uno per i record, e uno per indici + indirizzo fisico del record con qullindice yAccesso veloce, ma piu spazio
50 Organizzazione dei file zOrganizzazione gerarchica zSolo logicamente, nessuna relazione con la posizione fisica sulle memorie di massa zDirectory: gruppo di file e altre directory, piu elenco
51 Organizzazione ad albero zAlbero rovesciato (come genealogico) zNodi e collegamenti padre-figlio tra nodi zNodo: file o directory zNodi divisi per livelli zCollegamenti tra nodi di livelli vicini: nodo sopra = padre, nodo sotto = figlio zOgni nodo ha un solo padre zPadre piu in alto = radice zI nodi file non hanno figli zCammino assoluto o relativo (per file) directory file
52 Operazioni su file zCreazione zApertura zChiusura zCancellazione zCopia zRinomina zVisualizzazione zLettura zScrittura zModifica z…z…
53 Gestione dellinput/output zGestione delle periferiche zRende trasparenti le caratteristiche fisiche delle periferiche zGestisce la comunicazione di segnali verso di loro zCoordina laccesso di piu utenti (processi) zDriver delle periferiche (uno per ogni periferica)
54 Spooling zProcesso che svincola la stampa di un file dal resto dellelaborazione: il sistema continua la sua attivita mentre la stampa e in corso zStampante piu lenta della CPU un file non puo essere trasferito troppo velocemente dalla CPU alla stampante zInvece di inviare il file: yIl file viene messo su disco yIl SO crea il processo di spooling che fa procedere la stampa yIl processo che ha richiesto la stampa e svincolato da essa zLo spooling puo andare in esecuzione anche su un elaboratore remoto collegato in rete (print server) lo eseguira unaltra CPU
55 MS - DOS zSviluppato dalla Microsoft nel 1981 per il PC IBM zAdottato da altri con PC IBM- compatibili zMolto limitato: mono-utente, mono- tasking zCirca 50 comandi per il SO
56 Comandi piu usati in MS - DOS zDIR per vedere il contenuto di una directory zCOPY per copiare file zDEL per cancellare un file zREN per cambiare il nome a un file zCD per muoversi in un altra directory zMD per creare nuove directory zRD per cancellare directory zNome file: per eseguire il file (se eseguibile)
57 File in MS - DOS zPer individuare un file: cammino assoluto zUn file system per ogni disco anche nome del disco zEsempio: C:\Dir1\Dir2\Dir3\file.txt zEstensioni per file: y.exe per programma eseguibile y.sys per driver di sistema y.txt per file di testo y.c per programma in C y.doc per documento Word
58 Unix zSO multi-utente, multi-tasking, con time- sharing zConcepito per poter funzionare su diverse piattaforme hardware zInterprete dei comandi: shell zPiu di 300 comandi, con opzioni zComando man per aiuto zForma di un comando: nome-comando [[-opzioni] argomenti]
59 Comandi Unix zLs per vedere il contenuto di una directory zCp per copiare file zRm per cancellare file zMv per spostare file zCd per spostarsi in unaltra directory zMkdir per creare una nuova directory zPs per vedere tutti i processi attivi zLp per stampare file zWho per vedere tutti gli utenti collegati
60 File in Unix zUnico albero anche se ci sono piu dischi non serve indicare il disco per denotare un file zRadice: simbolo / zEsempio: /dir1/dir2/dir3/file.txt
61 Windows zNato nel 1987, ispirato al Macintosh zAllinizio era uninterfaccia grafica per DOS zWindows 95: SO mono-utente, multi-tasking, time-sharing zDOS emulato in speciali finestre (per seguire vecchi applicativi per DOS) zPensato per una stazione di lavoro (il PC) che puo essere un client in una rete
62 Filosofia Windows -- 1 zInterfaccia grafica zMouse che sposta un cursore zCut & paste (copia e incolla) zDrag & drop (trascina e lascia) zIcone associate a file, directory, dischi, … zDirectory come cartelle zPulsanti zFinestre: cornici con strumenti zMenu di comandi
63 Filosofia Windows -- 2 zLutente non deve ricordarsi i nomi dei comandi, basta che selezioni col mouse: yun oggetto e yil comando da applicare alloggetto zFile system (cioe lalbero): visualizzato come cartelle che contengono icone di file o di altre cartelle zCliccando su una cartella, si apre quella directory zIcona del file: diversa a seconda del tipo di file
64 Word processor (editori di testi) zSi sono diffusi assieme ai PC negli anni 70 zAllinizio, aspetto non importante: stampanti con pochi opzioni di caratteri zCon lavvento degli schermi grafici, ora su tutti i PC, tantissimi tipi e grandezze di caratteri zDocumento appare come sara stampato: WYSIWYG (what you see is what you get) zTesto e grafici nello stesso documento
65 Word -- 1 zIl piu usato tra i word processor wysiwyg zMicrosoft zFinestra in cui viene visualizzato il documento zCursore (barra verticale) indica il punto in cui si sta scrivendo zMouse per spostare il cursore zBarra degli strumenti (parte alta della finestra) offre delle operazioni su porzioni di testo zMenu che contengono operazioni correlate
66 Word -- 2 zPer selezionare una porzione di testo: yMouse allinizio ySpostarsi alla fine tenendo preemuto il tasto sinistro zPer copiare una porzione di testo: ySelezionarla yCopia dal menu Modifica ySpostarsi nella nuova locazione yIncolla dal menu Modifica zPer spostare: taglia invece che copia
67 Word -- 3 zOperazioni sui singoli caratteri: yCambio del tipo di carattere (font) yCambio della dimensione yCambio dellaspetto (corsivo, grassetto, sottolineato, …) yCancellazione zAnche sui paragrafi: yAllineamento margine destro o sinistro, centratura ySpaziatura tra linee yNumero di colonne
68 Word -- 4 zLa barra degli strumenti contiene pulsanti (bottoni) per: yCreare un nuovo documento yStampa e controllo ortografico yAnnullamento ultima operazione yInserimento grafici e tabelle yVisione caratteri nascosti di formattazione yDefinizione stile di paragrafi e caratteri
69 Word -- 5 zPer trovare una parola o frase: yVoce trova nel menu Modifica yAnche per sostituirla con unaltra zPer dare un aspetto uniforme: stili ySerie di operazioni di formattazione con un nome yOgni paragrafo ha un suo stile yStili predefiniti: normal, titolo1, titolo2, … yPer cambiare la def. di uno stile: selezionare il paragrafo, il nome dello stile, e la voce ridefinire lo stile yPer cambiare lo stile di un paragrafo: selezionare il paragrafo e il nome del nuovo stile yPer creare un nuovo stile: formattare manualmente un paragrafo, e poi dare un nome nella casella stile
70 Intestazione e pie di pagina zSpecificate una volta per tutte, e vengono messe su ogni pagina zPie di pagina: numero pagina, data, … zSelezionare la voce intestazione e pie di pagina dal menu visualizza zNota a pie di pagina (footnote): yCommento relativo ad un punto del documento yScritto in fondo alla pagina yCollegato con un numero yCursore accanto alla parola da commentare, e voce pie di pagina dal menu Inserisci
71 Fogli elettronici (spreadsheet) zDati in forma tabellare (righe e colonne) zGrafici basati su questi dati zVisualizza una tabella organizzata in righe (1, 2, 3, …) e colonne (A, B, C, …) ogni casella ha coordinate del tipo A3 zUna casella puo contenere: numeri, testo, espressioni matematiche o logiche zCosa viene visualizzato in una cella? Numero o risultato dellespressione
72 Collegamenti tra celle zTramite le espressioni zEsempio: yLa cella A1 contiene 5 yLa cella A2 contiene A1+1 nella cella A2 viene visualizzato 6 yLa modifica di A1 causa laggiornamento automatico di A2
73 Espressioni zSomma, differenza, media,…, costanti numeriche, coordinate di altre celle zRange: lista di celle adiacenti zEsempio: yA2:A5 yMedia(A2:A5) o somma(A2:A5)
74 Excel zFoglio elettronico di Microsoft per Windows zTabella = foglio di lavoro
75 Sistemi per la gestione di basi di dati zBase di dati = insieme di dati elementari omogenei, che formano un archivio zEsempio: descrizione dei libri in una biblioteca, o del personale di unazienda zDeve essere semplice e veloce: linserzione di dati, il reperimento, laggiornamento
76 Transazioni zOgni operazione su una base di dati deve essere: yAtomica: o tutto o niente yConsistente: la nuova base di dati deve essere corretta yIsolata: e visibile solo quando e finita zCioe una transazione
77 Piu utenti in una base di dati zCoordinare le transazioni ordinate dai vari utenti, in modo che non entrino in conflitto zEsempio: sistema di prenotazione degli aerei zMetodo piu usato: blocco (lock) dei dati comuni
78 Dal punto di vista fisico zBase di dati = insieme di record zOgni record ha vari campi zEs.: scheda per un libro yTitolo, autore, anno, … zI record sono memorizzati in file (ad accesso con indice)
79 Dal punto di vista logico zTre modelli per una base di dati: yGerarchico: albero dove ogni record e il padre di un altro yReticolare: albero piu altri collegamenti tra record yRelazionale: tabelle (insiemi di record) piu relazioni tra tabelle
80 Basi di dati relazionali zTabelle (insiemi di record) piu relazioni tra tabelle zEs.: tabella per corsi, tabella per studenti zSistemi piu usati: Access per Windows, Oracle
81 Query zQuery = domande la cui risposta e un insieme di record con certe caratteristiche zEs.: voglio linsieme dei libri scritti nel 1999 da Camilleri zLinguaggio piu usato: SQL zEs.: SELECT titolo, autore FROM libri WHERE libri.autore = Camilleri and Libri.anno = 1999
82 Reti di calcolatori zRete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione zOgni calcolatore e un nodo, con un suo indirizzo di rete zStoria: yPrime reti, anni 70: un calcolatore potente e tanti terminali yAnni 80: reti locali (un edificio). Es.: Ethernet yAnni 90: reti metropolitane (una citta) e geografiche. Es (rete geo): Internet
83 Servizi di rete zQuando programmi su elaboratori collegati in rete si scambiano comandi e dati zEsempi: yPosta elettronica yTelnet yFTP
84 Posta elettronica zConsente lo scambio di corrispondenza tra utenti di sistemi collegati in rete zIl ricevente viene individuato dal suo indirizzo: ynome utente + indirizzo di rete della macchina su cui lavora yEs.: zVantaggi: yRicevere messaggi anche se assenti ySpedire messaggi a piu utenti zScrittura messaggio: sul client zInvio e ricezione: mail server (uno per una rete)
85 Telnet zConsente la connessione ad un server remoto zViene creato un terminale virtuale per lavorare su un elaboratore remoto zPermette di accedere al proprio elaboratore, se collegato in rete, da qualunque altro punto della rete zBasta specificare lindirizzo del server zEs.: telnet galileo.math.unipd.it zBisogna essere utenti autorizzati su quel server (nome utente e password)
86 FTP (File Transfer Protocol) zTrasferire file da un elaboratore ad un altro (copia di un file tra due elaboratori in rete) zUtenti riconosciuti sul server dove si vuole copiare zComandi in ambiente FTP: yOpen per attivare la connessione con un server remoto (es.: open galileo.math.unipd.it) yLs, cd per posizionarsi su un certo directory yGet, put per mettere o prendere un file yClose, bye per chiudere la sessione
87 Protocolli di rete -- 1 zCome collegare in rete elaboratori diversi? zAnni 70: yElaboratori tutti uguali yStesso sistema operativo yUn solo mezzo trasmissivo
88 Protocolli di rete -- 2 zIn seguito, elaboratori diversi ma stesso software di base zMa se si collegano sistemi diversi? Necessita di uno standard che regoli la realizzazione del software di comunicazione
89 Protocolli di rete -- 3 zNel 1978 lISO (International Standard Organization) propose il modello ISO/OSI (Open System Interconnection) per specificare il modo in cui elaboratori diversi comunicano tramite la rete zArchitettura di rete strutturata in sette livelli
90 Protocollo ISO/OSI -- 1 zLivello 7 – applicazione: yFornisce i servizi che eseguono le applicazioni utente yDefinisce le specifiche dei programmi che permettono di usare la rete (trasferimento file, condivisione risorse, …) zLivello 6 – presentazione: ytraduce i dati trasmessi sulla rete nel formato adatto al sistema di destinazione
91 Protocollo ISO/OSI -- 2 zLivello 5 – sessione: yGestisce il dialogo tra due programmi applicativi sulla rete, e il loro scambio di dati yEsempio: gestisce la ripresa di un trasferimento di file dopo uninterruzione per malfunzionamento su una linea zLivello 4 – trasporto: yControlla il trasferimento dei dati verso il nodo destinazione yDecomposizione in pacchetti yControllo e correzione degli errori yRicomposizione di pacchetti nel corretto ordine
92 Protocollo ISO/OSI -- 3 zLivello 3 – rete: ySceglie il percorso di rete piu adatto per giungere al nodo destinazione yTrova percorsi alternativi in caso di guasti zLivello 2 – data link: yGestisce la trasmissione affidabile dei dati tra due nodi adiacenti yAggiunge codici per il controllo degli errori yDefinisce le procedure di accesso ai mezzi trasmissivi condivisi zLivello 1 – livello fisico: yDefinisce gli aspetti elettrici e meccanici del collegamento tra due nodi yCaratteristiche cavi e connettori yCodifica dei bit per la trasmissione
93 Protocollo ISO/OSI -- 4 zLa trasmissione dei dati avviene solo al livello piu basso (livello 1) zOgni livello N comunica, tramite i livelli sottostanti, con il livello N dellaltro nodo zOgni livello aggiunge, ai dati che vengono dal livello superiore, delle informazioni di controllo, e passa il risultato (dati + info di controllo) al livello sotto zI 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 zISO/OSI e soprattutto un modello teorico di riferimento zTCP/IP e il modello standard di fatto, adottato da Internet zTCP/IP non comprende i livelli 1 e 2 (li prende da ISO/OSI) zLivelli 5,6,7 collassati in un unico livello zTCP = livello 4 zIP = livello 3
104 Mezzi trasmissivi -- elettrici zSfruttano le proprieta dei metalli di condurre energia elettrica zAi bit si associano dei particolari valori di tensione o corrente
105 Mezzi trasmissivi – onde radio zOnda elettromagnetica: combinazione di campo magnetico e elettrico variabili zSi propaga nello spazio e riproduce a distanza una corrente elettrica in un dispositivo ricevente (unantenna)
106 Mezzi trasmissivi – mezzi ottici zMezzi che usano la luce o i raggi laser zI raggi di luce possono essere trasmessi sia attraverso laria che attraverso fibre di vetro (fibre ottiche) zFibre ottiche = filamenti di silicio (vetro) molto sottili (decine di micron) zDuttile e flessibile zPurezza del silicio (altrimento il raggio di luce verrebbe attenuato dopo poco) zImmune a disturbi elettromagnetici, elevata banda, piccolo, costo maggiore
107 Il modem zFrequenze tra 300 e 3400 Mhz quando si parla al telefono zFrequenze molto diverse per segnali che codificano dati digitali I canali telefonici non sono adatti a trasportare i bit cosi come sono codificati zPero, 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 zModulazione di frequenza: frequenze diverse codificano zero e uno, lampiezza rimane la stessa zModulazione di ampiezza: ampiezze diverse codificano zero e uno, la frequenza rimane la stessa zModulazione di fase: viene modificata la fase
109 Topologie di collegamento -- 1 zPunto a punto: collega direttamente due nodi della rete
110 Topologie di collegamento -- 1 zPunto a punto: collega direttamente due nodi della rete zBus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti)
111 Topologie di collegamento -- 1 zPunto a punto: collega direttamente due nodi della rete zBus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti) zStella: un singolo elaboratore collegato punto a punto con tutti gli altri (molto usata per reti locali)
112 Topologie di collegamento -- 2 zAnello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)
113 Topologie di collegamento -- 2 zAnello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane) zMaglia: collegamenti punto a punto yMaglia incompleta (ma tutti i nodi sono raggiungibili)
114 Topologie di collegamento -- 2 zAnello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane) zMaglia: collegamenti punto a punto yMaglia incompleta (ma tutti i nodi sono raggiungibili) yMaglia completa
115 Internet – storia 1 zNata negli anni 60 col nome di Arpanet zObbiettivo: collegare in un unica rete tutti i calcolatori di vari siti militari zMotivi: ycondividere le ricerche ycomunicare anche in caso di attacco nucleare (tanti cammini alternativi tra due calcolatori) zAllinizio: 4 calcolatori negli USA
116 Internet – storia 2 zNel 1973: connessioni allInghilterra e alla Norvegia zAnni 80: anche altre grandi reti accademiche e scientifiche z1982: TCP/IP come protocollo standard zOra: Internet collega decine di migliaia di reti in tutto il mondo
117 Indirizzi su Internet zSistema di indirizzamento dei nodi gerarchico, con struttura ad albero zIP address univoco per ogni nodo zNodo nome indirizzo numerico (da un organismo internazionale: Domain Name System) zGerarchia di nomi, che sono raggruppati in domini
118 Domini zDominio: struttura per cui esiste un unico ente che decide i nomi zGerarchia: sotto ogni dominio ci sono altri sottodomini zEs.: yDominio di primo livello it (Italia) yDominio di secondo livello unipd (Univ. Padova) zAltri domini di primo livello: de (germania), uk (Regno Unito), com (siti commerciali), edu (universita USA), gov (enti governativi), … zLe persone in Internet sono individuate da un nome utente che e unico nel loro dominio. Es.: frossi e unico nel dominio
119 WWW (World Wide Web) zNato al CERN di Ginevra zSistema client/server che organizza le informazioni memorizzate sulla rete e rende semplice laccesso zIpertesto distribuito zIpertesto: documento testuale in formato elettronico dove la lettura non e sequenziale come nei normali libri, ma va da pagina a pagina collegata zCollegamenti attraverso le hot word (parole sottolineate), su cui si puo cliccare per visualizzare unaltra pagina zCollegamenti a pagine sullo stesso server o anche su un altro server
120 Architettura del WWW zUna parte client e una server zProgramma client: browser, per visualizzare le pagine (testo, grafica, …) provenienti dal server con cui si comunica zSelezionando una hot word, il browser chiede al server una nuova pagina zIl server la invia in formato HTML (Hypertext Markup Language): file di caratteri ASCII piu comandi per limpaginazione e I collegamenti zBrowser piu usati: Netscape e Explorer
121 URL zOgni risorsa su Internet (pagina, file, immagine, …) e identificata dal suo URL (Uniform Resource Locator) zFormato degli URL: protocollo://host.dominio/cammino/nome zProtocollo: tipo della risorsa e protocollo da usare. Es.: file, ftp, http, telnet zHost.dominio: inirizzo del server dove trovare la risorsa. Es.: zcammino/nome individua il file nel file system del server. zEs.:
122 Netscape zUno dei browser piu usati (assieme ad Explorer) zAttivando Netscape, viene aperta una finestra dove vengono visualizzate le pagine ipertestuali di WWW zBarra degli strumenti per controllare la navigazione in Internet ySpostarsi avanti e indietro fra le pagine gia caricate yAprire una nuova pagina ySalvare una pagina sul proprio file system yCreare una lista di URL preferiti, per riaccedervi velocemente
123 HTML zLinguaggio per descrivere una pagina di ipertesto zSpecifica come dovra apparire quando sara visualizzata, quali collegamenti contiene e dove portano zComando in HTML: riguarda una porzione di testo, tag allinizio e alla fine zEs.: testo per il grassetto
124 Struttura di un documento HTML Titolo della pagina (viene usato dai motori di ricerca) Quello che sara visualizzato dal brower
125 Comandi di HTML zPer definire un paragrafo (P) zPer far apparire un testo in grassetto (B) o corsivo (EM) zPer centrare un pezzo di testo (CENTER) zPer realizzare una lista: primo elemento secondo elemento zPer definire il colore dello sfondo: (codice RGB) zPer inserire un collegamento: hotword html
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:
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