Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... ·...

100
Fondamenti di Informatica Reti e Sistemi Operativi Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2017/18 Reti e Sistemi Operativi

Transcript of Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... ·...

Page 1: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

FondamentidiInformaticaReti eSistemiOperativi

Prof. Chr i st ian Espos i toCorso d i Laurea in Ingegner ia Meccanica e Gest iona le (C lasse I )A .A . 2017/18

RetieSistemiOperativi

Page 2: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 1/13Una delle tecnologie dominanti ai nostri giorni e la capacità di scambiareinformazioni, anche su vasta scala geografica.

Questo è stato fortemente consentita dalla possibilità di interconnetteretra loro i calcolatori formando una cosiddetta rete. Ciò ha posto le basialla nascita dei sistemi distribuiti, ovvero sistemi hardware software chesi presentano in maniera omogenea all’utente sebbene siano suddivisi inprogrammi in esecuzioni su computer geograficamente distribuiti.

• Quando si usa il bancomat, l’utente interagisce con un terminaleche acquisisce gli input dall’utente ed interroga un server remotoper l’esecuzione delle operazioni.

02/100RetieSistemiOperativi

Page 3: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 2/13Le reti di calcolatori sono classificate in base alla loro estensione:

È impensabile pensare di effettuare collegamenti tra tutti i possibilicomputer di una rete, pertanto sussistono vari dispositivi di rete per uncablaggio (collegamento fisico dei computer) in una rete.

03/100RetieSistemiOperativi

Page 4: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 3/13

RetieSistemiOperativi 04/100

A. Hub (livello 1) – un ripetitore cheritrasmette i pacchetti su tutte lesue porte di uscita;

B. Bridge (livello 2) – Divide una retein sotto-reti, usando indirizzi fisiciassociati ai computer peridentificare a quale sottoreteinviare un messaggio;

C. Switch (livello 2) – Instradamentopacchetti all'interno delle reti LANmediante indirizzo fisico delladestinazione;

D. Router (livello 3) – Istradamentotra sotto-reti direttamente oindirettamente raggiungibilimediante indirizzi IP.

Page 5: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 4/13

RetieSistemiOperativi 05/100

Le reti di calcolatori adottano latecnica della commutazione dipacchetto: i dati da trasmettere sonosuddividi in una sequenza di byte conuna determinata struttura, opacchetti, trasmessi individualmentee in sequenza, senza stabilire a prioriun percorso da seguire. Si differenziadalla commutazione di circuito nellatelefonia.

La commutazione di pacchetto si sviluppa a metà degli anni '60, pergarantire le comunicazioni anche in caso di attacco nucleare, e sopperirealla scomparsa improvvisa di alcuni nodi o di intere porzioni della rete.

Page 6: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 5/13

RetieSistemiOperativi 06/100

All'interno di ogni nodo appartenente alla rete, lo stato difunzionamento dei vari altri nodi ad esso direttamente collegati èaggiornato continuamente. Sulla base di queste informazioni, il nodoattualmente in possesso di un particolare pacchetto può determinare divolta in volta il migliore percorso da far seguire ai dati in modo cheraggiungano il nodo destinatario nel minor tempo possibile.

Una porzione specificadel pacchetto, dettoheader, vi sono infor-mazioni di controllocome l’indirizzo deldestinatario.

Page 7: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 6/13

RetieSistemiOperativi 07/100

Ogni computer dispone di una scheda di rete (NetworkInterface Controller – NIC), ovvero una schedaelettronica alloggiata all'interno di un personalcomputer, server, stampante, router ecc., offrendo lefunzioni necessarie per la comunicazione in rete.

Un'etichetta numerica identifica univocamente undispositivo, detto host collegato a una reteinformatica:

• Un indirizzo MAC è un codice di 48 bitassegnato univocamente dal produttore adogni scheda, modificabile a livello software.

Page 8: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 7/13

RetieSistemiOperativi 08/100

• Un indirizzo IP è un'etichetta numerica a 32 bit che identificaunivocamente un dispositivo, detto host, collegato a una reteinformatica che utilizza l'Internet Protocol come protocollo di rete.

Per rendere gli indirizzi IP più facili da ricordare, si ricorre ad unarappresentazione mnemonica, associando un nome leggibile ad undeterminato indirizzo.L’associazione tra indirizzo mnemonico e quello IP viene risolto da unapposito servizio su rete chiamato Domain Name System – DNS.

Page 9: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 8/13

RetieSistemiOperativi 09/100

https://www.dnswatch.info

Page 10: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 8/13

RetieSistemiOperativi 10/100

https://www.dnswatch.info

Page 11: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 9/13

RetieSistemiOperativi 11/100

Per visualizzare gli indirizzo associati alle schede del proprio PC i sistemioperativi forniscono in genere un comando specifico da digitare su shelltestuale: per Windows è ipconfig /all, mentre per Linux o MAC OS èifconfig –a:

Page 12: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 10/13

RetieSistemiOperativi 12/100

Una serie di protocolli sono necessari per implementare tutte lefunzionalità necessarie per la gestione delle connessioni su rete,scambiare dati e implementare la commutazione di pacchetto.

L’Open System Interconnection (OSI) è uno standardper reti di calcolatori promosso dall’InternationalOrganization for Standardization (ISO) che definiscetali protocolli e come si relazioni uno con l’altro persupportare la comunicazione su rete.

Il modello ISO/OSI è una pila di protocolli compostada 7 livelli, ognuno regola una precisa parte delprocesso di comunicazione ed è legato a quello chelo segue e a quello che lo precede.

Page 13: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 11/13

RetieSistemiOperativi 13/100

Livello 1 – Fisico -- Protocolli che regolano latrasmissione dei dati a livello fisico.Livello 2 – Collegamento -- Protocolli per formarei pacchetti di dati da far viaggiare (framing).Livello 3 – Rete -- Protocolli per l’attività dirouting (instradamento).Livello 4 – Trasporto – Protocolli per il trasportofisico dei dati, come la connessione tra i due host.Livello 5 – Sessione – Protocolli per instaurare,mantenere e abbattere connessioni traapplicazioni cooperanti (sessioni).Livello 6 – Presentazione -- Protocolli pertrasformare i dati delle applicazioni in un formatostandard e offrire servizi di comunicazionecomuni, come la crittografia e la formattazione.Livello 7 – Applicazione -- I protocolliinteragiscono direttamente con i programmi conmoduli di comunicazione di rete (come adesempio i client di posta elettronica).

Page 14: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 12/13

RetieSistemiOperativi 14/100

