La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi operativi. Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore 

Presentazioni simili


Presentazione sul tema: "Sistemi operativi. Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore "— Transcript della presentazione:

1 Sistemi operativi

2 Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore  Esempio: stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attivita’ e far comunicare le parti coinvolte Coordinamento e comunicazione anche su reti di calcolatori

3 Sistemi monoprocessore Anni ’40 e ’50: un solo programma in esecuzione (job) alla volta  monotasking Il computer a disposizione del programma dall’inizio alla fine della sua esecuzione Coda dei job, gestita FIFO (first in, first out) e/o con proprita’

4 Coda dei job

5 Svantaggi dei sistemi monoprocessore mono-tasking Nessuna interazione utente-programma Lentezza: la CPU non puo’ essere usata da nessun processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu’ lente di letture/scritture in Memoria) DOS e’ un SO monotasking: non si puo’ fare niente altro mentre si formatta un floppy o si memorizzano dati su disco

6 Time sharing Ripartizione del tempo di CPU tra tutti i processi che la vogliono Ogni job rimane in esecuzione solo per un quanto di tempo, poi l’esecuzione passa al prossimo job e il primo va in attesa  Esecuzione globale piu’ veloce Durata del quanto di tempo: tra 100 e 200 millisecondi  granularita’ molto fine A ciascun utente sembra di avere la CPU tutta per lui, solo piu’ lenta Time –sharing in sistemi mono-processore: multi-tasking (piu’ programmi inesecuzione con una sola CPU)

7 Sistemi multiprocessore Reti di calcolatori: vari calcolatori che si scambiano dati Es.: Internet Una rete e’ un sistema multiprocessore con una CPU su ogni calcolatore Anche singoli calcolatori con piu’ CPU Non solo coordinamento delle attivita’ di ogni processore, ma anche bilanciamento del carico sui processori

8 Tipi di software Software applicativo: programmi per svolgere compiti particolare, non gli stessi su diversi calcolatori  Fogli elettronici  Editori d testi  Giochi... Software di sistema: compiti comuni a tutti i calcolatori

9 Software di sistema Sistema operativo Software di utilita’: aumenta le funzionalita’ del SO Es.:  sw per comunicare via modem  sw per comprimere dati

10 Suddivisione del software

11 Sistema operativo: shell Shell (guscio): interfaccia tra SO e utenti Di solito grafica (GUI), ma anche testuale

12 Sistema operativo: kernel Kernel (nocciolo, nucleo): programmi per le funzioni base del calcolatore Da 100 Kilobyte a 100 Megabyte Kernel suddiviso 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

13 File manager Gestisce la memoria secondaria  Associa un nome di file ad una parte dello spazio di memoria  Fornisce metodi per accedere ai file  Rende trasparente la struttura fisica della memoria  Ottimizza l’occupazione di memoria Organizzazione dei file in cartelle (directory), gerarchia di cartelle

14 File Unica unita’ logica di informazione usata dal SO Fisicamente:  sequenza di byte che contiene informazioni omogenee  Es.: programma, testo, dati simili, … Tutti i dati vengono suddivisi in file I file vengono memorizzati nelle memorie di massa

15 Organizzazione dei file in memoria secondaria Organizzazione gerarchica Solo logicamente, nessuna relazione con la posizione fisica sulle memorie di massa Directory: gruppo di file e altre directory, piu’ elenco

16 Gerarchia ad albero Albero rovesciato (come genealogico) Nodi e collegamenti padre-figlio tra nodi Nodo: file o directory Nodi divisi per livelli Collegamenti tra nodi di livelli vicini: nodo sopra = padre, nodo sotto = figlio Ogni nodo ha un solo padre Padre piu’ in alto = radice I nodi file non hanno figli Per individuare un file:  Cammino (path) assoluto o relativo  lista di nomi di cartelle directory file

17 Operazioni su file Creazione Apertura Chiusura Cancellazione Copia Rinomina Visualizzazione Lettura Scrittura Modifica …

18 Gestione dell’I/O Gestione delle periferiche Rende trasparenti le caratteristiche fisiche delle periferiche Gestisce la comunicazione di segnali verso di loro Coordina l’accesso di piu’ utenti (processi) Driver delle periferiche (uno per ogni periferica)

