Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


appunti di 5 superiore di tipsit, Appunti di Informatica

1. Client-server: comunicazione, livelli, architetture a 1,2,3 livelli 2. I sistemi distribuiti: varie definizioni, classificazione, vantaggi e svantaggi, sistemi distribuiti hardware (sisd, simd, misd, mimd, cluster). 3. Sistemi pervasivi, Hosting, housing e clouding: wearable e reti di sensori, vantaggi svantaggi di hosting, housing e clouding.

Tipologia: Appunti

2024/2025

Caricato il 08/05/2026

alessandro-maiullari
alessandro-maiullari 🇮🇹

10 documenti

1 / 15

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
CLIENT-SERVER
SERVER: è un host sul quale è in esecuzione un processo che offre
un servizio. Esso è sempre attivo (ESEMPIO: siti web, web server)
CLIENT: è un host sul quale è in esecuzione un processo che
richiede un servizio. Esso non è sempre attivo (ESEMPIO: browser,
videogiochi).
MIDDLEWARE: è un software che si pone tra rete e programma
applicativo (quindi a livello di trasporto). è un insieme di servizi: DNS,
servizi di datagram, specifica porte, ip… Queste funzioni sono
implementate nel lato client.
FASI DI COMUNICAZIONE
Partiamo col dire che la comunicazione può essere di due tipi:
UNICAST: elabora una richiesta alla volta, se ne arrivano altre le
scarta
MULTICAST: elabora più richieste alla volta
le fasi di comunicazione sono:
1. CLIENT manda la richiesta al SERVER
2. il SERVER, in ascolto su un certo socket, elabora la richiesta
3. il SERVER invia la risposta che può essere di due tipi: statica
(ESEMPIO html) o dinamica (ESEMPIO php):
DINAMICA: la crea al momento tramite un linguaggio di
programmazione. dinamica perché non presente in memoria
di massa e anche quelle pagine che chiedono dati all’utente
sono dinamiche
STATICA: dove si possono solo leggere informazioni
4. il CLIENT visualizza la risposta tramite un browser.
LIVELLI E STRATI
Con questo ci si riferisce alla singola applicazione eseguita sul server.
Abbiamo tre livelli:
1. FRONT-END: è l’interfaccia grafica e la realizziamo con html, css e
in parte javascript.
2. MIDDLE TIER: algoritmo che prende i dati, li elabora, accede e li
restituisce: interagisce con FRONT-END E BACK-END. Un
esempio è il php.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica appunti di 5 superiore di tipsit e più Appunti in PDF di Informatica solo su Docsity!

CLIENT-SERVER

SERVER : è un host sul quale è in esecuzione un processo che offre un servizio. Esso è sempre attivo (ESEMPIO: siti web, web server) ● CLIENT : è un host sul quale è in esecuzione un processo che richiede un servizio. Esso non è sempre attivo (ESEMPIO: browser, videogiochi). MIDDLEWARE: è un software che si pone tra rete e programma applicativo (quindi a livello di trasporto). è un insieme di servizi: DNS, servizi di datagram, specifica porte, ip… Queste funzioni sono implementate nel lato client. FASI DI COMUNICAZIONE Partiamo col dire che la comunicazione può essere di due tipi: ● UNICAST: elabora una richiesta alla volta, se ne arrivano altre le scarta ● MULTICAST: elabora più richieste alla volta le fasi di comunicazione sono:

  1. CLIENT manda la richiesta al SERVER
  2. il SERVER, in ascolto su un certo socket, elabora la richiesta
  3. il SERVER invia la risposta che può essere di due tipi: statica (ESEMPIO html) o dinamica (ESEMPIO php): ● DINAMICA: la crea al momento tramite un linguaggio di programmazione. dinamica perché non presente in memoria di massa e anche quelle pagine che chiedono dati all’utente sono dinamiche ● STATICA: dove si possono solo leggere informazioni
  4. il CLIENT visualizza la risposta tramite un browser. LIVELLI E STRATI Con questo ci si riferisce alla singola applicazione eseguita sul server. Abbiamo tre livelli:
  5. FRONT-END : è l’interfaccia grafica e la realizziamo con html, css e in parte javascript.
  6. MIDDLE TIER : algoritmo che prende i dati, li elabora, accede e li restituisce: interagisce con FRONT-END E BACK-END. Un esempio è il php.
  1. BACK-END : troviamo i dati sottoforma di database o altri formati come xml, json.