• Internet Protocol (IP) è un protocollo classificato al livello di rete (3) delmodello ISO/OSI, nato per interconnettere reti eterogenee realizzandol’indirizzamento e l'instradamento (commutazione), senza connessione edi tipo best effort.

• Transmission Control Protocol (TCP) è un protocollo di livello di trasportoche si occupa di rendere affidabile la comunicazione dati in rete e su diesso si appoggiano gran parte delle applicazioni su rete. Prima ancora deltrasferimento dei dati, TCP si occupa di riservare risorse tra processiapplicativi che si scambiano informazioni o servizi tra loro (es. server eclient).

• User Datagram Protocol (UDP) è un protocollo di livello di trasporto chenon gestisce il riordinamento né la ritrasmissione dei pacchetti, ed èperciò non affidabile. In compenso è molto rapido ed efficiente per leapplicazioni time-sensitive come trasmissioni di informazioni audio-videoin real-time.

• TCP e UDP vengono usati in combinazione con il protocollo di livello direte IP, e tali combinazioni rendono il nome di TCP/IP o UDP/IP

Page 15: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Retidicalcolatori– 13/13

RetieSistemiOperativi 15/100

I dispositivi di rete, come i router, nondispongono di tutti i livelli ISO/OSI, ma solo i trelivelli inferiori. Gli altri comprendono tutto ciòche serve a connettere tra loro i due utentifinali. I tre livelli inferiori hanno funzioni di tipobox-to-box, mentre quelli di livello superiorehanno funzioni di tipo end-to-end.

Page 16: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IntroduzionealWeb– 1/2Il World Wide Web (letteralmente "rete di grandezza mondiale"),abbreviato Web, nel corso degli anni è emergo some una tecnologia percondividere informazioni su Internet. Recentemente, (con l’avvento deiservizi web) rappresenta anche un mezzo per integrare applicazioni suInternet, ovvero consentire ad applicazioni diverse tra loro di poterinteragire e condividere informazioni.

Permette di navigare e usufruire di un insieme vastissimo di contenutiamatoriali (multimediali e non) collegati tra loro attraverso legami (link),e di ulteriori servizi accessibili a tutti o ad una parte selezionata degliutenti di Internet. Questa facile reperibilità di informazioni è resapossibile oltre che dai protocolli di rete anche dalla presenza, diffusione,facilità d'uso ed efficienza dei motori di ricerca e dei web browser in unmodello di architettura di rete definito client/server.

RetieSistemiOperativi 16/100

Page 17: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il World Wide Web (letteralmente "rete di grandezza mondiale"),abbreviato Web, nel corso degli anni è emergo some una tecnologia percondividere informazioni su Internet. Recentemente, (con l’avvento deiservizi web) rappresenta anche un mezzo per integrare applicazioni suInternet, ovvero consentire ad applicazioni diverse tra loro di poterinteragire e condividere informazioni.

Permette di navigare e usufruire di un insieme vastissimo di contenutiamatoriali (multimediali e non) collegati tra loro attraverso legami (link),e di ulteriori servizi accessibili a tutti o ad una parte selezionata degliutenti di Internet. Questa facile reperibilità di informazioni è resapossibile oltre che dai protocolli di rete anche dalla presenza, diffusione,facilità d'uso ed efficienza dei motori di ricerca e dei web browser in unmodello di architettura di rete definito client/server.

::..IntroduzionealWeb(2/3)

RetieSistemiOperativi 17/100

Page 18: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IntroduzionealWeb– 2/2Il Web è uno spazio elettronico e digitale di Internet destinato allapubblicazione di contenuti multimediali (testi, immagini, audio, video,ipertesti, ipermedia, ecc.) nonché uno strumento per implementareparticolari servizi per offrire funzionalità di download file, invio email,prenotazioni biglietti e altro.

Un servizio web è un sistemasoftware progettato per offriredeterminate funzionalità e persupportare interoperabilità tradiversi elaboratori su di unamedesima rete ovvero in uncontesto distribuito.

RetieSistemiOperativi 18/100

Page 19: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 1/10Internet è un sistema globale di reti di calcolatori, compostainterconnettendo singole reti con un approccio gerarchico.

Attualmente la topologia di Internet risulta molto complessa, mageneralmente si compone dell’interconnessione di sistemi autonomi(Autonomous Systems, AS), ovvero un gruppo di router e reti sotto ilcontrollo di una singola e ben definita autorità amministrativa.

RetieSistemiOperativi 19/100

Page 20: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 2/10Gli albori di Internet corrispondono con il progetto ARPAnet, una rete dicomputer realizzata nel 1969 dal DARPA, l'agenzia del Dipartimento dellaDifesa degli Stati Uniti responsabile per lo sviluppo di nuove tecnologiead uso militare. Per tutti gli anni Settanta ARPAnet continuò a svilupparsiin ambito universitario e governativo, ma dal 1974, con l'avvento diTCP/IP, il progetto della rete prese ad essere denominato Internet.

PrimorouterdiARPANET

MappadiARPANET

RetieSistemiOperativi 20/100

Page 21: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 3/10I due iniziali standard per lo scambio di informazioni erano:

• Il protocollo Telnet è solitamente utilizzato per fornire all'utentesessioni di login remoto di tipo riga di comando tra host su Internet.

RetieSistemiOperativi 21/100

Page 22: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 3/10I due iniziali standard per lo scambio di informazioni erano:

• Simple Mail Transfer Protocol (SMTP) è il protocollo per latrasmissione di email, mentre per la ricezione abbiamo POP e IMAP.

MittenteE-mail DestinatarioE-mail

ServerGmail ServerHotmail

RetieSistemiOperativi 22/100

Page 23: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 4/10

Dopo è stato pubblicato File Transfer Protocol(FTP), per trasferimenti di file tra nodi suInternet, e ha consentito lo sviluppo dei primisistemi informativi distribuiti simile al Web,come

• Archie, un file system distribuito per ricercare file su server FTP,

• Gopher, per la pubblicazione e l’accesso di file di testo su Internet.

RetieSistemiOperativi 23/100

Page 24: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 5/10Le tecnologie alla base del mondo del Web sono un’evoluzione di questiiniziali sistemi e protocolli:

• HyperText Transfer Protocol (HTTP) è un protocollo generico e senzastato per trasferire file sulla rete. Generico nel senso che consentel’accesso verso altri protocolli come FTP e SMTP.

HTTP originariamente avevo il compito discambiare ipertesti espressi secondo lo standardHyperText Markup Language (HTML), dove iclient effettuavano una precisa richiesta eseguiva la consegna dell’ipertesto chesoddisfaceva la richiesta.