19 Gestione della memoria principale Coordina l’uso della memoria principale Un solo programma alla volta  semplice: il programma viene caricato in M, eseguito, terminato prima del prossimo programma Piu’ programmi contemporaneamente   piu’ programmi e dati in M  tenere traccia dello spazio libero o liberatosi dinamicamente

20 Memoria virtuale Quando lo spazio richiesto e’ maggiore di quello fisico Sposta programmi e dati tra memoria principale e memoria di massa per avere in ogni momento quello che serve Lo spazio richiesto’ e’ diviso in pagine (qualche Kbyte) Solo le pagine necessari per iniziare sono caricate in M, le altre sono in M di massa Poi vengono scambite a seconda della necessita’  Svincola il codice di un programma dalla sua collocazione in memoria  Funziona come se si avesse piu’ memoria di quella reale

21 Altri moduli del SO Schedulatore (gestore processi): decide quali attivita’ mandare in esecuzione Dispatcher (gestore processori): decide l’assegnazione dei quanti di tempo a tali attivita’

22 Struttura del SO Interfaccia nucleo verso l’esterno hardware File systemGestore I/O Gestore processi Gestore memoria Gestore processori Servizi richiesti dagli utenti al SO nucleo

23 Bootstrap: avvio del SO All’inizio, la CPU ha in indirizzo fissato nel registro contatore di programma Indirizzo nella ROM (Read Only Memory), con programma di bootstrap che e’ sempre memorizzato li’ Trasferisce una parte prestabilita della M di massa in M principale (kernel del SO) Salto all’area di M principale con SO

24 Bootstrap

25 Programmi e processi Programma: insieme statico di istruzioni Processo: entita’ che tiene traccia dello stato dell’esecuzione di un programma  Posizione nel programma  Valori dei registri della CPU  Valori delle celle di M assegnate al programma Anche piu’ processi per lo stesso programma  Es.: due utenti che usano Word per scrivere due documenti diversi

26 Esempio  Ricetta = programma  Noi = processore  Ingredienti = dati in input  Attivita’ di leggere la ricetta, usare gli ingredienti, mescolare, cuocere = processo  Telefonata durante l’esecuzione della ricetta = interrupt  Il processo interrompre l’esecuzione, prende nota del punto (riga della ricetta,...) e gestisce l’evento  Alla fine della telefonata, l’esecuzione riprende e viene conclusa  Dolce = output

27 Gestione dei processi Scheduler: tiene traccia di tutti i processi Tabella dei processi in M principale Nuova richiesta di esecuzione di un programma  nuovo elemento nella tabella dei processi  Area di M assegnata per quel processo  Priorita’  Pronto (per essere eseguito) o in attesa (di qualche evento)

28 Dispatcher Divide il tempo in quanti (< 50 millisec.) Da’ un quanto ad ogni processo, uno alla volta Alla fine del quanto, segnale che passa la CPU ad un altro processo pronto Prima di passare al prossimo processo, la CPU esegue il programma di gestione delle interruzioni  Aggiorna la tabella dei processi  Salva lo stato (registri, celle di M,...)  Sceglie un altro processo dalla tabella

29 Time-sharing (condivisione di tempo)

30 Attesa Se il processo richiede operazioni ad altri dispositivi (es. Operazioni di I/O), la CPU rimarrebbe inutilizzata  lo scheduler mette il processo in stato di attesa, e il dispatcher sceglie un nuovo processo tra i pronti dalla tabella Quando l’operazione sara’ finita, lo scheduler dichiarera’ di nuovo pronto il processo

31 Riassumendo... I processi sono messi in una coda dei pronti Il processo in cima alla coda ha a disposizione la CPU per un quanto di tempo, fissato e uguale per tutti Quando il tempo finisce, viene interrotto e messo in fondo alla coda Se richiede un’operazione di I/O, va nel gruppo dei processi in attesa, quando l’operazione finisce viene rimesso in coda per la CPU La CPU va al primo in coda (o altre strategie) Durante la vita di un processo, vari stati:  In esecuzione: quando usa la CPU (solo un processo alla volta)  Pronto: quando aspetta la CPU  Bloccato: in attesa di un evento (es.: fine di op. di I/O)