ARCHITETTURE

Dobbiamo fare delle distinzioni fra architettura e modello:  ARCHITETTURA: è la realizzazione fisica di quello che è il modello client-server: in questo caso devo considerare i vari host. Nel caso dei programmi corrisponde alla loro messa in esecuzione.  MODELLO: è lo schema concettuale. Distinguiamo le tre architetture in base a dove i tre livelli vengono eseguiti. ARCHITETTURA A 1 LIVELLO Tutti e tre i livelli li troviamo su un’unica macchina (mainframe), ovvero il server, al quale erano collegati tutti i terminali. Inoltre, non possiamo parlare di client-server. Tutti i calcoli erano effettuati dall’elaboratore centrale e i terminali servivano solo per le fasi di input/output. ARCHITETTURA A 2 LIVELLI Questa architettura, per quanto riguarda il lato server, si libera dell’interfaccia grafica, migliorando così la velocità. Essa gestisce solo due livelli grazie al MIDDLEWARE. Sulla rete abbiamo un continuo via vai di informazioni quando ci sono delle richieste (file html, php…). Tuttavia, questa architettura ha dei limiti:  Il numero di porte logiche  Numero limitato di richieste da gestire: per risolvere, temporaneamente, furono aumentati il numero di server e in ognuno venivano messi gli stessi dati, però così sorge un altro problema ovvero quello del numero di indirizzi IP. Come soluzione abbiamo il MIDDLEWARE, un software di mezzo che smista le richieste. Però a un certo punto questi server si sono riempiti. Ora il problema si sposta sulla quantità di dati che arrivano a causa di ECOMERECE e quindi venne introdotta l’architettura a tre livelli.  Poca scalabilità (se un server è capace di gestire più richieste con la stessa velocità).

I SISTEMI DISTRIBUITI

DEFINIZIONE: TANENBAUM