• HTML è il linguaggio di markup solitamente usato per laformattazione e impaginazione di documenti ipertestuali disponibilinel World Wide Web sotto forma di pagine web.

RetieSistemiOperativi 24/100

Page 25: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 6/10

L'HTML non è un linguaggio diprogrammazione, di gestire i contenutiassociandone allo stesso tempo la strutturagrafica (layout) grazie all'utilizzo di tag diversi,ognuno specifica un diverso ruolo deicontenuti che esso contrassegna.

• HTTP effettua la scambio di documentiHTML identificati univocamente usando unUniform Resource Identifiers (URI):identificati univocamente con UniformResource Name (URN) e sono indirizzabiliper mezzo di Uniform Resource Locators(URL), che specifica la locazione nella retedel documento, e descrive come accedervi.

RetieSistemiOperativi 25/100

Page 26: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 7/10

• HTTP è basato su un modello di interazione di tipo client/server:

RetieSistemiOperativi 26/100

Page 27: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 7/10

• HTTP è basato su un modello di interazione di tipo client/server:• è presente un client HTTP, come un browser;

HTTPClient

RetieSistemiOperativi 27/100

Page 28: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 7/10

• HTTP è basato su un modello di interazione di tipo client/server:• è presente un client HTTP, come un browser, e un server HTTP

che ospita un insieme di documenti ipertestuali in HTML.

HTTPClient

HTTPServer

RetieSistemiOperativi 28/100

Page 29: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 7/10

• HTTP è basato su un modello di interazione di tipo client/server:• è presente un client HTTP, come un browser, e un server HTTP

che ospita un insieme di documenti ipertestuali in HTML.• Internet pone in connessione il client e il server.

HTTPClient

HTTPServer

RetieSistemiOperativi 29/100

Page 30: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 7/10

• HTTP è basato su un modello di interazione di tipo client/server:• Attraverso la suite TCP/IP, il client apre una connessione ed effettua una

richiesta. Il server soddisfa la richiesta e ne restituisce l’esito.

HTTPClient

HTTPServer

RetieSistemiOperativi 30/100

Page 31: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 8/10

• Un client HTTP deve indicare nella richiesta l’operazione che devesvolgere il server:

• OPTIONS, per sapere le opzioni supportate dal server;• GET, per recuperare un determinato documento identificato da un URL,

oppure un documento ottenuto dall’esecuzione di un programma specificatonella richiesta;

• POST, per aggiungere o collegare le informazioni presenti nella richiesta allarisorsa indicata dal client;

• DELETE, per rimuovere dal server la risorsa indicata nella richiesta.

• Client e server HTTP possono non vedersi direttamente ma avere degliintermediari che si frappongono tra loro:

• HTTP Proxy: contattato direttamente dal client per invio richieste• HTTP Gateway: ricevente delle richieste per conto del server;• HTTP Tunnel: consente di incapsulare diversi protocolli all’interno del

protocollo HTTP, che funge da wrapper.

RetieSistemiOperativi 31/100

Page 32: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 9/10

HTTPClient

HTTPServer

HTTPProxy

HTTPGateway

HTTPTunnel

RetieSistemiOperativi 32/100

Page 33: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet(7/8)

HTTPClient

HTTPServer

HTTPProxy

HTTPGateway

HTTPTunnel

Per utilizzare un proxy è possibile configurare il client in modo che si colleghi al proxyinvece che al server, oppure definire un proxy trasparente; in questo caso, alcuneconnessioni (ad esempio quelle HTTP) vengono automaticamente indirizzate al proxy.Un proxy può essere usato per permettere ad una rete privata di accedere all'esterno, percaching, monitoraggio e controllo, e anche per garantire un maggiore livello di privacymascherando il vero indirizzo IP del client in modo che il server non venga a conoscenzadi chi ha effettuato la richiesta.

RetieSistemiOperativi 33/100

Page 34: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet(7/8)

HTTPClient

HTTPServer

HTTPProxy

HTTPGateway

HTTPTunnel

Un gateway HTTP è un server che funge da server originario ricevendo la richiesta per poirispondere. Il client richiedente potrebbe non essere consapevole di stare incomunicazione con un gateway. Il gateway viene utilizzato per interconnettere reti localidiverse in modo da permettere lo scambio di informazioni tra di loro.

RetieSistemiOperativi 34/100

Page 35: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet(7/8)

HTTPClient

HTTPServer

HTTPProxy

HTTPGateway

HTTPTunnel

Per tunneling si intendono le tecniche che incapsulano un protocollo all’interno di unaltro dello stesso livello o di livello superiore; in particolare l’HTTP-tunneling è unatecnica che consente di incapsulare diversi protocolli all’interno del protocollo HTTP, chefunge da wrapper, consentendo di far uscire sulla porta assegnata all’HTTP tutto il trafficoche altrimenti troverebbe lo sbarramento del firewall, creando una sorta di tunnelvirtuale. Lo scopo di un tunnel HTTP è di superare, ad esempio, le restrizioni allanavigazione imposte su una rete o i controlli del firewall.

RetieSistemiOperativi 35/100

Page 36: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ScambioInformazionisuInternet– 10/10Sebbene i suoi vantaggi e la larga diffusione, HTTP è soggetto a uninsieme di limitazioni, molte delle quali sono state affrontate per mezzodi una serie di estensioni dell’originario protocollo HTTP:

• Non sono presenti delle caratteristiche di sicurezza per proteggerele comunicazioni tra client e server da malintenzionati acompromettere i messaggi scambiati o a carpirne le informazionicontenute.

• Il protocollo è senza stato e non tiene traccia di dati per richiestediverse, e ogni richiesta è a se stante.

• Il protocollo è particolarmente verboso, e non risultaparticolarmente efficienze considerando i tempi di consegna e laquantità di traffico imposto sulla rete durante una sessione.

RetieSistemiOperativi 36/100

Page 37: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 1/7Un ipertesto è un insieme di documenti messi in relazione tra loro permezzo di parole chiave. Può essere visto come una rete; i documenti necostituiscono i nodi. La caratteristica principale di un ipertesto è che lalettura può svolgersi in maniera non lineare: qualsiasi documento dellarete può essere "il successivo", in base alla parola chiave scelta.

La scelta di una parola chiave diversa porta all'apertura di un documentodiverso: all'interno dell'ipertesto sono possibili praticamente infinitipercorsi di lettura.

RetieSistemiOperativi 37/100