32 Transizioni tra stati di un processo In esecuzione pronti Coda ordinata in attesa della CPU In attesa Insieme in attesa di eventi schedulazione richiesta di I/O conclusione I/O fine tempo, evento esterno

33 Modello client-server Ogni processo puo’ avere due ruoli Client: fa richiesta ad altri processi e aspetta le risposte Server: esegue i servizi richiesti e da’ le risposte al client Su un singolo calcolatore o su rete

34 Domande su SO Differenza tra programma e processo Passi eseguiti per una interruzione Stati in cui si puo’ trovare un processo Passaggi da uno stato ad un altro Moduli del kernel del SO La shell del SO

35 MS - DOS Sviluppato dalla Microsoft nel 1981 per il PC IBM Adottato da altri con PC IBM- compatibili Molto limitato: mono-utente, mono- tasking Circa 50 comandi per il SO

36 Comandi piu’ usati in MS - DOS DIR per vedere il contenuto di una directory COPY per copiare file DEL per cancellare un file REN per cambiare il nome a un file CD per muoversi in un altra directory MD per creare nuove directory RD per cancellare directory Nome file: per eseguire il file (se eseguibile)

37 File in MS - DOS Per individuare un file: cammino assoluto Un file system per ogni disco  anche nome del disco Esempio: C:\Dir1\Dir2\Dir3\file.txt Estensioni per file: .exe per programma eseguibile .sys per driver di sistema .txt per file di testo .c per programma in C .doc per documento Word

38 Unix SO multi-utente, multi-tasking, con time- sharing Concepito per poter funzionare su diverse piattaforme hardware Interprete dei comandi: shell Piu’ di 300 comandi, con opzioni Comando man per aiuto Forma di un comando: nome-comando [[-opzioni] argomenti]

39 Comandi Unix ls per vedere il contenuto di una directory cp per copiare file rm per cancellare file mv per spostare file cd per spostarsi in un’altra directory mkdir per creare una nuova directory ps per vedere tutti i processi attivi lp per stampare file who per vedere tutti gli utenti collegati

40 File in Unix Unico albero anche se ci sono piu’ dischi  non serve indicare il disco per denotare un file Radice: simbolo / Esempio: /dir1/dir2/dir3/file.txt

41 Windows Nato nel 1987, ispirato al Macintosh All’inizio era un’interfaccia grafica per DOS Windows ’95: SO mono-utente, multi-tasking, time-sharing DOS emulato in speciali finestre (per seguire vecchi applicativi per DOS) Pensato per una stazione di lavoro (il PC) che puo’ essere un client in una rete

42 Filosofia Windows -- 1 Interfaccia grafica Mouse che sposta un cursore Cut & paste (copia e incolla) Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, … Directory come cartelle Pulsanti Finestre: cornici con strumenti Menu di comandi

43 Filosofia Windows -- 2 L’utente non deve ricordarsi i nomi dei comandi, basta che selezioni col mouse:  un oggetto e  il comando da applicare all’oggetto File system (cioe’ l’albero): visualizzato come cartelle che contengono icone di file o di altre cartelle Cliccando su una cartella, si apre quella directory Icona del file: diversa a seconda del tipo di file

44 Word processor (editori di testi) Si sono diffusi assieme ai PC negli anni ’70 All’inizio, aspetto non importante: stampanti con pochi opzioni di caratteri Con l’avvento degli schermi grafici, ora su tutti i PC, tantissimi tipi e grandezze di caratteri Documento appare come sara’ stampato: WYSIWYG (what you see is what you get) Testo e grafici nello stesso documento

45 Word Il piu’ usato tra i word processor wysiwyg Microsoft Finestra in cui viene visualizzato il documento Cursore (barra verticale) indica il punto in cui si sta scrivendo Mouse per spostare il cursore Barra degli strumenti (parte alta della finestra) offre delle operazioni su porzioni di testo Menu che contengono operazioni correlate

46 Fogli elettronici (spreadsheet) Dati in forma tabellare (righe e colonne) Grafici basati su questi dati Visualizza una tabella organizzata in righe (1, 2, 3, …) e colonne (A, B, C, …)  ogni casella ha coordinate del tipo A3 Una casella puo’ contenere: numeri, testo, espressioni matematiche o logiche Cosa viene visualizzato in una cella? Numero o risultato dell’espressione