Il lavoro viene svolto da più entità: come i pc: il carico di lavoro distribuito su più calcolatori che sono indipendenti tra loro (si intende che hanno memoria e sistema operativo che però all’utente appaiono come un unico sistema: esempio: accesso alle pagine web quindi modello Client-Server. Questo è possibile grazie al browser in quanto abbiamo il livello di trasporto che rende trasparente il tutto), ma non solo su questi ma anche realizzati su diversi software in cui ognuno svolge un certo compito. Comunicazione gestita a livello software. DEFINIZIONE: COULOURIS E DOLLIMORE Un insieme di calcolatori che comunicano non con un software a livello applicativo, ma come uno scambio di messaggi tra i singoli. Lo abbiamo visto già nei processi. I messaggi, quindi, vengono gestiti da software più specifici. Tra gli svantaggi abbiamo:  CONCORRENZA da gestire in quanto più nodi potrebbero accedere allo stesso nodo  SINCRONIZZAZIONE, non c’è un clock che li sincronizza DEFINIZIONE: LAMPORT Evidenzia il fallimento di un calcolatore, in quanto se si blocca uno, è inutilizzabile anche il calcolatore che usa l’utente. DEFINIZIONE GENERALE È costituito da un insieme di applicazioni, quindi livello di rete, logicamente indipendenti (in quanto riesce ad essere eseguito su un nodo senza l’aiuto di altri software. ESEMPIO: applicazioni di tipo desktop come Excel, word…) che collaborano per obiettivi comuni attraverso infrastruttura hardware e software (per infrastruttura si intende: HARDWARE ponti radio, cavi e apparati di rete. SOFTWARE sistema operativo, tutte le applicazioni che girano sui server, le librerie. Algoritmi di Routing e forwarding). Invece le applicazioni dipendenti possono essere Google, in quanto la ricerca avviene su altri nodi, quindi fa richiesta ad altri nodi. TALEMBAUM Vuole evidenziare la differenza tra sistema distribuito e una rete.

 SISTEMA DISTRIBUITO: il lavoro è gestito dal software. C’è anche la trasparenza a livello utente che è realizzata dal middleware. SISTEMA DISTRIBUITO = RETE + MIDDLEWARE. Se non c’è questo middleware tutto è a carico dell’utente, se hanno sistemi operativi diversi diventa complicata la comunicazione. Quindi è un sistema software costituito sulla rete. Con sistema software si intendono tutti gli applicativi più lo strato del middleware dove sono presenti algoritmi a livello di trasporto (quindi trasparenza a livello applicativo). SISTEMA DISTRIBUITO Si parla di sistema distribuito se la distribuzione è a livello di applicazioni, quindi nodi distanti (web: sul client il browser, sul server l’applicazione). Si parla anche se viene distribuito il patrimonio informativo, quindi nelle basi di dati. Al sistema distribuito si contrappone i sistemi centralizzati, dove i dati ed elaborazioni presenti su unica macchina. Altri esempi di sistema distribuito, oltre alle pagine web sono: LAN, il mondo del mobile. C’è SEMPRE UN SOFTWARE CHE METTE IN COMUNICAZIONI I VARI NODI. OBIETTIVI Mettere in comunicazione gli utenti, trasparenza (caratteristica che nasconde all’utente tutti i dettagli implementativi di codice oppure caratteristica che consente di far sembrare all’utente tutto in un unico sistema), apertura al mondo esterno, scalabilità (caratteristica che permette di ingrandire il sistema garantendo la stessa velocità ed efficienza), tolleranza ai guasti (sta negli algoritmi di routing). Le applicazioni, oltre a fungere da client o da server possono fungere anche da actor : a seconda della situazione funge da client o funge da server (ESEMPIO: architetture a tre livelli, ossia lo strato di mezzo). CLASSIFICAZIONE  SISTEMI DI CALCOLO DISTRIBUITI  SISTEMI INFORMATIVI DISTRIBUITI  SISTEMI DISTRIBUITI PERVASIVI SISTEMI DI CALCOLO DISTRIBUITI

diversi nodi come database, file xml e json. Questi dati in una pagina html la vediamo nello stesso modo, dipende dalla formattazione data al dato); quindi, l’utente non sa l’origine del formato dei dati. TRASPARENZA DI LOCAZIONE : nasconde la locazione fisica di una risorsa. TRASPARENZA DI CONCORRENZA : una risorsa non è sempre condivisa, ma può essere contesa (due utenti vogliono allocare un file nello stesso spazio), quindi l’utente non deve accorgersi di tale concorrenza. TRASPARENZA DI REPLICAZIONE : duplica le risorse disponibili mantenendo gli stessi nomi in modo da aumentare le prestazioni. TRASPARENZA AI GUASTI : viene mascherato il guasto. TRASPARENZA ALLA MIGRAZIONE : nasconde lo spostamento fisico o logico di una risorsa senza modificare la modalità di accesso. TRASPARENZA ALLE PRESTAZIONI : nasconde le operazioni necessarie per riconfigurare il sistema al variare del carico per migliorare le prestazioni. TRASPARENZA ALLA SCALABILITA’ : il sistema viene espanso senza perdere prestazioni e può essere: scalabile rispetto alla sua dimensione (aggiungo utenti e risorse) e scalabile geograficamente (utenti e risorse fisicamente molto distanti).  ECONOMICITA’ : basso costo, e costo/qualità migliore rispetto ai sistemi centralizzati.  APERTURA : grazie a protocolli e standard possiamo avere hardware e software da fornitori diversi per avere: INTEROPERABILITA’ (due implementazioni diverse coesistano e collaborano), PORTABILITA’ (applicazione che può essere presente su più sistemi distribuiti) e AMPLIABILITA’ (è semplice aggiungere altre componenti).  CONNETTIVITA’ e COLLABORAZIONE : comporta vantaggi economici.  SCALABILITA’TOLLERANZA AI GUASTI SVANTAGGIPRODUZIONE DI SOFTWARE : sviluppatori si devono aggiornare di fronte a nuovi linguaggi e modifiche e ciò avviene in tre fasi: 1. Definire standard TCP/IP per sviluppare app in rete. 2. Lo sviluppo di