Page 38: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 2/7L'ipertesto informatico è la versione di ipertesto più usata e più diffusaoggi. L'ipertesto consiste in un collegamento alla parola chiave(opportunamente evidenziata allo scopo), che talvolta appare nelloschermo anche sotto forma di icona o immagine.

Selezionando o posizionandosi su taleparola o oggetto e facendo clic con ilmouse oppure dando l'invio (pernavigazione basata sulla tastiera) siottiene come conseguenza l'apertura diun altro documento, che si può trovaresullo stesso server o altrove. Quindi leparole chiave funzionano comecollegamenti ipertestuali (hyperlink ininglese), che consentono all'utente dinavigare verso informazioni aggiuntive.

RetieSistemiOperativi 38/100

Page 39: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 3/7Dopo la nascita del World Wide Web (1993) l'ipertesto ha avuto unnotevolissimo sviluppo. Tutto il web, è stato concepito dall'inglese TimBerners-Lee, come un ipertesto globale in cui tutti i siti mondiali possonoessere consultati da tutti. La pagina web è il singolo documento e la"navigazione" è il passaggio da un sito all'altro, o da una pagina all’altra,tramite i "link".

RetieSistemiOperativi 39/100

Page 40: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 4/7Quando si naviga il Web, le pagineche si visualizzano sono soltantodocumenti di testo, immagini ed altrimedia, residenti su un computerremoto.

Il testo in una tipica pagina web èracchiuso tra tag HTML, cheforniscono al browser le informazionisulla struttura del documento. Sullabase di queste informazioni, ilbrowser provvederà a visualizzare icontenuti in una modalità cherispecchi la logica e la struttura deldocumento.

RetieSistemiOperativi 40/100

Un documento HTML corretto:<html>

<head><title>La mia prima pagina</title>

</head><body>

<h1>Salve!</h1><p>Grazie per aver visitato la mia pagina .</p><p>Spero che sia di vostro gradimento.</p><ul>

<li><a href=“Antipasti.html”>Antipasti</a></li><li><a href=“Pizze.html”>Pizze </a></li><li><a href=“Bevande.html”>Bevande</a></li>

</ul></body>

</html>

Page 41: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 4/7Quando si naviga il Web, le pagineche si visualizzano sono soltantodocumenti di testo, immagini ed altrimedia, residenti su un computerremoto.

Il testo in una tipica pagina web èracchiuso tra tag HTML, cheforniscono al browser le informazionisulla struttura del documento. Sullabase di queste informazioni, ilbrowser provvederà a visualizzare icontenuti in una modalità cherispecchi la logica e la struttura deldocumento.

RetieSistemiOperativi 41/100

Un documento HTML corretto:<html>

<head><title>La mia prima pagina</title>

</head><body>

<h1>Salve!</h1><p>Grazie per aver visitato la mia pagina .</p><p>Spero che sia di vostro gradimento.</p><ul>

<li><a href=“Antipasti.html”>Antipasti</a></li><li><a href=“Pizze.html”>Pizze </a></li><li><a href=“Bevande.html”>Bevande</a></li>

</ul></body>

</html>

Page 42: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 5/7I browser visualizzano alcuni elementi HTML, applicando stili differenti emolto elementari (i titoli sono grandi e in grassetto, i paragrafi sonoseguiti da una riga vuota e cosi via).

Per andare oltre questo rendering di struttura semplice, si possonoutilizzare i fogli di stile scritti in CSS (Cascading Style Sheets), linguaggioper definire la presentazione visuale di un documento HTML.

L’esempio sottostante:

body { color: red; }

mostra un’istruzione CSS o regola che indica al browser di visualizzarequalsiasi elemento di testo della sezione body utilizzando il colore rosso.

MadovesiinserisconoleregoleCSS?

RetieSistemiOperativi 42/100

Page 43: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 6/7Invece di utilizzare la regola CSS vista in precedenza, si può utilizzare l’attributotext del tag di apertura <body>, in questo modo:

<bodytext=“red”>

Ma nella sezione <head>, si puòutilizzare una coppia di tag chepossono contenere le regole CSS, eprecisamente:

<style>e</style>.

Questo tag, come lascia intendere ilnome, è il posto dove si possonoscrivere le regole CSS che si intendeapplicare alla pagina HTML.

RetieSistemiOperativi 43/100

<html><head>

<title>Il menù della casa</title><style>body{

color:red;background-color:#808080;font-style:italic;font-weight:bold;font-family:Arial;

}</style>

</head><body>

<!– Non si riportano le altre righe, e questoè un commento HTML. -->

</body></html>

Page 44: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 6/7Invece di utilizzare la regola CSS vista in precedenza, si può utilizzare l’attributotext del tag di apertura <body>, in questo modo:

<bodytext=“red”>

Ma nella sezione <head>, si puòutilizzare una coppia di tag chepossono contenere le regole CSS, eprecisamente:

<style>e</style>.

Questo tag, come lascia intendere ilnome, è il posto dove si possonoscrivere le regole CSS che si intendeapplicare alla pagina HTML.

RetieSistemiOperativi 44/100

<html><head>

<title>Il menù della casa</title><style>body{

color:red;background-color:#808080;font-style:italic;font-weight:bold;font-family:Arial;

}</style>

</head><body>

<!– Non si riportano le altre righe, e questoè un commento HTML. -->

</body></html>

Page 45: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

IpertestieHTML– 7/7

Documento: LaPrimaPagina.html

<html><head>

<title>Il menù della casa</title><link rel=“stylesheet” href=“screen.css” type=“text/css” />

</head><body>

<h1 class=“loud”>Salve!</h1><p id=“highlight>Il menù della casa</p><p>Spero che sia di vostro gradimento.</p><ul>

<li><a href=“Antipasti.html”>Antipasti</a></li><li class=“loud”><a href=“Pizze.html”>Pizze</a></li>

<li><a href=“Bevande.html”>Bevande</a></li></ul>

</body></html>

Foglio di stile: Screen.css

body { color: red;background-color: #808080;font-style: italic;font-weight: bold;font-family: Arial;

} a { font-style: italic; }

h1 a { font-style: italic; }

.loud { font-style: italic; }

#highlight { background-color: yellow; }

Posso scrivere un file CSS per applicare le regole di rendering a piùdocumenti HTML, che possono riferirsi ad esso

RetieSistemiOperativi 45/100

Page 46: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

WebBrowsers – 1/3Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 46/100

Page 47: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 47/100

WebBrowsers – 1/3

Fornisce funzionalità perinteragire con l’utentecatturando i suoi input emostrando in output i contenutiipertestuali richiesti.

Page 48: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