47 Collegamenti tra celle Tramite le espressioni Esempio:  La cella A1 contiene 5  La cella A2 contiene A1+1  nella cella A2 viene visualizzato 6  La modifica di A1 causa l’aggiornamento automatico di A2

48 Espressioni Somma, differenza, media,…, costanti numeriche, coordinate di altre celle Range: lista di celle adiacenti Esempio:  A2:A5  Media(A2:A5) o somma(A2:A5)

49 Excel Foglio elettronico di Microsoft per Windows Tabella = foglio di lavoro

50 Cose da sapere – sistemi operativi  A cosa serve il sistema operativo?  Che differenza c’e’ tra il software di base e il software applicativo?  A cosa serve la fase di bootstrap?  Quali sono i moduli principali di un sistema operativo?

51 Cose da sapere -- processi  Cos’e’ un processo? Che differenza c’e’ tra un processo e un programma?  Cosa si intende per ambiente mono-utente?  Cosa si intende per ambiente mono-tasking?  Qual’e’ il principale svantaggio di un ambiente mono-tasking?  Cosa si intende per ambiente multi-tasking?  Cosa si intende per time-sharing?  A che serve la coda dei processi pronti?

52 Cose da sapere -- processi  In quali stati puo’ essere un processo durante la sua vita?  Quando passa da uno stato ad un altro?  Cosa sono le interruzioni? A che servono?  Come vengono gestite le interruzioni?

53 Cose da sapere – processori e memoria  Quali sono i modi piu’ usati per gestire la coda dei processi pronti?  Cosa si intende per memoria reale e memoria virtuale?  A cosa serve la gestione della memoria secondaria?

54 Cose da sapere – file system  Cos’e’ un file?  Cos’e’ una directory?  Descrivi l’organizzazione gerarchica dei file sulla memoria secondaria.  Quali sono le differenze fondamentali tra I sistemi operativi DOS, Unix e Windows?

55 Cose da sapere – editori di testi e fogli elettronici  Cos’e’ un editore di testi?  Cosa si intende per elaboratore di testi wysiwyg?  Cos’e’ un foglio elettronico?  Come vengono collegate varie celle tra loro in un foglio elettronico, e a cosa serve questo collegamento?

56 Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e’ un nodo, con un suo indirizzo di rete Storia:  Prime reti, anni ’70: un calcolatore potente e tanti terminali  Anni ’80: reti locali (un edificio). Es.: Ethernet  Anni ’90: reti metropolitane (una citta’) e geografiche. Es (rete geo): Internet

57 Servizi di rete Quando programmi su elaboratori collegati in rete si scambiano comandi e dati Esempi:  Posta elettronica  Telnet  FTP

58 Posta elettronica Consente lo scambio di corrispondenza tra utenti di sistemi collegati in rete Il ricevente viene individuato dal suo indirizzo:  nome utente + indirizzo di rete della macchina su cui lavora  Es.: Vantaggi:  Ricevere messaggi anche se assenti  Spedire messaggi a piu’ utenti Scrittura messaggio: sul client Invio e ricezione: mail server (uno per una rete)

59 Telnet o ssh Consente la connessione ad un server remoto Viene creato un ’’terminale virtuale’’ per lavorare su un elaboratore remoto Permette di accedere al proprio elaboratore, se collegato in rete, da qualunque altro punto della rete Basta specificare l’indirizzo del server Es.: ssh galileo.math.unipd.it Bisogna essere utenti autorizzati su quel server (nome utente e password)

60 FTP (File Transfer Protocol) Trasferire file da un elaboratore ad un altro (copia di un file tra due elaboratori in rete) Utenti riconosciuti sul server dove si vuole copiare Comandi in ambiente FTP:  Open per attivare la connessione con un server remoto (es.: open galileo.math.unipd.it)  Ls, cd per posizionarsi su un certo directory  Get, put per mettere o prendere un file  Close, bye per chiudere la sessione

61 Topologie di collegamento -- 1 Punto a punto: collega direttamente due nodi della rete Bus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti) Stella: un singolo elaboratore collegato punto a punto con tutti gli altri (molto usata per reti locali)