applicazioni web e degli opportuni linguaggi hanno permesso il salto di qualità per la produzione del software. 3.grazie a JAVA possiamo eseguire un programma su macchine diverse.  COMPLESSITA’ : strumenti per connettere host e per instradamento dei pacchetti.  SICUREZZA : nascono nuove problematiche legate alla sicurezza, oggi l’accesso avviene via ethernet e via cavo e sono soggette a rischio intercettazioni (sniffing). Pertanto, sono necessari accorgimenti per tutelare tutti gli utenti e garantire sicurezza e riservatezza dei dati.  COMUNICAZIONE: il trasferimento a distanza richiede nuove tipologie di sistemi di telecomunicazioni, sia cablati che wireless, e l’aumento esponenziale degli utenti fa sì che giornalmente aumenti la richiesta di bande trasmissive con l’obiettivo di migliorare il servizio. Un altro problema riguarda i dispositivi mobili in quanto devono gestire il cambio rete, problema del wi-fi e non più cablate. SISTEMI DISTRIBUITI HARDWARE Qui parliamo di ARCHITETTURA ossia la realizzazione fisica di un modello. Flyn li ha classificati: flusso di istruzioni (si trovano nella ram e vanno al processore) e flusso dati (da memoria di massa alla ram OPPURE da dispositivi di input OPPURE da memoria di massa esterna). CLASSIFICAZIONESISD : singola istruzione, singolo flusso di dati  SIMD : singola istruzione, multiplo flusso di dati  MISD : multiple istruzioni, singolo flusso di dati  MIMD : multiple istruzioni, multiplo flusso di dati SISD La macchina di VON NEUMANN è SISD. Nelle macchine a singola CPU il flusso di istruzioni è unico e quindi viene eseguito un solo programma alla volta. Qui c’è un bus unico che collega le varie periferiche, CPU, RAM. SIMD Unica RAM e più CPU. l’elaborazione avviene su più flussi dati in contemporanea ma con un singolo flusso di istruzioni. Questa architettura si presta bene alla risoluzione di problemi che hanno a che fare con una

