Lezione 5 Prof Angela Bonifati Funzioni del SO
Lezione 5 Prof. Angela Bonifati Funzioni del SO La connettività Problematica della comunicazione Internet Introduzione ai sistemi informatici
Funzioni del SO Introduzione ai sistemi informatici
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. 02/11/2020 Introduzione ai sistemi informatici 3
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, …; • • gestione dei segnali necessari per il trasferimento dei dati, consente all’utente di ragionare in termini di operazioni astratte di lettura e scrittura; • • fornire un’organizzazione logica dei dati sotto forma di cartelle (directory) e file, gestire le operazioni di basso livello per il relativo ingresso/uscita; • • condivisione di risorse da parte di più utenti o applicazioni, meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d’uso; • • ottimizzare il tempo di risposta dei programmi interattivi, fatturare agli utenti i costi dell’impiego del sistema; • rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da operazioni scorrette compiute dal software applicativo. Accesso ai dispositivi di ingresso/uscita Archiviazione di dati e programmi Controllo di accesso Contabilizzazione Gestione dei malfunzionamenti 02/11/2020 Introduzione ai sistemi informatici 4
Vantaggi di un SO Sono legati alla possibilità di definire modalità standard di interfaccia con i dispositivi fisici, cosicché sia possibile: Ø • • 02/11/2020 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. Introduzione ai sistemi informatici 5
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. 02/11/2020 Introduzione ai sistemi informatici 6
Il software SW SW Applicativo Sistema Operativo HW HW Ø SW= Sistema Operativo + SW applicativo Ø Il S. O. come necessario intermediario 02/11/2020 Introduzione ai sistemi informatici 7
Elementi di un SO Ø Sistema di gestione del processore, Ø Sistema di gestione della memoria, Ø Sistema di gestione delle periferiche, Ø Sistema di gestione dei file (file system) Ø Sistema di gestione degli utenti e dei relativi comandi (interprete comandi), • controlla l’unità centrale di elaborazione (CPU); • definisce quali programmi sono da eseguire e quali compiti sono da assegnare alla CPU; • controlla l’allocazione della memoria di lavoro ai diversi programmi che possono essere contemporaneamente in esecuzione; • 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; • consente l’archiviazione e il reperimento dei dati sfruttando le periferiche costituiscono la memoria di massa; • interfaccia diretta con gli utenti, • permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità disponibili. 02/11/2020 Introduzione ai sistemi informatici 8
Elementi di un SO Utente Sistema Operativo Interprete comandi Gestione memoria Software applicativo 02/11/2020 Gestione processore Gestione periferiche Hardware Introduzione ai sistemi informatici File system 9
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); • … 02/11/2020 Ø 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; • … Introduzione ai sistemi informatici 10
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). Ø 02/11/2020 Introduzione ai sistemi informatici 11
Multiprogrammazione elaborazione attesa per operazioni di I/O Tempo Progr. 1 Progr. 2 Progr. 3 Tempo elaborazione 02/11/2020 Introduzione ai sistemi informatici attesa per operazioni di I/O 12
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, …). 02/11/2020 Introduzione ai sistemi informatici 13
Organizzazione di un SO 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) Ø 02/11/2020 Introduzione ai sistemi informatici 14
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 02/11/2020 Introduzione ai sistemi informatici 15
Le infrastrutture hardware La connettività Introduzione ai sistemi informatici
Gestire informazione creare, acquisire IN presentare, attuare elaborare archiviare comunicare OUT PROCESS tradizionalmente l’enfasi è su mentre oggi si sta spostando su … cioè sull’interconnessione in rete dei sistemi di elaborazione … 02/11/2020 Introduzione ai sistemi informatici 17
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. 02/11/2020 Introduzione ai sistemi informatici 18
Perché una rete? Ø Condividere risorse • utilizzo razionale di dispositivi costosi • modularità della struttura • affidabilità e disponibilità Ø Comunicare tra utenti • scambio informazioni • collaborazione a distanza 02/11/2020 Introduzione ai sistemi informatici 19
Perché una rete? Reti di dimensioni medio-piccole (un ufficio, un’aula, …) Condivisione di risorse fisiche Condivisione di risorse informative Reti di dimensioni medio-grosse (una regione, un’azienda, …) 02/11/2020 Introduzione ai sistemi informatici 20
La struttura dei sistemi informatici come metafora dell’organizzazione dei sistemi informativi Mainframe-terminali : : : Informazione centralizzata 02/11/2020 PC stand alone : ; : : Informazione “sparpagliata” Introduzione ai sistemi informatici Rete di PC : ; : : Informazione distribuita e coordinata 21
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 02/11/2020 Introduzione ai sistemi informatici 22
Tecnologia di comunicazione multipunto : : : : punto-a-punto : : si entra nella rete connettendosi a: la linea comune un nodo già connesso la riconfigurabilità il vantaggio principale: il problema principale: la condivisione della linea l’estendibilità l’instradamento Soluzione adatta quando la rete è: totalmente controllabile solo localmente 02/11/2020 Introduzione ai sistemi informatici 23
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). 02/11/2020 Introduzione ai sistemi informatici 24
Interconnessione di reti Y LAN B LAN LAN B X G G WAN G LAN G B WAN LAN Z 02/11/2020 Introduzione ai sistemi informatici 25
I mezzi di trasmissione Ø Qual è il mezzo fisico utilizzato per realizzare il canale di trasmissione? • mezzi guidati • • linee fisiche 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, … 02/11/2020 Introduzione ai sistemi informatici 26
Mezzi guidati Doppino telefonico Cavo coassiale Conduttore di segnale Isolante Calza Guaina protettiva Cladding Fibra ottica Fonte di emissione luminosa (laser) Core Guaina protettiva opaca 02/11/2020 Introduzione ai sistemi informatici 27
Mezzi guidati Mezzo di Velocità di Larghezza trasmissione 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 10 -160 km 02/11/2020 Introduzione ai sistemi informatici 28
Mezzi non guidati Ø i segnali vengono trasmessi e ricevuti mediantenne Ø Lo spettro di frequenze utilizzato nelle trasmissioni non guidate può essere suddiviso in tre intervalli: • l’antenna del trasmettitore irradia nello spazio onde elettromagnetiche, che l’antenna ricevente capta • può essere direzionale (punto-a-punto) o non direzionale (multipunto). • [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. 02/11/2020 Introduzione ai sistemi informatici 29
Trasmissione sincrona/asincrona Ø Trasmettitore e ricevitore debbono cooperare: Ø Trasmissione sincrona: Ø Trasmissione asincrona: Ø Direzione della trasmissione • i dati vengono tipicamente trasmessi un bit per volta lungo il canale (trasmissione seriale) • la temporizzazione di questi bit deve essere la stessa trasmettitore e ricevitore • 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. • 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. • 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) 02/11/2020 Introduzione ai sistemi informatici 30
Il canale di comunicazione: linea dedicata/commutata Ø linea dedicata • 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à: 02/11/2020 • commutazione di circuito • commutazione di pacchetto Introduzione ai sistemi informatici 31
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. Ø 02/11/2020 Introduzione ai sistemi informatici 32
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 !!! 02/11/2020 Introduzione ai sistemi informatici 33
Commutazione di circuito B Trasferimento dati A 2 4 Segnali di richiesta chiamata Segnale di accettazione chiamata Rilascio del circuito Ritardo di propagazione 02/11/2020 Ritardo di ricerca nodo Introduzione ai sistemi informatici Tempo 34
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 02/11/2020 Introduzione ai sistemi informatici 35
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 02/11/2020 Introduzione ai sistemi informatici 36
Commutazione di pacchetto Pacchetto di accettazione chiamata Pacchetti dati D Pacchetto di richiesta chiamata 02/11/2020 Pacchetto di conferma ricezione 6 1 2 Tempo Introduzione ai sistemi informatici A 37
Commutazione di pacchetto W 1 1 A 1 X 2 2 Y 02/11/2020 B 2 2 Z Introduzione ai sistemi informatici 38
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. Ø 02/11/2020 Introduzione ai sistemi informatici 39
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 02/11/2020 Introduzione ai sistemi informatici 40
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. 02/11/2020 Introduzione ai sistemi informatici 41
Diverse Bus topologie di rete locale Anello Stella 02/11/2020 Introduzione ai sistemi informatici 42
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. 02/11/2020 Introduzione ai sistemi informatici 43
Rete client-server CLIENT 1 Risposta CLIENT 2 Richiesta Risposta SERVER CLIENT 4 Richiesta Risposta 02/11/2020 CLIENT 3 Risposta Introduzione ai sistemi informatici 44
Interconnessione di LAN Ø Repeater Ø Bridge Ø Router Ø Gateway • Collega reti identiche, • Rigenera i segnali in transito tra una rete e l’altra. • 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. • 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. • Creare dei collegamenti tra reti con ambienti applicativi differenti. 02/11/2020 Introduzione ai sistemi informatici 45
Le infrastrutture software Architettura del SW di rete Il Sistema Operativo di rete Introduzione ai sistemi informatici
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 … • • ogni protocollo gestisce univocamente una componente ben definita della comunicazione ogni protocollo condivide con gli altri protocolli i dati di cui essi necessitano. • • 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. Definire tutte queste proprietà tramite un unico protocollo è praticamente impossibile, per questo si definisce un insieme di protocolli: Architettura di protocolli organizzata a livelli: • 02/11/2020 Introduzione ai sistemi informatici 47
Per comunicare … /1 … è necessario che esista un canale fisico adatto (requisito per la connessione fisica) come? ok! 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 48
Per comunicare … /2 … è necessario avere competenze linguistiche comuni (requisito per la trasmissione) mi capisci? what? I can hear you, but I don’t understand certamente! what you’re saying ! occorre concordare dei protocolli di trasmissione: delle regole per interpretare i segnali “a basso livello” 02/11/2020 Introduzione ai sistemi informatici 49
Per comunicare … /3 … è necessario avere competenze di contenuto comuni (requisito per la comunicazione) possiamo parlare di trasmissione dati? prego? ? ? non spererai che ti capisca o che ti pure! dica bene: cominciamo qualcosa al riguardo ? ! occorre concordare un protocollo applicativo: delle regole per interpretare i segnali “ad alto livello” 02/11/2020 Introduzione ai sistemi informatici 50
Si comunica! cosa pensi dei problemi attuali di TCP/IP? ritengo che IPv 6 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) 02/11/2020 Introduzione ai sistemi informatici 51
L’architettura del sistema per la gestione della comunicazione contenuto della comunicazione 02/11/2020 sottosistema C protocolli applicativi sottosistema B protocolli di trasmissione sottosistema A infrastrutture fisiche Introduzione ai sistemi informatici 52
La struttura di Internet il contenuto della comunicazione … Posta elettronica Login remoto protocollo applicativo: livello applicativo NNTP SMTP/POP protocolli di trasmissione: livello di trasmissione Copia di files World Wide Web TELNET FTP HTTP TCP/IP infrastruttura telematica: livello di connessione fisica 02/11/2020 Introduzione ai sistemi informatici 53
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. 02/11/2020 Introduzione ai sistemi informatici 54
Applicazione Unità di trasmissione dati a livello applicazione Applicazione Presentazione Unità di trasmissione dati a livello presentazione Presentazione Sessione Unità di trasmissione dati a livello sessione Sessione Trasporto Unità di trasmissione dati a livello trasporto Trasporto Limite della sottorete di interconnessione Rete Pacchetto Rete Data link Frame Data link Fisico Bit Fisico HOST A 02/11/2020 Router Introduzione ai sistemi informatici HOST B 55
TCP/IP Ø Modello “Internet” impostato su un’architettura a cinque livelli: Ø Il successo di questa architettura si deve alle seguenti ragioni: • 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. • è stata ed è un’eccellente piattaforma per la realizzazione di applicazioni clientserver 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. 02/11/2020 Introduzione ai sistemi informatici 56
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; • … 02/11/2020 Introduzione ai sistemi informatici 57
Indirizzi TCP/IP Livello Applicazione HOST A HOST B Livello Applicazione App. Y App. X Punti di accesso al servizio (porte) Livello TCP Livello IP Connessione logica (TCP) Livello TCP Livello IP Indirizzo di rete (globale) Protocollo di accesso alla rete 1 Protocollo di accesso alla rete 2 ROUTER Livello Fisico (collegato a rete 1) Indirizzo del punto di collegamento alla sottorete Livello Fisico (collegato a rete 2) Livello IP Protocollo di accesso alla rete Rete 1 02/11/2020 Livello Fisico Introduzione ai sistemi informatici Rete 2 58
Da un livello all’altro Ø Ogni livello attraversato aggiunge un’intestazione (contiene informazioni utili alle funzioni proprie di quel livello ): • • 02/11/2020 TCP (porta TCP, checksum, numero d’ordine, …) IP (indirizzo host destinazione, indirizzo host mittente, …) rete (MAC address destinazione, MAC address mittente, …) … Introduzione ai sistemi informatici 59
Indirizzo IP (versione 4) Ø Ø 32 bit (cioè 4 byte) per un totale di 232 possibili indirizzi diversi; rappresentato in forma “dotted decimal” Ø strutturato in due parti: • successione di quattro numeri (uno per byte), separati da un punto (e. g. 102. 54. 97) • ognuno dei quattro numeri della notazione dotted decimal è compreso tra 0 e 255. • 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”. 02/11/2020 Introduzione ai sistemi informatici 60
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 Client Internet Server Utente 02/11/2020 Introduzione ai sistemi informatici 61
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) 02/11/2020 Introduzione ai sistemi informatici 62
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! Ø 02/11/2020 Introduzione ai sistemi informatici 63
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-sotto-domini, …) per semplificarne l’utilizzo. 193. 205. 101. 6 02/11/2020 DNS Introduzione ai sistemi informatici server 1. isttec. liuc. it 64
DNS Il nome DNS di un calcolatore è costituito da una successione di stringhe alfanumeriche separate da punti (per esempio, server 1. 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. 02/11/2020 Introduzione ai sistemi informatici 65
Come si passa da DNS a IP? Ø A ogni dominio è associato a un calcolatore responsabile del dominio • si consideri, per esempio, l’indirizzo server 1. 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 server 1. 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 • … 02/11/2020 Introduzione ai sistemi informatici 66
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. 02/11/2020 Introduzione ai sistemi informatici 67
Elementi di un SO di rete Utente Sistema Operativo Interprete comandi Gestione memoria Software applicativo 02/11/2020 Gestione processore Gestione rete Gestione periferiche Hardware Introduzione ai sistemi informatici File system 68
Soluzioni agli esercizi della Lezione 3 Introduzione ai sistemi informatici
Soluzione 1 0. 1001110112 = ? ? ? 10 0. 1001110012 = 1 * 2 -1 . 5 0 * 2 -2 + 0 0 * 2 -3 + 0 1 * 2 -4 +. 0625 1 * 2 -5 +. 03125 1 * 2 -6 +. 015625 0 * 2 -7 + 0 1 * 2 -8 +. 00390625 1 * 2 -9 +. 001953125 ______ 0. 61523437510 02/11/2020 Introduzione ai sistemi informatici 70
Soluzione 2. 61523437510 = ? ? ? 2 0. 615234375 1. 23046875 2. 4609375 4. 921875 9. 84375 19. 6875 39. 375 78. 75 157. 5 315 02/11/2020 1 0 0 1 1 1 0 1 1 . 61132812510 = 0. 1001110112 Introduzione ai sistemi informatici 71
- Slides: 71