62 Topologie di collegamento -- 2 Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane) Maglia: collegamenti punto a punto  Maglia incompleta (ma tutti i nodi sono raggiungibili)  Maglia completa

63 Collegamenti tra reti Bridge (ponte): se le reti sono compatibili  Diventa una rete unica piu’ grande Router (instradatore): se non sono compatibili  Permette di mandare dati dall’una all’altra

64 Internet – storia 1 Nata negli anni ’60 col nome di Arpanet Obbiettivo: collegare in un unica rete tutti i calcolatori di vari siti militari Motivi:  condividere le ricerche  comunicare anche in caso di attacco nucleare (tanti cammini alternativi tra due calcolatori) All’inizio: 4 calcolatori negli USA

65 Internet – storia 2 Nel 1973: connessioni all’Inghilterra e alla Norvegia Anni ’80: anche altre grandi reti accademiche e scientifiche 1982: TCP/IP come protocollo standard Ora: Internet collega decine di migliaia di reti in tutto il mondo

66 Topologia di Internet Collezione di domini Ogni dominio e’ una rete con la sua topologia ICANN (Internet Corporation for Assigned Names and Numbers) assegna i domini Router (gateway) per agganciare un dominio al resto di Internet

67 Domini di Internet

68 Indirizzi su Internet Ogni computer ha un indirizzo univoco: indirizzo IP 32 bit: dominio (identificatore di rete) + calcolatore nel dominio (indirizzo host) Es.: Dominio di Addison-Wesley Indirizzo dell’host

69 Nomi per domini Anche indirizzo mnemonico per ogni dominio  Es.: aw.com com e’ un top-level domain (dominio di alto livello) Altri esempi: edu (universita’ americane), gov, org, it Nomi anche per i calcolatori all’interno di un dominio (scelti localmente)  Es. : pippo.aw.com

70 Posta elettronica su Internet Es.: unipd.it  Dominio di primo livello it (Italia)  Dominio di secondo livello unipd (Univ. Padova) Oppure: math.unipd.it Le persone in Internet sono individuate da un nome utente che e’ unico nel loro dominio. Es.: frossi e’ unico nel dominio math.unipd.it Posta elettronica verso una prsona di un dominio: server di posta elettronica Indirizzo: elettronica Di solito non si scrive  Es.:

71 Non solo posta elettronica Anche scambio di documenti multimediali (testo, immagini, suoni,...) e ipertestuali (collegati ad altri documenti) WWW= Ipertesto distribuito Ipertesto: documento testuale in formato elettronico dove la lettura non e’ sequenziale come nei normali libri, ma va da pagina a pagina collegata Collegamenti attraverso le hot word (parole sottolineate), su cui si puo’ cliccare per visualizzare un’altra pagina Collegamenti a pagine sullo stesso server o anche su un altro server  WWW (World Wide Web)

72 Architettura del WWW Software client (su ogni PC che vuole accedere ai documenti del WWW) e server (sui calcolatori dove sono i documenti richiesti) Programma client: browser, per visualizzare le pagine (testo, grafica, …) provenienti dal server con cui si comunica Il server la invia in formato HTML (Hypertext Markup Language): file di caratteri ASCII piu’ comandi per l’impaginazione e i collegamenti Browser piu’ usati: Netscape e Explorer

73 URL Ogni risorsa su Internet (pagina, file, immagine, …) e’ identificata dal suo URL (Uniform Resource Locator) Formato degli URL: protocollo://host.dominio/cammino/nome Protocollo: tipo della risorsa e protocollo da usare. Es.: file, ftp, http, telnet Host.dominio: indirizzo del server dove trovare la risorsa. Es.: cammino/nome individua il file nel file system del server. Es.:

74 Esempio di URL

75 Netscape Uno dei browser piu’ usati (assieme ad Explorer) Attivando Netscape, viene aperta una finestra dove vengono visualizzate le pagine ipertestuali di WWW Barra degli strumenti per controllare la navigazione in Internet  Spostarsi avanti e indietro fra le pagine gia’ caricate  Aprire una nuova pagina  Salvare una pagina sul proprio file system  Creare una lista di URL preferiti, per riaccedervi velocemente

