Sistemi Operativi e Reti - Capitolo 2 · SistemiOperativieReti Capitolo2 GianlucaAmato Dipartimento...
Transcript of Sistemi Operativi e Reti - Capitolo 2 · SistemiOperativieReti Capitolo2 GianlucaAmato Dipartimento...
Sistemi Operativi e RetiCapitolo 2
Gianluca Amato
Dipartimento di EconomiaUniversità di Chieti-Pescara
Anno Accademico 2015-2016Revisione del 17 settembre 2015
basate sulle slide ufficiali del libroThe Architecture of Computer Hardware, Systems Software & Networking:
an Information Technology Approach5th Edition, Irv EnglanderJohn Wiley and Sons ©2013
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 1 / 29
Sistema
La parola sistema è usata ovunque e non solo in informatica:sistema solaresistema idraulicosistema di controllo dell’inventario
Ma cos’è un sistema?DefinizioneUn sistema è una collezione di componenti collegati assieme e organizzatiin maniera tale da essere riconoscibile come una singola unità.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 3 / 29
Sistema
La parola sistema è usata ovunque e non solo in informatica:sistema solaresistema idraulicosistema di controllo dell’inventario
Ma cos’è un sistema?DefinizioneUn sistema è una collezione di componenti collegati assieme e organizzatiin maniera tale da essere riconoscibile come una singola unità.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 3 / 29
Sistema di controllo dell’inventario
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 7 / 29
Sistema, interfaccia e ambiente
Quando l’interfaccia con l’ambiente è ben definita, è possibile scambiareun sistema con un altro che implementa la stessa interfaccia.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 8 / 29
Architettura di un sistema
Definizione (Architettura di un sistema)L’insieme delle proprietà fondamentali di un sistema e di relazioni,collegamenti e vincoli che si instaurano tra i componenti del sistema o trail sistema e il suo ambiente.
Quando si studia l’architettura di un sistemasi astrae da dettagli che non ci interessano per un ottenere un modellole slide viste prime sono solo modelli del sistema che rappresentanoa seconda di quello che si vuole ottenere, si possono avere modellimolto diversi dello stesso sistema.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 9 / 29
Architettura di un sistema
Definizione (Architettura di un sistema)L’insieme delle proprietà fondamentali di un sistema e di relazioni,collegamenti e vincoli che si instaurano tra i componenti del sistema o trail sistema e il suo ambiente.
Quando si studia l’architettura di un sistemasi astrae da dettagli che non ci interessano per un ottenere un modellole slide viste prime sono solo modelli del sistema che rappresentanoa seconda di quello che si vuole ottenere, si possono avere modellimolto diversi dello stesso sistema.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 9 / 29
Architettura di un sistemaEsempio di modelli di una azienda
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 10 / 29
Sistemi e sotto-sistemi
SottosistemiI Componenti riducibili ed irriducibiliI Componenti riducibili danno origine a sotto-sistemi
DecomposizioneI Divisione di un sistema o sotto-sistema nei suoi componenti e
collegamentiI Gerarchica
Raggruppare componenti in sistemi e decomporre i sistemi incomponenti consente di studiare un sistema al livello di dettagliodesiderato.
I Se studiamo la Via Lattea, il sistema solare si può considerare com ununico sistema irriducibile
I Se studiamo l’effetto delle maree, il sistema Terra dovrà esseredecomposto nei suoi componenti
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 11 / 29
Sistemi e sotto-sistemi
SottosistemiI Componenti riducibili ed irriducibiliI Componenti riducibili danno origine a sotto-sistemi
DecomposizioneI Divisione di un sistema o sotto-sistema nei suoi componenti e
collegamentiI Gerarchica
Raggruppare componenti in sistemi e decomporre i sistemi incomponenti consente di studiare un sistema al livello di dettagliodesiderato.
I Se studiamo la Via Lattea, il sistema solare si può considerare com ununico sistema irriducibile
I Se studiamo l’effetto delle maree, il sistema Terra dovrà esseredecomposto nei suoi componenti
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 11 / 29
Sistemi e sotto-sistemi
SottosistemiI Componenti riducibili ed irriducibiliI Componenti riducibili danno origine a sotto-sistemi
DecomposizioneI Divisione di un sistema o sotto-sistema nei suoi componenti e
collegamentiI Gerarchica
Raggruppare componenti in sistemi e decomporre i sistemi incomponenti consente di studiare un sistema al livello di dettagliodesiderato.
I Se studiamo la Via Lattea, il sistema solare si può considerare com ununico sistema irriducibile
I Se studiamo l’effetto delle maree, il sistema Terra dovrà esseredecomposto nei suoi componenti
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 11 / 29
Architetture dei sistemi di elaborazione
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 12 / 29
Sistemi distribuiti
La maggior parte delle aziende hanno bisogno di sistemi di elaborazioneche siano distribuiti.
un ordine può essere generato da un venditore ovunque nel mondol’ordine deve essere validato con la disponibilità di magazzinosuccessivamente l’ordine deve raggiungere il reparto contabilità per ilcontrollo del pagamento. . .. . . e inviato ai magazzini per la spedizionegli ordini per rimpinguare il magazzino sono generatiautomaticamente e inviati al reparto acquisti
È questa è pur sempre azienda “convenzionale”, figurarsi una azienda divendite on-line come Amazon.
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 13 / 29
Architettura applicativa
La parte fondamentale nello sviluppo del sistema informatico di unaazienda è la architettura applicativa:
I descrive il comportamento delle applicazioniI si focalizza sulle interazioni tra le applicazioni e con gli utenti
I singoli computer e le reti di comunicazioni sono consideratiirriducibili in questo contestoUna volta stabilita l’architettura applicativa, essa porrà dei vincoli suisistemi sottostanti (hardware, reti, etc. . . )A questo punto si passerà a studare l’architettura di questi sistemi,tenendo conto dei vincoli posti dalla architettura applicativa (più altri,come requisiti di spazio o di efficienza energetica)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 14 / 29
Architettura applicativa
La parte fondamentale nello sviluppo del sistema informatico di unaazienda è la architettura applicativa:
I descrive il comportamento delle applicazioniI si focalizza sulle interazioni tra le applicazioni e con gli utenti
I singoli computer e le reti di comunicazioni sono consideratiirriducibili in questo contestoUna volta stabilita l’architettura applicativa, essa porrà dei vincoli suisistemi sottostanti (hardware, reti, etc. . . )A questo punto si passerà a studare l’architettura di questi sistemi,tenendo conto dei vincoli posti dalla architettura applicativa (più altri,come requisiti di spazio o di efficienza energetica)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 14 / 29
Architettura applicativa
La parte fondamentale nello sviluppo del sistema informatico di unaazienda è la architettura applicativa:
I descrive il comportamento delle applicazioniI si focalizza sulle interazioni tra le applicazioni e con gli utenti
I singoli computer e le reti di comunicazioni sono consideratiirriducibili in questo contestoUna volta stabilita l’architettura applicativa, essa porrà dei vincoli suisistemi sottostanti (hardware, reti, etc. . . )A questo punto si passerà a studare l’architettura di questi sistemi,tenendo conto dei vincoli posti dalla architettura applicativa (più altri,come requisiti di spazio o di efficienza energetica)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 14 / 29
Architettura applicativa
La parte fondamentale nello sviluppo del sistema informatico di unaazienda è la architettura applicativa:
I descrive il comportamento delle applicazioniI si focalizza sulle interazioni tra le applicazioni e con gli utenti
I singoli computer e le reti di comunicazioni sono consideratiirriducibili in questo contestoUna volta stabilita l’architettura applicativa, essa porrà dei vincoli suisistemi sottostanti (hardware, reti, etc. . . )A questo punto si passerà a studare l’architettura di questi sistemi,tenendo conto dei vincoli posti dalla architettura applicativa (più altri,come requisiti di spazio o di efficienza energetica)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 14 / 29
Modelli standard per l’architettura applicativa
Client-Server ComputingI Two-tierI Three-tierI N-tier
Web-Based ComputingCloud ComputingPeer-to-Peer Computing
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 15 / 29
Client-Server
Un programma sul computer client chiede servizi e risorse ad unprogramma complementare su un computer server: web, posta elettronica,etc. . .Vantaggi:
Centralizzazione dei diritti diaccessoAmministrazione semplificataServizi facili da localizzarePiù efficiente avere pochicomputer estremamente potentiche molti mediamente potenti.Simula un comportamentoumano
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 16 / 29
Client-ServerEsempio
In generale possiamo avere variserver e vari clientPiù servizi possono risiederesullo stesso server (shared servero server condiviso)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 17 / 29
Client-ServerArchitetture multi-tier
Due strati (Two tier)I Solo due computer coinvolti nella erogazione di un servizioI Quello che abbiamo visto nelle slide precedentiI Esempio: web con pagine già pronte
Tre strati (Three tier)I Tre computer coinvolti per l’erogazione di un servizioI Esempio: web con pagine da creare dinamicamente con dati presi da un
database
CGI*Request
HTTPRequest
HTTPresponse
CGIresponse(HTML)
Webserver
databaseserver
database
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 18 / 29
Client-ServerSoluzioni progettuali
Tradeoff tra lavoro fatto dal client e dal serverI Più lavoro sul server: server molto potente, client poco potenteI Più lavoro sul client: server meno potente, client più potente,
infrastruttura di rete più veloceI vari server potrebbero non riuscire a parlare direttamente tra di loro
I Uso di software middlewareI Il middleware può migliorare anche le prestazioni e facilitare i
cambiamenti architetturali
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 19 / 29
Client-ServerSoluzioni progettuali
Tradeoff tra lavoro fatto dal client e dal serverI Più lavoro sul server: server molto potente, client poco potenteI Più lavoro sul client: server meno potente, client più potente,
infrastruttura di rete più veloceI vari server potrebbero non riuscire a parlare direttamente tra di loro
I Uso di software middlewareI Il middleware può migliorare anche le prestazioni e facilitare i
cambiamenti architetturali
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 19 / 29
Web-based
Variante della architettura client-server in cui le tecnologie web(HTTP, HTML, XML) sono usate per tutte le comunicazioni:
I comunicazioni tra utenti e applicazioni tramite browserI comunicazioni tra applicazioni usando il formato XML e il protocollo
HTTPPresenza web comunque necessaria per una azienda, tanto vale usarnele tecnologie per altri scopiFacilita la distribuzione delle applicazioni: tutto ciò di cui ha bisognoun utente è il browserEsempi: GMail, Facebook sono web based, Whataspp no!
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 20 / 29
Web-based
Variante della architettura client-server in cui le tecnologie web(HTTP, HTML, XML) sono usate per tutte le comunicazioni:
I comunicazioni tra utenti e applicazioni tramite browserI comunicazioni tra applicazioni usando il formato XML e il protocollo
HTTPPresenza web comunque necessaria per una azienda, tanto vale usarnele tecnologie per altri scopiFacilita la distribuzione delle applicazioni: tutto ciò di cui ha bisognoun utente è il browserEsempi: GMail, Facebook sono web based, Whataspp no!
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 20 / 29
Web-based
Variante della architettura client-server in cui le tecnologie web(HTTP, HTML, XML) sono usate per tutte le comunicazioni:
I comunicazioni tra utenti e applicazioni tramite browserI comunicazioni tra applicazioni usando il formato XML e il protocollo
HTTPPresenza web comunque necessaria per una azienda, tanto vale usarnele tecnologie per altri scopiFacilita la distribuzione delle applicazioni: tutto ciò di cui ha bisognoun utente è il browserEsempi: GMail, Facebook sono web based, Whataspp no!
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 20 / 29
Web-based
Variante della architettura client-server in cui le tecnologie web(HTTP, HTML, XML) sono usate per tutte le comunicazioni:
I comunicazioni tra utenti e applicazioni tramite browserI comunicazioni tra applicazioni usando il formato XML e il protocollo
HTTPPresenza web comunque necessaria per una azienda, tanto vale usarnele tecnologie per altri scopiFacilita la distribuzione delle applicazioni: tutto ciò di cui ha bisognoun utente è il browserEsempi: GMail, Facebook sono web based, Whataspp no!
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 20 / 29
Cloud computing
Definizione (Cloud computing)Metodologia di erogazione di risorse informatiche tramite hardware esoftware di terze parti, accessibili tramite Internet.
Memorizzazione remota di dati (es. DropBox, Google Drive)SaaS (Software as a Service): fornisce applicazioni che girano su unserver e con la quale l’utente interagisce direttamente (es. GMail,Facebook)PaaS (Platform as a Service): fornisce un ambiente per lo sviluppo diapplicazioni (sistema operativo, linguaggio di programmazione, serverweb, server database) che gireranno su server remoti del providerPaaS (Google App Engine)IaaS (Infrastructure as a Service): fornisce computer (macchinefisiche o più spesso virtuali), risorse di rete, etc. . . L’utente fa tutto ilresto, a cominciare dall’installazione del sistema operativo (es. GoogleCompute Engine, Amazon EC2)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 21 / 29
Cloud computing
Definizione (Cloud computing)Metodologia di erogazione di risorse informatiche tramite hardware esoftware di terze parti, accessibili tramite Internet.
Memorizzazione remota di dati (es. DropBox, Google Drive)SaaS (Software as a Service): fornisce applicazioni che girano su unserver e con la quale l’utente interagisce direttamente (es. GMail,Facebook)PaaS (Platform as a Service): fornisce un ambiente per lo sviluppo diapplicazioni (sistema operativo, linguaggio di programmazione, serverweb, server database) che gireranno su server remoti del providerPaaS (Google App Engine)IaaS (Infrastructure as a Service): fornisce computer (macchinefisiche o più spesso virtuali), risorse di rete, etc. . . L’utente fa tutto ilresto, a cominciare dall’installazione del sistema operativo (es. GoogleCompute Engine, Amazon EC2)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 21 / 29
Cloud computing
Definizione (Cloud computing)Metodologia di erogazione di risorse informatiche tramite hardware esoftware di terze parti, accessibili tramite Internet.
Memorizzazione remota di dati (es. DropBox, Google Drive)SaaS (Software as a Service): fornisce applicazioni che girano su unserver e con la quale l’utente interagisce direttamente (es. GMail,Facebook)PaaS (Platform as a Service): fornisce un ambiente per lo sviluppo diapplicazioni (sistema operativo, linguaggio di programmazione, serverweb, server database) che gireranno su server remoti del providerPaaS (Google App Engine)IaaS (Infrastructure as a Service): fornisce computer (macchinefisiche o più spesso virtuali), risorse di rete, etc. . . L’utente fa tutto ilresto, a cominciare dall’installazione del sistema operativo (es. GoogleCompute Engine, Amazon EC2)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 21 / 29
Cloud computing
Definizione (Cloud computing)Metodologia di erogazione di risorse informatiche tramite hardware esoftware di terze parti, accessibili tramite Internet.
Memorizzazione remota di dati (es. DropBox, Google Drive)SaaS (Software as a Service): fornisce applicazioni che girano su unserver e con la quale l’utente interagisce direttamente (es. GMail,Facebook)PaaS (Platform as a Service): fornisce un ambiente per lo sviluppo diapplicazioni (sistema operativo, linguaggio di programmazione, serverweb, server database) che gireranno su server remoti del providerPaaS (Google App Engine)IaaS (Infrastructure as a Service): fornisce computer (macchinefisiche o più spesso virtuali), risorse di rete, etc. . . L’utente fa tutto ilresto, a cominciare dall’installazione del sistema operativo (es. GoogleCompute Engine, Amazon EC2)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 21 / 29
Cloud computingSchema riassuntivo
Softwareas a Service
Platformas a Service
Infrastructureas a Service
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 22 / 29
Cloud computingVantaggi e rischi
VantaggiI Il centro dati di una azienda è semplificato e i costi ridottiI Supporta nativamente meccanismi di collaborazione tra utentiI Scalabile facilmente quando la necessità lo richiede, anche on-demandI Downtime ridottoI Investimenti più bassi per progetti a breve termine
RischiI Probemi critici di sicurezza: un’azienda non possiede più i suoi datiI Potenziali problemi di prestazioni se rete non adeguataI Rischi nel caso il provider del servizio chiuda o cambi le sue politiche
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 23 / 29
Peer to Peer computing
I computer sulla rete sono trattati in maniera egualeOgni computer può condividere le sue risorse con gli altriSvantaggi
I Difficile controllare in maniera centralizzata le risorse condiviseI Difficile localizzare le risorse cercateI Possibili versioni multiple non sincronizzate degli stessi dati o dei
softwareI Difficile difendersi da accessi non autorizzati o da virus
UtilizziI Condivisione di file o stampanti tra computer in gruppi ristrettiI Condivisione di file su Intenet (es. BitTorrent)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 24 / 29
Modelli ibridi
Architettura client-server usata per localizzare i datiArchitettura peer-to-peer per scambiarsi i datiEsempi: eMule, Skype
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 25 / 29
Architettura del sistema informatico di Google
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 26 / 29
Architettura del sistema informatico di Google
Consente di effettuare ricerche veloci e potenti su InternetTrae profitto dalla pubblicità inviata all’utente con ogni ricercaRequisiti dell’architettura del sistema informatico di Google
I Rispondere a milioni di utenti simultaneamenteI Alta affidabilitàI Elevata scalabilità (ovvero, possibilità di crescere quando aumenta il
numero di richieste)Due processi distinti
I Risposte alla richieste degli utentiI Scaricamento e indicizzazione di tutte le pagine web di Internet (web
crawling)
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 27 / 29
Architettura applicativa di Google
Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 28 / 29