Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Lezione 5 Prof. Angela Bonifati
05/12/2018 Lezione 5 Prof. Angela Bonifati Funzioni del SO La connettività Problematica della comunicazione Internet Introduzione ai sistemi informatici
2
05/12/2018 Funzioni del SO Introduzione ai sistemi informatici
3
Introduzione ai sistemi informatici
05/12/2018 SO: funzionalità SO come GESTORE DELLE RISORSE, controlla tutte le risorse del calcolatore e le gestisce in modo efficiente: tiene traccia di chi utilizza la risorse accetta e soddisfa le richieste di utilizzo di una risorsa fa da mediatore fra le risorse che risultano in conflitto. SO come MACCHINA ESTESA: costituisce la base su cui è possibile scrivere i programmi applicativi. presenta all’utente una macchina estesa più facile da programmare dell’HW sottostante. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
4
Funzioni di servizio del SO
Esecuzione di applicazioni caricamento del programma (istruzioni e dati) nella memoria centrale, inizializzazione dei dispositivi di ingresso/uscita, preparazione e gestione di altre risorse come la rete di comunicazione, …; Accesso ai dispositivi di ingresso/uscita gestione dei segnali necessari per il trasferimento dei dati, consente all’utente di ragionare in termini di operazioni astratte di lettura e scrittura; Archiviazione di dati e programmi fornire un’organizzazione logica dei dati sotto forma di cartelle (directory) e file, gestire le operazioni di basso livello per il relativo ingresso/uscita; Controllo di accesso condivisione di risorse da parte di più utenti o applicazioni, meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d’uso; Contabilizzazione ottimizzare il tempo di risposta dei programmi interattivi, fatturare agli utenti i costi dell’impiego del sistema; Gestione dei malfunzionamenti rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da operazioni scorrette compiute dal software applicativo. 05/12/2018 Introduzione ai sistemi informatici
5
Introduzione ai sistemi informatici
05/12/2018 Vantaggi di un SO Sono legati alla possibilità di definire modalità standard di interfaccia con i dispositivi fisici, cosicché sia possibile: sviluppare programmi in modo semplice, modulare ed indipendente dallo specifico calcolatore su cui viene fatto funzionare il sistema operativo; aggiornare il software di base e l'hardware in modo trasparente ai programmi applicativi e all'utente, ossia senza che vengano influenzati dall'operazione. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
6
Visioni fornite da un SO
05/12/2018 Visioni fornite da un SO Dall'alto: il sistema operativo fornisce all'utente un'interfaccia conveniente. Dal basso: gestisce tutti le parti di un sistema complesso, allocando in modo ordinato le diverse risorse della macchina: processori, memorie, dischi, interfacce di rete, stampanti e altre periferiche. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
7
Introduzione ai sistemi informatici
05/12/2018 Il software SW Applicativo Sistema Operativo SW HW HW SW= Sistema Operativo + SW applicativo Il S.O. come necessario intermediario 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
8
Introduzione ai sistemi informatici
Elementi di un SO Sistema di gestione del processore, controlla l’unità centrale di elaborazione (CPU); definisce quali programmi sono da eseguire e quali compiti sono da assegnare alla CPU; Sistema di gestione della memoria, controlla l’allocazione della memoria di lavoro ai diversi programmi che possono essere contemporaneamente in esecuzione; Sistema di gestione delle periferiche, garantisce l’accesso ai dispositivi di ingresso/uscita, maschera i dettagli di basso livello e gli eventuali conflitti che possono insorgere nel caso che diverse richieste arrivino contemporaneamente a uno stesso dispositivo; Sistema di gestione dei file (file system) consente l’archiviazione e il reperimento dei dati sfruttando le periferiche che costituiscono la memoria di massa; Sistema di gestione degli utenti e dei relativi comandi (interprete comandi), interfaccia diretta con gli utenti, permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità disponibili. 05/12/2018 Introduzione ai sistemi informatici
9
Introduzione ai sistemi informatici
Elementi di un SO Gestione processore Gestione memoria Gestione periferiche File system Hardware Interprete comandi Utente Sistema Operativo Software applicativo 05/12/2018 Introduzione ai sistemi informatici
10
Introduzione ai sistemi informatici
05/12/2018 SO vs applicazioni Programmi applicativi hanno accesso a un insieme ridotto di risorse; possono utilizzare solo un sottoinsieme delle istruzioni del processore (esecuzione in modalità utente); non possono decidere autonomamente quando e come avere accesso alle risorse del sistema (richiedono al sistema operativo l’esecuzione di alcuni servizi); … Sistema operativo ha accesso a tutte le risorse; può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore); stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte; … 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
11
Introduzione ai sistemi informatici
05/12/2018 Multiprogrammazione Nel sistema sono presenti diversi programmi, ognuno con un proprio tempo di elaborazione e propri tempi di attesa per le operazioni di ingresso/uscita. Per evitare che la CPU venga utilizzata in modo esclusivo (o per troppo tempo) da parte di un solo programma, il tempo viene idealmente suddiviso in unità elementari, dette quanti, da assegnare secondo opportune politiche a tutti i programmi. Round-robin: assegnare a rotazione la disponibilità di un quanto di tempo della CPU ai vari programmi presenti contemporaneamente in memoria. La durata del quanto di tempo incide significativamente sia sulle prestazioni del sistema che sull’efficacia del quasi parallelismo, che tende a scomparire se la durata diviene eccessiva e degrada nella sequenzializzazione dei programmi. D’altra parte, pur migliorando in generale le proprietà di parallelismo la scelta di un valore molto piccolo può comportare un degrado delle prestazioni complessive del sistema, qualora il tempo di commutazione fra programmi sia dello stesso ordine della durata del quanto di tempo (un valore tipico per il sistema operativo Unix è 100 ms). 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
12
Introduzione ai sistemi informatici
05/12/2018 Multiprogrammazione Tempo attesa per operazioni di I/O elaborazione Tempo Progr. 3 Progr. 2 Progr. 1 attesa per operazioni di I/O elaborazione 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
13
Introduzione ai sistemi informatici
05/12/2018 Processo vs programma Programma: entità statica composta dal codice eseguibile dal processore. Processo: entità dinamica che corrisponde al programma in esecuzione, composto da: codice (il programma); dati (quelli che servono per l’esecuzione del programma); stato (a che punto dell’esecuzione ci si trova, cosa c’è nei registri, …). 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
14
Organizzazione di un SO
05/12/2018 Organizzazione di un SO Compilatori Programmi di utilità Gestione banca Gestione biblioteca CAD Gestore della memoria Nucleo HW Gestore delle periferiche Gestore dei file (file system) Interprete comandi (shell) Gerarchia di “macchine virtuali” La visione della macchina virtuale a livello n è quella fornita dall’HW e dagli strati del SO fino all’ennesimo (incluso) 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
15
Organizzazione a “strati”
05/12/2018 Organizzazione a “strati” Ogni macchina virtuale è un insieme di programmi che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore. Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l’uso e mascherandone i limiti. I meccanismi che garantiscono la correttezza logica sono separati dalle politiche di gestione (maggiore flessibilità). ogni “strato” risolve un problema specifico 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
16
Le infrastrutture hardware
05/12/2018 Le infrastrutture hardware La connettività Introduzione ai sistemi informatici
17
tradizionalmente l’enfasi è su mentre oggi si sta spostando su
Gestire informazione creare, acquisire IN OUT elaborare presentare, attuare archiviare comunicare PROCESS tradizionalmente l’enfasi è su mentre oggi si sta spostando su … cioè sull’interconnessione in rete dei sistemi di elaborazione … 05/12/2018 Introduzione ai sistemi informatici
18
Reti di calcolatori vs Sistemi distribuiti
Rete di calcolatori insieme di calcolatori autonomi tra loro collegati mediante una rete di comunicazione; gli utenti sono in grado di interagire in modo esplicito con la rete (e in alcuni casi sono tenuti a farlo); i calcolatori connessi alla rete mantengono un certo grado di indipendenza: in caso di guasto o indisponibilità della rete ogni calcolatore continua a funzionare individualmente. Sistemi distribuiti gli utenti non hanno visibilità sull’architettura del sistema; il sistema si presenta come un sistema omogeneo, progettato per eseguire un’applicazione particolare (e.g. Bancomat) In effetti, si dovrebbe parlare di applicazioni distribuite piuttosto che di sistemi distribuiti. 05/12/2018 Introduzione ai sistemi informatici
19
Introduzione ai sistemi informatici
Perché una rete? Condividere risorse utilizzo razionale di dispositivi costosi modularità della struttura affidabilità e disponibilità Comunicare tra utenti scambio informazioni collaborazione a distanza 05/12/2018 Introduzione ai sistemi informatici
20
Condivisione di risorse fisiche Condivisione di risorse informative
05/12/2018 Perché una rete? Condivisione di risorse fisiche Condivisione di risorse informative Reti di dimensioni medio-piccole (un ufficio, un’aula, …) Reti di dimensioni medio-grosse (una regione, un’azienda, …) 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
21
05/12/2018 La struttura dei sistemi informatici come metafora dell’organizzazione dei sistemi informativi : Mainframe-terminali :; : PC stand alone :; : Rete di PC Informazione distribuita e coordinata Informazione centralizzata Informazione “sparpagliata” 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
22
Tassonomia delle reti: 1. la tecnologia di comunicazione
Reti broadcast (multipunto) canali di trasmissione condivisi da tutti i calcolatori della rete ogni calcolatore deve essere associato un identificatore univoco (indirizzo di rete), associato al dispositivo fisico utilizzato per connettersi alla rete, un messaggio inviato “sulla rete” raggiunge tutti i calcolatori della rete, ma solo il calcolatore il cui indirizzo corrisponde a quello presente nel messaggio lo tratterrà per elaborarlo. Reti punto a punto più connessioni individuali tra coppie di calcolatori; comunicazione tra due calcolatori esiste un canale di trasmissione diretto lo si usa per la comunicazione non esiste un canale di trasmissione diretto (calcolatori troppo distanti oppure numero elevato di nodi) la comunicazione avviene passando attraverso calcolatori intermedi 05/12/2018 Introduzione ai sistemi informatici
23
Tecnologia di comunicazione
05/12/2018 Tecnologia di comunicazione : multipunto : punto-a-punto si entra nella rete connettendosi a: la linea comune un nodo già connesso il vantaggio principale: la riconfigurabilità l’estendibilità il problema principale: la condivisione della linea l’instradamento Soluzione adatta quando la rete è: totalmente controllabile controllabile solo localmente 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
24
Tassonomia delle reti: 2. la dimensione delle reti
Reti locali (Local Area Network, LAN) di limitata estensione collegano dispositivi collocati nello stesso edificio o in edifici adiacenti. Reti metropolitane (Metropolitan Area Network, MAN) collegano di dispositivi collocati nella stessa area urbana. Reti geografiche (Wide Area Network, WAN) collegano di dispositivi diffusi in un’ampia area geografica (nazione, continente, …); “Reti di reti” (Internetwork), collegamento più reti differenti (in termini sia hardware che software) mediante opportuni elementi di interfaccia, che si possono estendere su tutto il pianeta (e.g. Internet). 05/12/2018 Introduzione ai sistemi informatici
25
Interconnessione di reti
05/12/2018 G Z B LAN Y WAN X Interconnessione di reti 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
26
I mezzi di trasmissione
Qual è il mezzo fisico utilizzato per realizzare il canale di trasmissione? mezzi guidati linee fisiche che portano il segnale fino al ricevitore, supportano la trasmissione di segnali elettrici oppure ottici, segnali elettrici: doppino telefonico o cavo coassiale; segnali ottici: fibre ottiche. mezzi non guidati irradiazione di segnali elettromagnetici nello spazio, in modo più o meno diretto; antenne, satelliti, infrarossi, … 05/12/2018 Introduzione ai sistemi informatici
27
Introduzione ai sistemi informatici
Mezzi guidati Doppino telefonico Conduttore di segnale Isolante Calza Guaina protettiva Cavo coassiale Guaina protettiva opaca Core Cladding Fonte di emissione luminosa (laser) Fibra ottica 05/12/2018 Introduzione ai sistemi informatici
28
Velocità di trasmissione Distanza tra ripetitori
Mezzi guidati Mezzo di trasmissione Velocità di trasmissione Larghezza di banda Distanza tra ripetitori Doppino telefonico 1-200 Mbps 3 MHz 100 m (100 Mbps) < 5 km (1 Mbps) Cavo coassiale 500 Mbps 350 MHz 1-5 km Fibra ottica 10 Gbit/s 2 GHz km 05/12/2018 Introduzione ai sistemi informatici
29
Introduzione ai sistemi informatici
05/12/2018 Mezzi non guidati i segnali vengono trasmessi e ricevuti mediante antenne l’antenna del trasmettitore irradia nello spazio onde elettromagnetiche, che l’antenna ricevente capta può essere direzionale (punto-a-punto) o non direzionale (multipunto). Lo spettro di frequenze utilizzato nelle trasmissioni non guidate può essere suddiviso in tre intervalli: [30 MHz, 1 GHz] adatto alle trasmissioni non direzionali le trasmissioni cellulari utilizzano 900 Mhz e 1800 Mhz; [2 GHz, 40 GHz] (microonde) trasmissioni direzionali, punto-a-punto, utilizzato anche per le comunicazioni via satellite (multipunto); [300 GHz, 200 THz] (infrarossi) trasmettitore e ricevitore devono essere visibili l’uno all’altro; molto importante in applicazioni locali punto-a-punto e multipunto in aree limitate. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
30
Trasmissione sincrona/asincrona
Trasmettitore e ricevitore debbono cooperare: i dati vengono tipicamente trasmessi un bit per volta lungo il canale (trasmissione seriale) la temporizzazione di questi bit deve essere la stessa tra trasmettitore e ricevitore Trasmissione sincrona: trasmettitore e ricevitore devono avere orologi sincronizzati per gestire la temporizzazione dei bit trasmessi; l’informazione di sincronizzazione può essere contenuta nei dati mediante speciali codifiche. Trasmissione asincrona: trasmissioni di breve durata, un carattere per volta (da 5 a 8 bit), il ricevitore deve risincronizzarsi all’inizio di ogni nuovo carattere (segnalato mediante un bit di start), la fine di un carattere è poi segnalata da un altro bit di controllo, il bit di stop. Direzione della trasmissione Simplex: solo in una direzione (solo da A verso B) Full duplex: contemporaneamente in entrambe le direzioni (da A a B e da B ad A contemporaneamente) Half duplex: in entrambe le direzioni, ma non contemporaneamente (da A a B xor da B ad A) 05/12/2018 Introduzione ai sistemi informatici
31
Il canale di comunicazione: linea dedicata/commutata
La comunicazione avviene lungo un canale (linea fisica o “parte” di essa) dedicato esclusivamente ad essa Es: due PC connessi da un cavo di comunicazione linea commutata Il canale viene “costruito” per ogni nuova sessione di comunicazione, collegando singoli tratti di linee dedicate Esempio: comunicazione tra due computer in Internet altri computer fanno da tramite tra i due che devono comunicare, ritrasmettendo i loro messaggi Con le linee commutate si riducono i costi 2 modalità: commutazione di circuito commutazione di pacchetto 05/12/2018 Introduzione ai sistemi informatici
32
Commutazione di circuito: la rete telefonica
I telefoni di un distretto telefonico fanno capo ad una centrale di smistamento, che comunica con le centrali degli altri distretti. Quando telefoniamo, la chiamata viene fatta passare attraverso una o più centrali, fino a raggiungere il numero chiamato. Comunicando fra loro, le centrali costruiscono una connessione diretta fra i due telefoni, che dura tutto (e solo) il tempo della telefonata. 05/12/2018 Introduzione ai sistemi informatici
33
Commutazione di circuito
Quando due telefoni comunicano, la linea e’ occupata: nessuno puo’ chiamare quei telefoni. Che succede se usiamo una comunicazione a commutazione di circuito su internet? DISASTRO: qualsiasi servizio offerto sarebbe disponibile ad un solo utente per volta. Ad esempio, chi riesce a connettersi ad un sito web lo puo’ usare in esclusiva per tutto il tempo che vuole !!! 05/12/2018 Introduzione ai sistemi informatici
34
Commutazione di circuito
05/12/2018 Commutazione di circuito Rilascio del circuito Segnale di accettazione chiamata Trasferimento dati B Segnali di richiesta chiamata 4 2 A Ritardo di propagazione Ritardo di ricerca nodo Tempo 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
35
Commutazione di pacchetto
Ogni messaggio e’ diviso in tanti pacchetti numerati di dimensione fissa. Ogni pacchetto contiene l’indirizzo del computer destinatario e del mittente. Ogni pacchetto e’ trasmesso separatamente Una volta inviato, il mittente se ne disinteressa Ogni pacchetto fa (virtualmente) una strada diversa per arrivare al destinatario 05/12/2018 Introduzione ai sistemi informatici
36
Commutazione di pacchetto
I pacchetti non arrivano necessariamente nello stesso ordine con cui sono stati inviati Il destinatario aspetta di aver ricevuto tutti i pacchetti per ricomporli e ricostruire il messaggio Ogni pacchetto occupa il mezzo di trasmissione e la scheda di rete per un tempo molto breve Si ha un effetto di parallelismo: ogni computer puo’ essere coinvolto contemporaneamente in piu’ comunicazioni 05/12/2018 Introduzione ai sistemi informatici
37
Commutazione di pacchetto
05/12/2018 Commutazione di pacchetto Pacchetto di conferma ricezione Pacchetto di accettazione chiamata Pacchetti dati D 6 Pacchetto di richiesta chiamata 1 2 A Tempo 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
38
Commutazione di pacchetto
B Y Z X W 2 1 05/12/2018 Introduzione ai sistemi informatici
39
Commutazione di pacchetto: instradamento (routing)
Come far arrivare i pacchetti a destinazione? Ogni nodo della rete mantiene una tabella che indica a quale/quali vicini ritrasmettere un pacchetto non destinato a lui, in base all’indirizzo di destinazione del pacchetto La scelta del nodo a cui inoltrare il pacchetto dipende anche da situazioni temporanee di carico della rete, guasti, ecc. 05/12/2018 Introduzione ai sistemi informatici
40
Linea dedicata/commutata: un esempio
Nel collegamento ad Internet col telefono dal PC al provider e’ in corso una comunicazione a commutazione di circuito la linea e’ occupata, perche’ si stà effettuando una chiamata telefonica dal provider verso qualsiasi punto di Internet al quale decidete di collegarvi, la comunicazione e’ a commutazione di pacchetto 05/12/2018 Introduzione ai sistemi informatici
41
Introduzione ai sistemi informatici
05/12/2018 Le reti locali Caratteristiche generali: ampia larghezza di banda; modularità e facilità di connessione; notevole affidabilità dell’intero sistema; espandibilità e flessibilità nella modifica delle dimensioni della rete; economicità; ogni stazione è collegata alla rete mediante un connettore (tap) agganciato alla scheda di interfaccia di rete (Network Interface Card, NIC) esegue le operazioni di conversione dei segnali e implementa il metodo di accesso alla rete a ogni scheda di rete è associato un indirizzo fisico univoco. Differenze tra diverse tipologie di LAN: i mezzi di trasmissione utilizzati; la topologia, ossia la configurazione fisica (anello, dorsale, stella e albero) e logica (anello, dorsale, albero) della rete; i metodi di accesso ai mezzi trasmissivi, ossia le regole di accesso al mezzo che tutte le stazioni collegate devono rispettare; l’architettura di rete; i metodi di comunicazione, ovvero il software di rete. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
42
Diverse topologie di rete locale
Bus Diverse topologie di rete locale Stella Anello 05/12/2018 Introduzione ai sistemi informatici
43
Introduzione ai sistemi informatici
05/12/2018 Tipologie di rete client-server il server gestisce la condivisione delle risorse e la sicurezza della rete le altre stazioni della rete sono dette client le risorse condivise e rese accessibili ai client sono quelle collegate direttamente al server, per cui la condivisione di dati e programmi richiede che essi siano stati memorizzati su un disco di rete collegato e gestito direttamente dal server. peer-to-peer insieme di stazioni connesse in modo paritetico, in modo tale che non esiste una gerarchia tra stazioni per la gestione e il controllo della rete: ognuna può inviare messaggi e condividere risorse sia hardware che software ogni stazione deve gestire il controllo degli accessi alle proprie risorse, definendo cosa condividere e con chi, in modo da proteggersi da eventuali intrusioni. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
44
Introduzione ai sistemi informatici
Rete client-server CLIENT 1 Risposta CLIENT 2 Richiesta Risposta Richiesta SERVER Richiesta Risposta CLIENT 4 Richiesta Risposta CLIENT 3 05/12/2018 Introduzione ai sistemi informatici
45
Interconnessione di LAN
05/12/2018 Interconnessione di LAN Repeater Collega reti identiche, Rigenera i segnali in transito tra una rete e l’altra. Bridge Collega reti diverse, ma con uno stesso schema di indirizzamento, oppure reti uguali in cui si vuole filtrare il traffico Ritrasmette solo i pacchetti che devono transitare da una rete all’altra: rimane in ascolto sulle due reti e, quando riconosce un pacchetto proveniente da una rete e destinato a una stazione appartenente all’altra rete, lo preleva, lo memorizza e quindi lo ritrasmette con il metodo di accesso proprio della rete di destinazione. Router Trasferire da una rete all’altra pacchetti con schemi di indirizzamento diverso, ma che condividono lo stesso protocollo di rete. L’instradamento tra le reti avviene attraverso una tabella di instradamento, presente sul router, che può anche variare dinamicamente. Questi dispositivi sono in genere utilizzati per interconnettere una rete locale a una rete geografica, come per esempio Internet. Gateway Creare dei collegamenti tra reti con ambienti applicativi differenti. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
46
Le infrastrutture software
05/12/2018 Le infrastrutture software Architettura del SW di rete Il Sistema Operativo di rete Introduzione ai sistemi informatici
47
I protocolli di comunicazione
05/12/2018 I protocolli di comunicazione Per comunicare i calcolatori debbono seguire delle regole: i protocolli di comunicazione. I protocolli di comunicazione specificano: i formati dei dati, la struttura dei pacchetti (includendo la definizione delle informazioni di controllo) la velocità di trasmissione … Definire tutte queste proprietà tramite un unico protocollo è praticamente impossibile, per questo si definisce un insieme di protocolli: ogni protocollo gestisce univocamente una componente ben definita della comunicazione ogni protocollo condivide con gli altri protocolli i dati di cui essi necessitano. Architettura di protocolli organizzata a livelli: ogni protocollo formalizza un diverso livello di astrazione della comunicazione tra calcolatori; le funzioni associate a ogni livello sono ben definite e omogenee tra loro; un cambiamento nel protocollo di un livello non influenza i protocolli definiti per gli altri livelli; scopo di ogni livello è di fornire servizi alle entità del livello immediatamente superiore, mascherando il modo in cui questi sono implementati e sfruttando opportunamente i servizi che gli vengono a sua volta forniti dal livello immediatamente inferiore; le interfacce tra i diversi livelli sono strutturate in modo da ridurre il più possibile la necessità di scambi di informazione da un livello all’altro. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
48
ICT: un quadro tecnologico
05/12/2018 Per comunicare … /1 … è necessario che esista un canale fisico adatto (requisito per la connessione fisica) ok! come? cosa stai dicendo? mi senti? occorre predisporre una infrastruttura fisica: degli strumenti per trasferire i segnali tra i comunicanti SSPAL - 16/04/02 ICT: un quadro tecnologico Introduzione ai sistemi informatici
49
what? I can hear you, but I don’t understand what you’re saying !
Per comunicare … /2 … è necessario avere competenze linguistiche comuni (requisito per la trasmissione) certamente! what? I can hear you, but I don’t understand what you’re saying ! mi capisci? occorre concordare dei protocolli di trasmissione: delle regole per interpretare i segnali “a basso livello” 05/12/2018 Introduzione ai sistemi informatici
50
possiamo parlare di trasmissione dati?
Per comunicare … /3 … è necessario avere competenze di contenuto comuni (requisito per la comunicazione) prego??? non spererai che ti capisca o che ti dica qualcosa al riguardo ?! bene: cominciamo pure! possiamo parlare di trasmissione dati? occorre concordare un protocollo applicativo: delle regole per interpretare i segnali “ad alto livello” 05/12/2018 Introduzione ai sistemi informatici
51
Si comunica! cosa pensi dei problemi attuali di TCP/IP? ritengo che IPv6 sarà fondamentale nel futuro Se le soluzioni adottate per soddisfare le tre precondizioni sono efficienti, la comunicazione si realizza come se esse non fossero più necessarie (“trasparenza” dei protocolli e dell’infrastruttura) 05/12/2018 Introduzione ai sistemi informatici
52
L’architettura del sistema
contenuto della comunicazione sistema per la gestione della comunicazione protocolli applicativi sottosistema C protocolli di trasmissione sottosistema B sottosistema A infrastrutture fisiche 05/12/2018 Introduzione ai sistemi informatici
53
La struttura di Internet
05/12/2018 La struttura di Internet World Wide Web Copia di files Login remoto Posta elettronica il contenuto della comunicazione … NNTP HTTP FTP TELNET SMTP/POP protocollo applicativo: livello applicativo TCP/IP protocolli di trasmissione: livello di trasmissione infrastruttura telematica: livello di connessione fisica 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
54
Architettura a livelli di un insieme di protocolli
05/12/2018 Architettura a livelli di un insieme di protocolli La trasmissione dell’informazione avviene simulando la connessione tra i livelli corrispondenti (peer) dei due sistemi che si scambiano blocchi formattati di dati, seguendo le regole stabilite dal protocollo definito per quel livello. Gli elementi chiave di un protocollo sono pertanto: la sintassi da seguire per la formattazione dei blocchi dei dati; la semantica, che riguarda, per esempio, le modalità di controllo della trasmissione e di gestione degli errori; la temporizzazione, ovvero l’adattamento della comunicazione alla velocità di trasmissione e la sequenzializzazione delle attività. Modello ISO-OSI: International Standard Organization (ISO), Open Systems Interconnect (OSI). Nel modello ISO-OSI, la comunicazione è originata dal livello più alto della stazione che invia il messaggio, passa ai livelli inferiori (sette in tutto), in cui il messaggio viene elaborato e preparato per la trasmissione, fino a giungere al livello fisico, che si occupa dell’effettiva trasmissione verso la stazione di destinazione. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
55
Applicazione Applicazione Presentazione Presentazione Sessione
05/12/2018 Applicazione Unità di trasmissione dati a livello applicazione Applicazione Presentazione Presentazione Unità di trasmissione dati a livello presentazione Sessione Sessione Unità di trasmissione dati a livello sessione Trasporto Trasporto Unità di trasmissione dati a livello trasporto Rete Rete Limite della sottorete di interconnessione Pacchetto Pacchetto Pacchetto Rete Rete Data link Data link Data link Data link Frame Frame Frame Fisico Fisico Fisico Fisico Bit Bit Bit HOST A Router Router HOST B 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
56
Introduzione ai sistemi informatici
05/12/2018 TCP/IP Modello “Internet” impostato su un’architettura a cinque livelli: livello fisico Interfaccia fisica tra le stazioni per la trasmissione dei dati e il mezzo di trasmissione. livello di accesso alla rete Scambio dati fra un sistema finale e la rete a cui è collegato, specificando come organizzare i dati in frame e come trasmetterli sulla rete. livello internet – IP (Internet Protocol) Scambio di dati tra sistemi che non appartengono alla stessa rete: occorrono delle procedure per attraversare reti multiple interconnesse. Specifica il formato dei pacchetti inviati attraverso la rete e i meccanismi utilizzati per farli transitare dal calcolatore sorgente attraverso uno o più router verso il destinatario. livello di trasporto (host to host) – TCP (Transmission Control Protocol). Trasmesse affidabile, con la garanzia che tutte giungano a destinazione nello stesso ordine di partenza. livello di applicazione come un’applicazione può utilizzare l’insieme dei protocolli TCP/IP. Il successo di questa architettura si deve alle seguenti ragioni: è stata ed è un’eccellente piattaforma per la realizzazione di applicazioni client-server affidabili ed efficienti in particolare nell’ambito di reti geografiche; ha permesso da subito di condividere informazioni tra organizzazioni diverse; è stato implementato nella gran parte dei sistemi operativi ed è stato supportato da subito dai produttori di bridge e router. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
57
TCP/IP: indirizzamento
05/12/2018 TCP/IP: indirizzamento Schema di indirizzamento generale su due livelli: indirizzo IP + porta TCP Indirizzo IP indirizzo associato a ogni calcolatore collegato a una sottorete; si tratta di un indirizzo Internet globale unico, utilizzato da IP per l’instradamento e la consegna dei pacchetti. Porta TCP indirizzo unico all’interno dell’host che individua un processo attivo sull’host; utilizzato da TCP per consegnare i dati al processo giusto; TCP aggiunge altre informazioni di controllo/servizio: il numero d’ordine nella sequenza (riordinare i messaggi dopo il loro arrivo a destinazione); codici di controllo della correttezza (checksum), che permettono al destinatario di verificare l’assenza di errori; … 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
58
Indirizzi TCP/IP Rete 2 Rete 1 Protocollo di accesso alla rete 1
05/12/2018 Indirizzi TCP/IP Rete 2 Rete 1 Indirizzo del punto di collegamento alla sottorete Protocollo di accesso alla rete 1 Livello Fisico (collegato a rete 1) Livello IP Livello TCP Livello Applicazione App. X App. Y HOST A Indirizzo di rete (globale) Punti di accesso al servizio (porte) Protocollo di accesso alla rete Livello Fisico ROUTER Protocollo di accesso alla rete 2 Livello Fisico (collegato a rete 2) HOST B Connessione logica (TCP) 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
59
Da un livello all’altro
05/12/2018 Da un livello all’altro Ogni livello attraversato aggiunge un’intestazione (contiene informazioni utili alle funzioni proprie di quel livello): TCP (porta TCP, checksum, numero d’ordine, …) IP (indirizzo host destinazione, indirizzo host mittente, …) rete (MAC address destinazione, MAC address mittente, …) … 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
60
Indirizzo IP (versione 4)
05/12/2018 Indirizzo IP (versione 4) 32 bit (cioè 4 byte) per un totale di 232 possibili indirizzi diversi; rappresentato in forma “dotted decimal” successione di quattro numeri (uno per byte), separati da un punto (e.g ) ognuno dei quattro numeri della notazione dotted decimal è compreso tra 0 e 255. strutturato in due parti: una parte che individua la rete fisica a cui la stazione è collegata, l’altra che identifica la singola stazione nell’ambito della rete fisica; esistono tre classi primarie, chiamate A, B e C, ognuna caratterizzata da una diversa suddivisione dei 32 bit: A - un byte (8 bit) per la rete + 3 byte (24 bit) per i calcolatori; inizia per “0”; B - 2 byte (16 bit) per la rete + 2 byte (16 bit) per le stazioni; inizia per “10”; C - 3 byte (24 bit) per la rete + 1 byte (8 bit) per i calcolatori; inizia per “110”. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
61
Il paradigma client-server
1. L’utente usa il client per esprimere le sue richieste 2. Il client si collega al server e trasmette la richiesta 3. Il server risponde al client 4. Il client presenta la risposta all’utente Utente Client Server Internet 05/12/2018 Introduzione ai sistemi informatici
62
Introduzione ai sistemi informatici
Il client Si preoccupa di dialogare con l’utente Sfrutta tutte le possibilità fornite dal calcolatore su cui viene eseguito (audio, video, ...) Fornisce all’utente un’interfaccia intuitiva Elabora le richieste dell’utente e le risposte dei server la comunicazione avviene secondo un formato standard (protocollo) 05/12/2018 Introduzione ai sistemi informatici
63
Introduzione ai sistemi informatici
Il server Rende disponibili delle risorse Accetta richieste e risponde automaticamente non bada alla provenienza della richiesta il processo client può trovarsi in qualsiasi punto della rete Si può organizzare un insieme di server in modo che siano collegati tra loro Potrebbe essere eseguito dallo stesso calcolatore che esegue il processo client! 05/12/2018 Introduzione ai sistemi informatici
64
Indirizzi numerici vs indirizzi simbolici
05/12/2018 Indirizzi numerici vs indirizzi simbolici Gli indirizzi IP sono machine-oriented, quindi difficili da utilizzare per un utente “umano”; è stato definito un sistema per passare da indirizzi numerici (gli indirizzi IP) a nomi facilmente memorizzabili, il Domain Name System; Domain Name System (DNS) associa a ogni indirizzo IP uno o più indirizzi simbolici, gestisce la conversione tra indirizzi simbolici e indirizzi IP organizzato in maniera gerarchica (domini, sotto-domini, sotto-sotto-domini, …) per semplificarne l’utilizzo. DNS server1.isttec.liuc.it 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
65
Introduzione ai sistemi informatici
DNS Il nome DNS di un calcolatore è costituito da una successione di stringhe alfanumeriche separate da punti (per esempio, server1.isttec.liuc.it) ogni stringa identifica un “dominio”: la stringa più a destra rappresenta il dominio di primo livello (detto anche dominio generale) identifica la nazione di appartenenza (it per Italia, uk per Gran Bretagna, fr per Francia…) identifica la categoria cui appartiene la società proprietaria del calcolatore (com per commerciale, edu per università o istituzioni che si occupano di formazione, org per organizzazioni non-profit di vario genere…); la seconda stringa, sempre proseguendo da destra verso sinistra, indica il dominio di secondo livello è un sottodominio del dominio di primo livello di solito individua una singola organizzazione (università, azienda, ente…) Le stringhe successive indicano i domini di terzo livello (sottodomini dei domini di secondo livello), quelli di quarto livello, e così via finché non si arriva a individuare un dominio che comprende il singolo host. 05/12/2018 Introduzione ai sistemi informatici
66
Introduzione ai sistemi informatici
Come si passa da DNS a IP? A ogni dominio è associato a un calcolatore responsabile del dominio si consideri, per esempio, l’indirizzo server1.isttec.liuc.it: c’è un computer responsabile per il dominio it; un computer per il dominio liuc.it; un terzo computer per il dominio isttec.liuc.it; un ulteriore computer per server1.isttec.liuc.it. Il calcolatore responsabile di un dominio mantiene un elenco dei calcolatori responsabili dei suoi sottodomini (e ne conosce i relativi indirizzi IP), il calcolatore responsabile del dominio it, per esempio, deve sapere chi sono (cioè deve sapere qual è il loro indirizzo IP) i calcolatori responsabili di tutti i suoi sottodomini, tra cui c’è liuc.it, ma anche polimi.it, miur.it… il calcolatore responsabile del dominio liuc.it, per esempio, deve sapere chi sono i calcolatori responsabili di tutti i suoi sottodomini, tra cui c’è isttec.liuc.it, ma anche cetic.liuc.it, … Per tradurre l’indirizzo DNS di un calcolatore nel suo indirizzo IP si deve interrogare il responsabile di ciascuno dei domini (di I, II, … livello) cui quel calcolatore appartiene: il calcolatore responsabile del dominio di I livello sa dove si trova il calcolatore responsabile del dominio di II livello il calcolatore responsabile del dominio di II livello sa dove si trova il calcolatore responsabile del dominio di III livello … 05/12/2018 Introduzione ai sistemi informatici
67
Il SO nelle reti di calcolatori
05/12/2018 Il SO nelle reti di calcolatori Le reti (specie quelle locali – LAN) sono molto veloci, quindi è possibile estendere anche a programmi in esecuzione su calcolatori diversi il principio di virtualizzazione delle risorse: si perde il concetto di “localizzazione” delle risorse c’è la possibilità di condividere in modo trasparente dati, periferiche e unità di elaborazione. Tali principi si possono estendere verso collegamenti (reti geografiche – WAN) su scala nazionale o internazionale: è possibile per esempio fornire a un utente (sia esso un programma o un utente umano) una visione unificata dei dati relativi a un sistema bancario composto da molte filiali, in cui ognuna memorizza i propri dati su calcolatori diversi, distanti, ma collegati tramite una rete di comunicazione. Per i calcolatori collegati in rete, il sistema operativo deve gestire anche quelle risorse che sono accessibili tramite la rete stessa. 05/12/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
68
Elementi di un SO di rete
Hardware Sistema Operativo Utente Software applicativo Gestione rete Interprete comandi Gestione processore Gestione memoria Gestione periferiche File system 05/12/2018 Introduzione ai sistemi informatici
69
Soluzioni agli esercizi della Lezione 3
05/12/2018 Soluzioni agli esercizi della Lezione 3 Introduzione ai sistemi informatici
70
Introduzione ai sistemi informatici
Soluzione 1 = ?????10 = 1 * 0 * 0 * 1 * 1 * 1 * 0 * 1 * 1 * ____________ 05/12/2018 Introduzione ai sistemi informatici
71
Introduzione ai sistemi informatici
Soluzione 2 = ??????2 = 05/12/2018 Introduzione ai sistemi informatici
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.