76 HTML (Hyper Text Markup Language) Linguaggio per descrivere una pagina di ipertesto Specifica come dovra’ apparire quando sara’ visualizzata, quali collegamenti contiene e dove portano Comando in HTML: riguarda una porzione di testo, tag all’inizio e alla fine Es.: testo per il grassetto

77 Struttura di un documento HTML Titolo della pagina (viene usato dai motori di ricerca) Quello che sara’ visualizzato dal brower

78 Comandi di HTML Per definire un paragrafo (P) Per far apparire un testo in grassetto (B) o corsivo (EM) Per centrare un pezzo di testo (CENTER) Per realizzare una lista: primo elemento secondo elemento Per definire il colore dello sfondo: (codice RGB) Per inserire un collegamento: hotword html

79 Altro esempio di HTML

80 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:     

81 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

82 Protocolli di rete -- 1 Come collegare in rete elaboratori diversi? Anni ’70:  Elaboratori tutti uguali  Stesso sistema operativo  Un solo mezzo trasmissivo

83 Protocolli di rete -- 2 In seguito, elaboratori diversi ma stesso software di base Ma se si collegano sistemi diversi? Necessita’ di uno standard che regoli la realizzazione del software di comunicazione

84 Protocolli di rete -- 3 Nel 1978 l’ISO (International Standard Organization) propose il modello ISO/OSI (Open System Interconnection) per specificare il modo in cui elaboratori diversi comunicano tramite la rete Architettura di rete strutturata in sette livelli

85 Esempio: spedizione di un pacco Alla partenza:  Noi: Scriviamo l’indirizzo e diamo il pacco ad una ditta di spedizioni  Ditta di spedizioni 1: mette il pacco insieme ad altri in un container e lo da’ ad una compagnia aerea  Compagnia aerea: carica il container sull’aereo, fa il viaggio aereo All’arrivo:  Compagnia aerea: scarica il container e lo mette negli spazi della ditta di consegne 2  Ditta di consegne 2: estrae il pacco dal container e lo consegna all’indirizzo  Destinatario: riceve il pacco

86 Schema a tre livelli per l’esempio

87 Comunicazione su Internet Quattro livelli di software:  Applicazione (application)  Trasporto (transport)  Rete (network)  Connessione dati (data link)

88 Livello applicazione Software di utilita’ per richiedere la comunicazione via Internet Es.: FTP (software per trasferire file tra calcolatori) Es.: telnet o ssh (software per accedere ad un calcolatore in rete come se fossimo utenti locali) Analogo di noi che facciamo il pacco e scriviamo l’indirizzo giusto: deve specificare l’indirizzo IP del calcolatore con cui comunicare Aggiunge anche il numero di porta dell’applicazione

89 Livello trasporto Accetta messaggi dal livello applicazione Li divide in pacchetti e spedisce i pacchetti  Nei punti di smistamento di Internet, un messaggio lungo costringerebbe tutti gli altri messaggi ad aspettare la sua trasmissione completa Ad ogni pacchetto aggiunge:  dei bit per riconoscerli e riassemblare il messaggio alla destinazione  l’indirizzo IP della destinazione Passa i pacchetti cosi’ trasformati al livello di rete

90 Livello di rete Manda ogni pacchetto come un messaggio a se’ stante  Anche percorsi diversi per pacchetti dello stesso messaggio Controlla che i pacchetti arrivino a destinazione Ad ogni nodo intermedio, decide l’instradamento del pacchetto, cioe’ l’indirizzo di destinazione intermedia Aggiunge questo indirizzo al pacchetto e lo passa al livello di connessione

91 Livello connessione Traduce gli indirizzi di Internet associati ai pacchetti nel sistema di indirizzamento della rete di destinazione Reti diverse, esistenti anche prima di Internet

92 All’arrivo... Ogni pacchetto viene ricevuto dal livello connessione Lo passa al livello di rete Se destinazione finale = indirizzo locale   Lo passa al livello trasporto  Quando tutti i pacchetti arrivano al livello trasporto, ricostruisce il messaggio e lo passa al livello applicazione (col numero di porta giusto) Altrimenti, aggiunge un nuovo indirizzo intermedio e lo ripassa al livello connessione Solo livello connessione e rete nelle fermate intermedie