WebBrowsers – 1/3Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 48/100

Memorizza in manierapersistente dati rilevanti rispettoa successive navigazioni degliutenti, come password, storicodelle navigazioni ed altro.

Page 49: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 49/100

WebBrowsers – 1/3

Rappresenta il cervello delbrowser: gestendo la pila dellepagine visitate, permettendoback e forward, mantiene leimpostazioni utente, e controllai plugin.

Page 50: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 50/100

WebBrowsers – 1/3

Interpreta i tag HTML e i fogli distile dei documenti ipertestuali edetermina come rappre-sentarel’output e la resa grafica deidocumenti.

Page 51: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 51/100

WebBrowsers – 1/3

Implementa il client delprotocollo HTTP per l’istau-razione della connessione,l’invio delle richieste e laricezione delle risposte.

Page 52: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali.

RetieSistemiOperativi 52/100

WebBrowsers – 1/3

Componenti per l’inter-pretazione ed esecuzione dicodice JavaScript per ladinamicità dei documentiipertestuali e per elaboraredocumenti in XML.

Page 53: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

WebBrowsers – 1/3Il web browser (o più semplicemente browser) è un'applicazione per ilrecupero, la presentazione e la navigazione di risorse sul web.Consentono l’accesso a documenti ipertestuali, presentandoli conl’interpretazione dei tag HTML, e la navigazione (sfogliandole) di pagineWeb seguendo i collegamenti ipertestuali. Interagire con il sottosistema

grafico del Sistema Operativoper tradurre i comandi divisualizzazione impartiti dalRendering engine.

RetieSistemiOperativi 53/100

Page 54: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

WebBrowsers – 2/3Le principali funzionalità dei browser disponibili includono:

• navigazione a schede (Tabbed browsing);

• supporto alla navigazione off-line tramite la memoria cache e plug-indedicati per mantenere i link tra le pagine salvate;

• funzione di download manager con arresto/ripresa sempre tramite lamemoria cache anteprima delle pagine da scaricare;

• sintesi vocale;

• integrazione dei feed RSS e di client di posta elettronica o di chat o diassistenza remota installazione di componenti aggiuntivi ed estensioni perdiversi scopi;

• comando di pulizia (cache, cookie, cronologia, ecc);

• barre comandi di moltissime applicazioni.

RetieSistemiOperativi 54/100

Page 55: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

WebBrowsers – 3/3I primi browser (1989-1991) erano solo testuali: pagine senza grafica,bassa usabilità. Nel 1992 è comparso Mosaic, il primo browser graficocomandato via mouse, comportando l'esplosione della popolarità delWWW. L'evoluzione tecnologica è stata per molti anni rallentata dallabrowser war tra Internet Explorer e Netscape Navigator, che ha visto ilprimo imporsi a livello mondiale. Negli ultimi anni si sono avuteinnovazioni significative e l’affermarsi di nuove soluzioni.

RetieSistemiOperativi 55/100

Page 56: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 1/9Se i browser svolgono il ruolo di client nel web, all’estremo oppostotroviamo applicazioni e servizi web, che possono essere identificati econsultati dai browser per la fruizione di risorse.

Un’applicazione web indica genericamente tutte le applicazionidistribuite nel web, ovvero accessibile/fruibile via web per mezzo di unarete di computer, appoggiandosi ai consueti protocolli di rete. Questomodello applicativo è divenuto piuttosto popolare alla fine degli anninovanta con la diffusione di Internet, in un contesto di web dinamico.

Inizialmente, il web consisteva nella condivisione di documentiipertestuali, memorizzati presso un server HTTP, ed ottenibile da unclient HTTP effettuando una dovuta richiesta. Tale visione era alquantostatica nel senso che il contenuto del documento era fissato edinvariabile.

RetieSistemiOperativi 56/100

Page 57: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 2/9Il documento ipertestuale ècomposto da una serie di tag e diinformazioni e memorizzato in unfile con estensione “.html”.

Ogni volta che il documento èacceduto da un browser il suorendering, ovvero la visualiz-zazione sullo schermo, è invariata.

RetieSistemiOperativi 57/100

Page 58: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 3/9Il termine web dinamico indentifica tutte quelle applicazioni web cheinteragiscono attivamente con l'utente modificando le informazionimostrate in base alle informazioni ricevute dall'utente stesso.

Molti siti web sono considerati "dinamici" dato che consentonoall'utente di personalizzare l'impaginazione o le informazioni mostrate oaggiornare in maniera efficiente (dinamica appunto) i contenuti modo darenderli più vicine alle richieste dell'utente o del programmatore web.

Per realizzare tale scenario interattivo e dinamico si fa frequentementeuso di applicazioni web quali applet, servlet, CMS ecc.., tramiteopportuni programmi detti script, scritti in vari possibili linguaggi discripting quali JavaScript, PHP, ASP, .NET, inseriti tipicamente all'internodella pagina web HTML e che, su particolare richiesta dell'utente,vengono attivati ed elaborati lato client tramite browser o lato serverrestituendo il contenuto dinamico sotto forma di codice HTMLinterpretato poi dal browser e visualizzato all'utente.

RetieSistemiOperativi 58/100

Page 59: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 4/9Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side: il server HTTP alla ricezione dirichieste HTTP, non si limita alla ricerca di un documento HTLM edalla sua restituzione, ma effettua una elaborazione considerandocome input la richiesta cliente e restituendo in output undocumento HTML adattato alle esigenze del client.

RetieSistemiOperativi 59/100

Page 60: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 4/9Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side.

HTTPClient

HTTPServer

RetieSistemiOperativi 60/100

Page 61: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 4/9Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side.

HTTPClient

HTTPServer

È necessario che il serverdisponga di un interpretedel linguaggio di scriptingselezionato.

RetieSistemiOperativi 61/100

Page 62: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side.

Applicazioniweb– 4/9

HTTPClient

HTTPServer

RetieSistemiOperativi 62/100

Page 63: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side.

Applicazioniweb– 4/9

HTTPClient

HTTPServer

Il server HTTP mantiene una serie di documenti che non contengono solotag HTML, ma anche del codice di scripting server-side, scritto in linguaggicome ASP, Python o PHP. Il server esegue questo codice che produce inuscita tag HTML ed informazioni che arricchiscono il documento e cheadattano per la richiesta utente ricevuta.

RetieSistemiOperativi 63/100

Page 64: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Esistono due approcci diversi per l’implementazione del web dinamico:

• il primo viene definito server-side.

Applicazioniweb– 4/9

HTTPClient

HTTPServer

