Sistemi operativi
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
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’

Coda dei job
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
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)

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
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
Software di sistema
Sistema operativo
 Software di utilita’: aumenta le funzionalita’
del SO
 Es.:

 sw
per comunicare via modem
 sw per comprimere dati
Suddivisione del software
Sistema operativo: shell
Shell (guscio): interfaccia tra SO e utenti
 Di solito grafica (GUI), ma anche testuale

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
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
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
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
Gerarchia ad albero









Albero rovesciato (come genealogico)
Nodi e collegamenti padre-figlio tra nodi
Nodo: file o directory
directory
Nodi divisi per livelli
file
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
Operazioni su file











Creazione
Apertura
Chiusura
Cancellazione
Copia
Rinomina
Visualizzazione
Lettura
Scrittura
Modifica
…
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)
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
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
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’

nucleo
Struttura del SO
Servizi richiesti dagli utenti al SO
Interfaccia nucleo verso l’esterno
File system
Gestore I/O
Gestore
processi
hardware
Gestore
memoria
Gestore
processori
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
Bootstrap
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
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)
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
 Salva lo stato (registri,
processi
celle di M, ...)
 Sceglie un altro processo dalla tabella
Time-sharing (condivisione di
tempo)
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
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)
Transizioni tra stati di un processo
In esecuzione
richiesta di I/O
schedulazione
pronti
fine tempo,
evento esterno
In attesa
conclusione I/O
Coda ordinata in
attesa della CPU
Insieme in attesa
di eventi
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
MS - DOS
Sviluppato dalla Microsoft nel 1981 per
il PC IBM
 Adottato da altri con PC IBMcompatibili
 Molto limitato: mono-utente, monotasking
 Circa 50 comandi per il SO

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)
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
Unix






SO multi-utente, multi-tasking, con timesharing
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]
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
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
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
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
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
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
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
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
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
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)
Excel

Foglio elettronico di Microsoft per
Windows

Tabella = foglio di lavoro
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?
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?
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?
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?
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?
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?
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
Servizi di rete
Quando programmi su elaboratori
collegati in rete si scambiano comandi e
dati
 Esempi:

 Posta
elettronica
 Telnet
 FTP
Posta elettronica


Consente lo scambio di corrispondenza tra
utenti di sistemi collegati in rete
Il ricevente viene individuato dal suo
indirizzo:
 nome
utente + indirizzo di rete della macchina su
cui lavora
 Es.: [email protected]



Vantaggi:
 Ricevere messaggi anche se assenti
 Spedire messaggi a piu’ utenti
Scrittura messaggio: sul client
Invio e ricezione: mail server (uno per una
rete)
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)
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
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)
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
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
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
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

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

Domini di Internet
Indirizzi su Internet
Ogni computer ha un indirizzo univoco:
indirizzo IP
 32 bit: dominio (identificatore di rete) +
calcolatore nel dominio (indirizzo host)
 Es.: 192.207.177.133

Indirizzo dell’host
Dominio di Addison-Wesley
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
Posta elettronica su Internet






Es.: unipd.it
 Dominio
 Dominio
di primo livello it (Italia)
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: utente@server-di-postaelettronica
Di solito non si scrive
 Es.:
[email protected]
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)

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
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.: www.math.unipd.it
cammino/nome individua il file nel file system
del server.
Es.:
http://www.math.unipd.it/~frossi/frossi.html
Esempio di URL
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
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.: <b> testo </b> per il grassetto
Struttura di un documento HTML
<HTML>
<HEAD>
<TITLE>
Titolo della pagina (viene usato dai motori di
ricerca)
</TITLE>
</HEAD>
<BODY>
Quello che sara’ visualizzato dal brower
</BODY>
</HTML>
Comandi di HTML






Per definire un paragrafo (P)
Per far apparire un testo in grassetto (B) o
corsivo (EM)
Per centrare un pezzo di testo (CENTER)
Per realizzare una lista: <UL> <LI> primo
elemento <LI> secondo elemento </UL>
Per definire il colore dello sfondo: <BODY
COLOR = “\#xxyyzz”> (codice RGB)
Per inserire un collegamento: <A
HREF=http://www.math.unipd.it/~frossi/file.
html>hotword</a>
Altro esempio di HTML
Motori di ricerca -- 1




Per poter accedere ad un sito Internet,
dobbiamo sapere il suo URL
Troppi siti, e nuovi siti ogni giorno  non ci
sono indici di tutti i siti
I motori di ricerca permettono di specificare
alcune parole chiave, e trovano i siti piu’
rilevanti per queste parole
Alcuni motori di ricerca:





www.google.com
www.yahoo.com
www.lycos.com
www.virgilio.it
www.arianna.it
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
Protocolli di rete -- 1


Come collegare in rete elaboratori
diversi?
Anni ’70:
 Elaboratori
 Stesso
 Un
tutti uguali
sistema operativo
solo mezzo trasmissivo
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
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


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
Schema a tre livelli per l’esempio
Comunicazione su Internet

Quattro livelli di software:
 Applicazione
(application)
 Trasporto (transport)
 Rete (network)
 Connessione dati (data link)
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
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
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
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

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
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
Livelli di Internet
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
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
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
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
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
Protocollo ISO/OSI -- 5
Dati da trasferire
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
Protocollo ISO/OSI -- 5
Dati da trasferire
Livello 7
Livello 6
Livello 5
Livello 4
Livello 3
Livello 2
Livello 1
Al nodo destinazione
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?
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?
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?
Scarica

Sistemi operativi - Dipartimento di Matematica