93 Riassumendo Livello applicazione: messaggi e indirizzi per un software di utilita’ Livello trasporto: da messaggi a pacchetti e viceversa Livello di rete: instradamento pacchetti attraverso Internet Livello connessione: trasmissione pacchetti tra computer all’interno di una rete Tempo totale: millisecondi

94 Livelli di Internet

95 TCP/IP Famiglia di protocolli a quattro livelli per Internet TCP e IP sono due protocolli a quattro livelli TCP e’ una versione del livello trasporto  Annuncia il messaggio al livello trasporto del calcolatore ricevente, e aspetta conferma della ricezione IP e’ lo standard per il livello di rete  Ogni volta che passa un pacchetto al livello connssione, aggiunge il tempo di vita (numero massimo di passaggi su rete), cosi’ si buttano i pacchetti persi  Es.: 64 e’ sufficiente

96 Protocollo ISO/OSI -- 1 Livello 7 – applicazione:  Fornisce i servizi che eseguono le applicazioni utente  Definisce le specifiche dei programmi che permettono di usare la rete (trasferimento file, condivisione risorse, …) Livello 6 – presentazione:  traduce i dati trasmessi sulla rete nel formato adatto al sistema di destinazione

97 Protocollo ISO/OSI -- 2 Livello 5 – sessione:  Gestisce il dialogo tra due programmi applicativi sulla rete, e il loro scambio di dati  Esempio: gestisce la ripresa di un trasferimento di file dopo un’interruzione per malfunzionamento su una linea Livello 4 – trasporto:  Controlla il trasferimento dei dati verso il nodo destinazione  Decomposizione in pacchetti  Controllo e correzione degli errori  Ricomposizione di pacchetti nel corretto ordine

98 Protocollo ISO/OSI -- 3 Livello 3 – rete:  Sceglie il percorso di rete piu’ adatto per giungere al nodo destinazione  Trova percorsi alternativi in caso di guasti Livello 2 – data link:  Gestisce la trasmissione affidabile dei dati tra due nodi adiacenti  Aggiunge codici per il controllo degli errori  Definisce le procedure di accesso ai mezzi trasmissivi condivisi Livello 1 – livello fisico:  Definisce gli aspetti elettrici e meccanici del collegamento tra due nodi  Caratteristiche cavi e connettori  Codifica dei bit per la trasmissione

99 Protocollo ISO/OSI -- 4 La trasmissione dei dati avviene solo al livello piu’ basso (livello 1) Ogni livello N comunica, tramite i livelli sottostanti, con il livello N dell’altro nodo Ogni livello aggiunge, ai dati che vengono dal livello superiore, delle informazioni di controllo, e passa il risultato (dati + info di controllo) al livello sotto I dati prodotto dal livello 1 vengono trasmessi

100 Protocollo ISO/OSI -- 5 Dati da trasferire

101 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7

102 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

103 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5

104 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4

105 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3

106 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2

107 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1

108 Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1 Al nodo destinazione

109 Cose da sapere -- reti  Cos’e’ una rete di calcolatori?  Che differenza c’e’ tra reti locali, reti metropolitane, e reti geografiche?  Cosa si intende per servizi di rete?  Fai degli esempi di servizi di rete  A cosa servono i servizi telnet e FTP?  Come si fa a collegare in rete calcolatori diversi e con SO differenti?  Cos’e’ il protocollo ISO/OSI?  Come sono fatti i protocolli a quattro livelli, e che ruolo ha ciascun livello?

110 Cose da sapere – reti e Internet  Quali sono le principali topologie di collegamento per le reti?  Cos’e’ Internet?  Come vengono individuati i nodi di Internet?  Cos’e’ un dominio?

111 Cose da sapere – WWW  Cos’e’ il WWW?  Cos’e’ un ipertesto?  Come sono collegate le pagine di WWW?  Cos’e’ un browser? A che serve?  Descrivi il sistema client-server di WWW  Cos’e un URL? Come e’ fatto? A che serve?  In che formato sono scritte le pagine del WWW?  A che servono i motori di ricerca?


Scaricare ppt "Sistemi operativi. Motivazione Molte attivita’ in parallelo su un singolo calcolatore  Esempio: terminali che richiedono servizi ad un calcolatore "

Presentazioni simili


Annunci Google