Il documento HTML ottenutodall’esecuzione dello scriptinglato server, viene restituito alclient.

RetieSistemiOperativi 64/100

Page 65: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 5/9Esistono due approcci diversi per l’implementazione del web dinamico:

• in alternativa c’è un approccio client-side: il server HTTP allaricezione di richieste HTTP, ricerca un documento che soddisfa larichiesta ed lo restituisce al client. Tale documento non ha solo tagHTML, ma anche del codice di scripting, espresso in linguaggi someJavascript. È cura del browser eseguire tale codice ed ottenere undocumento in HTML da presentare all’utente.

RetieSistemiOperativi 65/100

Page 66: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 5/9Esistono due approcci diversi per l’implementazione del web dinamico:

• in alternativa c’è un approccio client-side.

HTTPClient

HTTPServer

RetieSistemiOperativi 66/100

Page 67: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Esistono due approcci diversi per l’implementazione del web dinamico:

• in alternativa c’è un approccio client-side.

Applicazioniweb– 5/9

HTTPClient

HTTPServer

È necessario che il client dispongadi un interprete del linguaggio discripting selezionato.

RetieSistemiOperativi 67/100

Page 68: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 6/9Il vantaggio dello scripting server-side è di avere un server centralizzato:

1. più facile da mantenere e tenere aggiornato;

2. più semplice da controllare e gestire gli accessi;

3. avere sia funzionalità avanzate che un accesso a datasets grandi ecomplessi che non sarebbero trasferibili via Internet.

Gli svantaggi si hanno quando il processore deve eseguire compitiparticolarmente pesanti e quando si devono trasferire sulla rete grossivolumi di dati, che può causare:

1. il tempo di risposta può crescere considerevolmente;

2. la capacità di calcolo del client non viene sfruttata;

3. la comunicazione e l'elaborazione da parte del server è necessaria per ognirichiesta, aumentando il traffico sulla rete e il carico del server.

RetieSistemiOperativi 68/100

Page 69: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 7/9I vantaggi di scripting client-side stanno nei browser come thick clients:

1. riducono il carico del server e decrementano il traffico in rete;

2. danno maggiore autonomia all'utente, ad esempio per map browsing (pan,zoom), controllo della visualizzazione dei layers, input di query spaziali...;

3. permettono il trasferimento di dati in forma vettoriale.

Gli svantaggi del client-side sono:

1. Lento trasferimento del documento: la dimensione del file è proporzionalealle funzionalità e l'utente può non essere disposto ad aspettare;

2. installazione di plug-in del browser, come per applet, e tempo e sforzoextra per l'installazione e il mantenimento (aggiornamenti eccetera);

3. dowloading iniziale di datasets anche grandi

4. il computer client non avere grossa potenza di calcolo.

RetieSistemiOperativi 69/100

Page 70: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 8/9È possibile avere approcci ibridi combinando scripting server-side equello client-side. Un esempio è fornito da AJAX (AsynchronousJavaScript and XML) che si basa su:

• HTML e Javascript per la programmazione Web lato client

• scripting server-side con PHP, Servlet, ...

Vantaggi di AJAX:

