Sistemi Operativi e Reti - Capitolo 2 · SistemiOperativieReti Capitolo2 GianlucaAmato Dipartimento...

43
Sistemi Operativi e Reti Capitolo 2 Gianluca Amato Dipartimento di Economia Università di Chieti-Pescara Anno Accademico 2015-2016 Revisione del 17 settembre 2015 basate sulle slide ufficiali del libro The Architecture of Computer Hardware, Systems Software & Networking: an Information Technology Approach 5th Edition, Irv Englander John Wiley and Sons ©2013 Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 1 / 29

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

Sistemi

Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 2 / 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 idraulico

Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 4 / 29

Sistema solare

Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 5 / 29

Sistema di rete

Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 6 / 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

Architettura harware di Google

Gianluca Amato (UniCH) Sistemi Operativi e Reti A.A. 2015/16 29 / 29