I SISTEMI PERVASIVI Sono oggetti piccoli e mobili (come il telefono) e si collegano alla rete di tipo wireless. Fanno parte: sensori, domestici, ecc.… Per definirsi tali devono soddisfare questi quattro requisiti:  CAMBI DI CONTESTO : il nostro gestore fa in modo di cambiare automaticamente, in base agli spostamenti, l’indirizzo IP: quindi devono essere in grado di adattarsi all’ambiente su cui l’utente si trova, senza cali di prestazione e in modo trasparente.  COMPOSIZIONE AD HOC : soluzione adatta solo per particolare caso (come reti di sensori).  RICHIESTA LA FACILITA DI CONFIGURAZIONE : sono auto configurati.  CONDIVISIONE COME DEFAULT : ogni nodo nel momento in cui è a conoscenza di un dato lo deve condividere (esempio: monitorare lo stato di salute degli utenti da casa; traffico di Google per sapere se sta traffico sulle strade). RETI DOMESTICHE Nelle nostre case ci controllano alcuni dispositivi come contatore dell’acqua o del gas. WEARABLE Sono sistemi indossabili (come smartwatch) che si connettono alla rete, usati in ambito sanitario, agricolo e sportivo. Questi li distinguiamo in: PDA e trasmettitore:  PDA : abbiamo vari e sensori e uno di questi è il PDA che raccoglie i dati degli altri sensori. VANTAGGI: non ha bisogno della rete. SVANTAGGI: utente deve sempre verificare la batteria (quindi svantaggio legato all’utente); generazione di allarmi; dati non in tempo reale in quanto bisogna aspettare 24 ore.  Trasmettitore : è un’unità esterna all’utente. VANTAGGI: dati in tempo reale (questo è molto utile, ad esempio, nella sanità per capire lo stato

Il sito viene configurato sul server del provider e questo deve garantire manutenzione: aggiornamenti del SO, garantire sempre il servizio quindi la macchina deve essere sempre alimentata anche se va via la corrente, manutenzione sulla rete quindi su router, cavi. Su quel server possono esserci altri siti e quindi questi condividono la ram, banda, SO e web server (il compito di quest’ultimo è di accettare le richieste degli utenti e assegnarle nei processi giusti). Quindi la condivisione della ram è uno svantaggio in quanto un sito non ha il massimo utilizzo e accesso a tutte le risorse. Qui il contratto lo associamo ad un affitto: il provider fitta solo una porzione di spazio (memoria di massa). CARATTERISTICHE:  Hardware è composto da server entreprise (HP, IBM) in rack per ottimizzare lo spazio nei datacenter  Nel software viene usato web server e SO di tipo server. HOSTING DEDICATO Tutto il server dedicato a un solo sito. VANTAGGIO: risolve lo svantaggio di prima. SVANTAGGIO: costo. Esso è usato da piccole/medie aziende e si deve considerare il numero di utenti che accedono e anche il numero di accessi giornalieri (stabilito nel contratto); quindi la differenza con l’hosting normale è il numero di accessi. Quando scegliere hosting? Per il costo, se un sito ha pochi accessi non serve hosting dedicato, provider gestisce il web server. HOUSING Il server è del cliente (aziende) però i server sono dati al provider per tenerli in sicurezza. Il proprietario accederà da remoto sul proprio server e farà manutenzione, però il provider farà lo stesso una piccola manutenzione: accessibilità alla rete. Perché scegliere housing? Sicurezza: luoghi isolati, videocamere. La differenza tra HOUSING e HOSTING DEDICATO sta nella proprietà del server e viene usato dalle grandi aziende.

Quando scegliere housing? Molto traffico, uso di database (quindi sono pagine dinamiche: differenza con hosting), negli aggiornamenti/installazioni e nella gestione di web server c’è una persona che si occupa di ciò (flessibilità). DIFFERENZEE CON HOSTING  AMMINISTRAZIONE : nell’housing si ha la totale gestione di hardware e software, mentre nell’hosting no.  SICUREZZA : ha un doppio significato: il primo è la SICUREZZA FISICA, infatti, nell’housing i server sono messi in luoghi sicuri; l’altro tipo è la SICUREZZA SULLA RETE quindi accessi limitati, crittografia, acl, proxy… nell’hosting condiviso non c’è una protezione sicura a livello di rete mentre nell’housing c’è.  COSTO : housing più costoso. RESPONSABILITA’SALVATAGGIO DEI DATI : nell’hosting è di chi ha l’accesso a quei dati, quindi chi li gestisce, il provider li mette solo a disposizione un’area di memoria. A maggior ragione nell’housing poiché vengono messi anche in sicurezza  ATTIVITA E INFORMAZIONI ILLECITE : sia nell’hosting che housing se un cliente mette su attività illecite (pirateria, vendita armi) la responsabilità è anche del provider se ne viene a conoscenza (come ne viene a conoscenza? In caso di segnalazioni anonime), in questo caso deve subito bloccare il sito.  TRATTEMENTO DEI DATI PERSONALI : riguarda le pagine di registrazione. Nell’hosting se i dati vengono danneggiati la responsabilità è del cliente in quanto ha passato questi dati a queste terze parti, ma anche del provider in quanto potrebbe fare lo stesso, anche se non dovrebbe: legalmente il responsabile è il provider. Nell’housing invece riguarda l’aspetto della sicurezza (antifurto, precludere l’accesso a terzi non autorizzati mettendo i server sottoterra, antifurto, antincendio, sistemi di areazione). CLOUDING