• sono in grado di inviare al Web Server richieste asincrone (mentrel'utente può continuare ad interagire con la pagina) e parziali(relative solo ai dati necessari);

• consentono un'interazione più veloce (la quantità di dati che ènecessario inviare al/ricevere dal server è minore) e in modalitàasincrona(senza attesa).

RetieSistemiOperativi 70/100

Page 71: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Applicazioniweb– 9/9Funzionamento tipico di un'applicazione AJAX:

• carichiamo nel Browser una pagina web (.html) che contiene degliscript client-side (Javascript) che intercettano eventi relativi a partidella pagina, come il click di un bottone o la digitazione di testo inuna casella

• in risposta ad un qualche evento, Javascript invia una richiesta HTTP"speciale" (con l'indicazione di una risorsa server-side, es. PHP)

• sul server, un programma (o uno script) server-side elabora larisposta e la invia al client come risposta della richiesta, da cui loscript client-side preleva dei dati e modifica di conseguenza unaparte della pagina attualmente caricata nel browser.

RetieSistemiOperativi 71/100

Page 72: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 1/6Il termine servizio Web è definito secondo il consorzio UDDI come“applicazioni di business modulari e auto-consistenti che hannointerfacce aperte, Internet-oriented e basate su standard”:

• Programmi accessibili dal Web, con un’interfaccia stabile;

• Informazioni descrittive dell’interfaccia accessibili pubblicamente;

• Programmi conformi a standard di Internet.

Un’altra definizione è quello fornito dal consorzio World Wide Web(W3C): “applicazione software identificata da un URI, le cui interfacce ecollegamenti possono essere definite, descritte e scoperte come artefattiXML. Un servizio Web supporta interazioni dirette con altri agentisoftware usando messaggi codificati in XML, scambiati attraverso iprotocolli usati in Internet”. Tale definizione è più accurata e precisaanche come i servizi Web funzionano. Tale funzionamento pone comebase di tali servizi l’XML.

RetieSistemiOperativi 72/100

Page 73: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 2/6Esistono altre definizioni, più tecnologiche, indicando gli standard allabase di tali servizi. Un esempio è quello presente nel dizionario tecnicochiamato Webopedia: “un modo standardizzato per integrareapplicazioni basate sul Web usando gli standard aperti XML, SOAP, WSDLe UDDI al di sopra dei protocolli fondanti di Internet. XML è usato pertaggare i dati, SOAP per il loro trasferimento, WSDL per la descrizione delservizio e UDDI per l’identificazione di quali servizi sono disponibili edaccedere alla loro descrizione”.

I servizi Web sussistono sull’assunzione che l’interazione client/serveravvenga per mezzo di un modello a servizio, con le funzionalità del serveraccessibili come un servizio. In termini della letteratura dei middleware,un servizio è una procedura, una funzionalità o un oggetto conun’interfaccia stabile e pubblicata che può essere invocata dai client.Anche il client è un programma, e la richiesta e l’esecuzione di unservizio consiste in un programma che richiama un altro programma.

RetieSistemiOperativi 73/100

Page 74: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Il Service Provider, ovvero il server che ospita il servizio o lo rendeaccessibile stando in ascolto di possibili richieste in arrivo daInternet.

ServiceProvider

RetieSistemiOperativi 74/100

Page 75: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Un Registry, ovvero un server remoto che contiene le descrizioni deiservizi offerti da vari service providers. Tali descrizione contengonouna descrizione dei servizi in termini di come accedervi e di qualifunzionalità sono offerte e di come invocarle.

ServiceProvider

Registry

RetieSistemiOperativi 75/100

Page 76: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Un Registry, ovvero un server remoto che contiene le descrizioni deiservizi offerti da vari service providers. Tali descrizione contengonouna descrizione dei servizi in termini di come accedervi e di qualifunzionalità sono offerte e di come invocarle.Quando un service provider

attiva un servizio può decideredi caricarne una descrizione nelregistry. Service

Provider

Pubblicazione

Registry

RetieSistemiOperativi 76/100

Page 77: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Il Service Requestor, ovvero un applicativo che è interessato adinvocare un servizio offerto da un service provider.

ServiceRequestor

ServiceProvider

Pubblicazione

Registry

RetieSistemiOperativi 77/100

Page 78: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiceRequestor

ServiceProvider

Richiesta

PubblicazioneScoperta

Registry

RetieSistemiOperativi 78/100

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Il Service Requestor, ovvero un applicativo che è interessato adinvocare un servizio offerto da un service provider.Un service requestor per determinare il

servizio che risponde meglio alle sueesigenze ed ottenerne la descrizionepuò consultare un registry.

Page 79: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 3/6Un’architettura a servizi si compone di tre entità:

• Il Service Requestor, ovvero un applicativo che è interessato adinvocare un servizio offerto da un service provider.

ServiceRequestor

ServiceProvider

Richiesta

Risposta

Invocazione

PubblicazioneScoperta

Ottenuto l’URI del servizio, e come invocarlo, il service requestor può inviare richieste alservice provider e ricevere delle risposte.

Registry

RetieSistemiOperativi 79/100

Page 80: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 4/6Un servizio Web non va confuso con quelle applicazionifruibili sul web. Inoltre, gli standard alla basedell’architettura dei Web service sono i seguenti, comeanche specificato nella definizione Webopedia:

ServiceRequestor

ServiceProvider

Richiesta

Risposta

Invocazione

Registry

Pubblicazione

Scoperta

ProtocolloHTTP

DocumentoHTML

RetieSistemiOperativi 80/100

Page 81: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 5/6L’architettura alla base dei servizi Web si basa sul concetto dimiddleware, uno strato software che contiene un insieme di applicativie moduli software che fungono da intermediari tra diverse applicazioni ecomponenti software. Supportano i sistemi distribuiti complessi, persuperare l’eterogeneità delle macchine ed offrire le funzionalità base perla fruizione remota di risorse, procedure ed oggetti.

Nel caso dei servizi Web, si ha bisogno di un middleware che offra lefunzionalità di invocazione, pubblicazione e scoperta dei servizi web.Nello specifico questo middleware si compone di due parti:

• Una nel provider per la ricezione di richieste, la loro elaborazioneinvocando il servizio web più adatto e il ritorno dell’esito,congiuntamente alla pubblicazione delle informazioni del servizio.

• Una sul lato client per supportare l’invocazione remota di servizi ela consultazione di registry per la scoperta di servizi.

RetieSistemiOperativi 81/100

Page 82: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 6/6La parte server è svolta dal web server che gestisce le richieste dei un client:riceve la richiesta mediante il protocollo HTTP, determina a quale serviziopassare la richiesta invocandone la funzionalità desiderata, e ritorna una rispostacome opportuno messaggio ritornato al client.

WebServer

RichiesteHTTP

RisposteHTTP

RetieSistemiOperativi 82/100

Page 83: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 6/6Il web server ospita al proprio interno i servizi web, realizzate medianteun’apposita tecnologia di sviluppo software, come JAX-WS (Java API for XML WebServices).

WebServer

WS1

WS2

WSN

...

RichiesteHTTP

RisposteHTTP

RetieSistemiOperativi 83/100

Page 84: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

ServiziWeb– 6/6Dal lato client, JAX-WS fornisce una serie di funzionalità che consentono ad unprogramma client di invocare remotamente i servizi e di interagire con il registryUDDI. Anche il browser può fungere da client per un web service.

WebServer

WS1

WS2

WSN

...

RichiesteHTTP

RisposteHTTP

ClientperWebService

ProgrammaClient

RisposteHTTP

RichiesteHTTP

RetieSistemiOperativi 84/100

Page 85: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 1/9I componenti fisici di un calcolatore sono resi accessibili agli utenti e aiprogrammi applicativi attraverso un complesso di strumenti software dibase. Tali strumenti sono il sistema operativo, e sono forniti a corredodell’hardware di un elaboratore al momento del suo acquisto.

Quando un programma vuole accedere ad unarisorsa hardware, non è necessario cheinteragisca con la periferica, ma gli basteràinviare richieste al sistema operativo, che sioccuperà di trasmetterle alla perifericainteressata attraverso il suo driver.

Il driver permette al sistema operativo diutilizzare correttamente un dispositivo,astraendo dall'hardware dell'elaboratore.

Un driver è specifico sia riguardo al dispositivo che al sistema operativo.

RetieSistemiOperativi 85/100

Page 86: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 2/9Le funzioni di un sistema operativo sono:

• garantire la correttezza nell’elaborazione e trasmissione delle informazioni;

• Consentire di superare il problema della localizzazione delle risorse;

• Garantire il massimo livello di affidabilità, disponibilità e sicurezza dei sistemi;

• Assicurare l’archiviazione e la riservatezza dei dati;

• Consentire l’interoperabilità tra i dispositivi da diversi produttori;

• Superare i problemi legati alla limitazione del numero di risorse e regolarnel’impiego evitando possibili conflitti di utilizzo;

• Gestione dell’alternanza dei programmi sul processore, e lo spazio dimemoria distribuito ad ogni applicazione.

Il sistema operativo rappresenta un’interfaccia tra l’utente e l’hardwaredel calcolatore, e ne facilita l’uso e la gestione delle risorse.

RetieSistemiOperativi 86/100

Page 87: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

RetieSistemiOperativi 87/100

Page 88: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

Un sistema di gestione del processore definisce quali programmi sono da eseguire e qualicompiti assegnare alla CPU di volta in volta e traduce I programmi in un formato direttamentecomprensibile dal processore.

RetieSistemiOperativi 88/100

Page 89: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

Un sistema di gestione della memoria controlla l’allocazione della memoria di lavoro ai diversiprogrammi che son contemporaneamente in esecuzione, garantendo zone riservate dimemoria.

RetieSistemiOperativi 89/100

Page 90: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

Un sistema di gestione delle periferiche garantisce l’accesso ai dispositivi di ingresso/uscita,mascherandone i dettagli di basso livello e possibili conflitti di più programmi che intendonoimpiegare contemporaneamente un determinato dispositivo.

RetieSistemiOperativi 90/100

Page 91: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

Un sistema di gestione dei file consente l’archiviazione e il reperimento di dati, sfruttando lememorie di massa.

RetieSistemiOperativi 91/100

Page 92: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

Un sistema di gestione della rete che supporta l’implementazione dei principali protocolli direte del modello ISO7OSI e la gestione delle schede di rete.

RetieSistemiOperativi 92/100

Page 93: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 3/9Un sistema operativo si compone di vari elementi.

L’interprete dei comandi si interfaccia direttamente con l’utente, e permette loro di accederein maniera semplice ed intuitiva (testuale o grafica) alle funzionalità offerte dagli altri elementidel sistema operativo.

RetieSistemiOperativi 93/100

Page 94: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 4/9L’insieme delle funzionalità offerte da un sistema operativo consentonodi astrarre, o virtualizzare, l’hardware dell’elaboratore, consentendo aun utente di saper usare ogni possibile macchina indipendentemente daisuoi dettagli hardware. Non sono tutte comunemente messe adisposizione degli utenti e del software applicativo:

• in modalità utente, solo un sotto-insieme di funzionalità èimpiegabile;

• in modalità supervisore o amministratori è possibile impiegare tuttele funzionalità.

I programmi applicativi non hanno diretto accesso alle risorse, marichiedono al sistema operativo l’esecuzione di alcuni servizi. Il sistemaoperativo decide se e in che ordine soddisfare le richieste che gligiungono.

RetieSistemiOperativi 94/100

Page 95: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 5/9L’architettura di von Neumann è basata sul principio di esecuzionesequenziale delle istruzioni, spesso dobbiamo portare avanti deiprogrammi in parallelo. Il parallelismo a livello di dati e di istruzioni èpossibile solo disponendo della ridondanza di CPU, come nelle attualiarchitetture. Il grado di tali ridondanza, però, non tiene il passo delleesigenze. Il sistema operativo è in grado di sopperire a tale mancanza,riducendo il tempo di inutilizzo delle risorse e di fornire l’illusione di unparallelismo mediante l’esecuzione concorrente dei programmi su una opiù CPU.

I programmi in esecuzione, e i relativi dati o contesto, su una macchinaprendono il nome di processi. Il sistema operativo simula il parallelismotra processi, scegliendo di volta in volta il processo che prende possessodella CPU, ed avendo gli altri in una coda. Quando un processo haterminato il tempo ad esse dedicato o deve attendere un evento, liberala CPU a beneficio di un altro processo ed entra nella coda.

RetieSistemiOperativi 95/100

Page 96: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 6/9Il problema dei filosofi a cena è un esempio, descritto nel1965 da Edsger Dijkstra, che illustra un comune problemadi controllo della concorrenza in informatica. Cinquefilosofi siedono ad una tavola con un piatto di spaghettidavanti, e due forchette ai due lati. Ogni filosofo alternamomenti in cui riflette ed altri in cui deve mangiare condue forchette, prese una per volta. Il filosofo mangia perun po', poi lascia le forchette e ricomincia a pensare.

Il problema consiste nello sviluppo di un algoritmo che impedisca

• lo stallo (deadlock), ovvero ciascuno dei filosofi tiene in mano una forchettasenza mai riuscire a prendere l'altra;

• la morte d'inedia (starvation), ovvero se uno dei filosofi non riesce mai aprendere entrambe le forchette e non mangia mai.

La presa di forchette è analoga al blocco di risorse di un programma.

RetieSistemiOperativi 96/100

Page 97: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 7/9Per evitare, o eventualmente risolvere, tali problemi sono state pensatedelle apposite tecniche che si avvalgono di strumenti messi adisposizione dal sistema operativo per la comunicazione interprocesso(IPC o InterProcess Communication) che permettono ai processi dialternarsi nell'accesso ad una risorsa condivisa.

Le più comuni di queste soluzioni sono

• Mutex: variabili binarie che permettono di gestire l'accesso ad una risorsacondivisa mediante accesso esclusivo di uno dei contendenti.

• Semafori n-ari: variabili n-arie che possono essere incrementate edecrementate. Il processo che decrementa il semaforo si bloccherà appenaraggiunto lo zero della variabile. Un processo che incrementa il semaforoinvece risveglia tutti i processi che si erano bloccati in fase di decremento.

• Primitive wait per porre in attesa un processo, e signal per risvegliare uno opiù processi in attesa.

RetieSistemiOperativi 97/100

Page 98: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 8/9Una delle principali funzionalità di un sistema operativo è la gestione deidati da memorizzazione in maniera persistente nella memoria di massa.Tale compito è svolto dal file system, che ha l’obbiettivo di presentareall’utente il contenuto dell’hard disk e di effettuare opportuneoperazioni su di esso.

I dati in memoria sono organizzati in file, ovvero contenitori logiciidentificati mediante un nome. Tali nomi sono composti da l nome vero eproprio seguito dall’estensione, con un punto che li divide. L’estensioneidentifica il programma che ha generato il file (e/o il tipo del file). Ognisistema operativo pone dei vincoli sulla lunghezza dei nomi dei file e icaratteri che possono essere impiegati al suo interno.

I file vengono suddivisi in più contenitori logici, dette cartelle o directory,organizzati secondo una struttura da albero, con una directory dettaradice. Una directory può contenere al suo file oppure altre directory.Pertanto ogni file o directory è identificata da un percorso.

RetieSistemiOperativi 98/100

Page 99: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

SistemiOperativi– 9/9Il file system può avere un’interfaccia grafica, oppure una testuale permezzo del prompt dei comandi. Ogni sistema operativo ha il suo insiemedi comandi:

• cd – per accedere ad una cartella;

• dir (ls in Linuz) – per visualizzare il contenuto di una directory;

• md (mkdir in Linux) - crea una directory;

• move (mv in Linux) – per spostare uno o più file in un'altraposizione;

• rd (rm in Linux) – per cancella una directory;

• ren (mv in Linux) – per rinominare uno o più file;

• del (rm in Linux) – per cancellare uno o più file.

RetieSistemiOperativi 99/100

Page 100: Reti di calcolatori –1/13 - di-srv.unisa.itcesposito/materiale/lezioni/Argomento04_Reti e... · Reti di calcolatori –11/13 Reti e Sistemi Operativi 13/100 ... Internet,ovveroconsentireadapplicazionidiversetralorodipoter

Riferimenti• Libroditesto

• Capitoli5,7e8

100/100RetieSistemiOperativi