Alcuni esercizi e domande, tratti da temi d`esame

Transcript

Alcuni esercizi e domande, tratti da temi d`esame
Applicazioni e Sicurezza
1. Illustrare l’architettura dei sistemi distribuiti, dettagliando in particolare:
a) il ruolo del middleware
b) il concetto di oggetto
c) il concetto di servizi
Fornire esempi.
2. Elencare le proprietà di sicurezza di un sistema. Poi parlare della crittografia
asimmetrica e delle sue applicazioni.
3. Spiegare i principi della crittografia e illustrare in dettaglio il meccanismo della firma
digitale.
4. Disegnare l’architettura di un sistema basato su DBMS e illustrare la differenza fra
modello dei dati e schema dei dati. Quali sono i problemi di sicurezza dei dati in un
DBMS?
5. Illustrare l’evoluzione dei sistemi distribuiti e dei modelli di calcolo in tali ambienti.
Dare esempi e illustrare il modello a servizi del Portale regionale Servizi all’Impiego.
6. Descrivere le principali componenti di un’architettura distribuita, e parlare
dell’architettura a tre livelli dei sistemi basati su Web.
7. Illustrare il ruolo del middleware in ambienti distribuiti.
8. Illustrare il meccanismo di funzionamento della firma elettronica. Descrivere il ruolo
dei certificati elettronici.
Reti
1. Classificazione e topologia delle reti: descrivere la classificazione delle reti e illustrare
in dettaglio le varie topologie, indicando i vantaggi e gli svantaggi di ognuna di esse.
2. Routing di messaggi:
a) Descrivere la struttura generale di un messaggio.
b) Descrivere il principio dell’incapsulamento.
c) Protocollo IP: descrivere a cosa serve il TTL.
d) Protocollo IP: descrivere cosa si intende per indirizzo unicast, multicast e
broadcast.
3. Stack Internet: descrivere brevemente i livelli che compongono lo stack e le
funzionalità che offrono; precisare qual è il loro rapporto con il modello ISO-OSI.
Valutazione prestazioni & parallelismo
1. Prestazioni: si consideri il seguente sistema aperto:
avente i seguenti parametri:
- A=1440
- T=1800 s
- Bweb=288 s
- Bapp=1440 s
- Bdbms=720 s
A) Calcolare l’utilizzo ed il service demand di ogni centro di servizio; calcolare il tempo
di risposta complessivo.
λ=A/T=0,8 job/s
X=λ per l’usuale assunzione del flow balance
Uweb=Bweb/T=0,16
Uapp=Bapp/T=0,8
Udbms=Bdbms/T=0,4
Dweb=Uweb/X=0,2 s
Dapp=Uapp/X=1 s
Ddbms=Udbms/X=0,5 s
Rweb=Dweb/(1- Uweb)=0,23 s
Rapp=Dapp/(1- Uapp)=5 s
Rdbms=Ddbms/(1- Udbms)=0,83 s
R= Rweb+ Rapp+Rdbms=6,06 s
B) Immaginando di sostituire il DBMS server con un sistema più veloce dell’80%,
ricalcolare il tempo di risposta complessivo. Calcolare il miglioramento percentuale del
tempo di risposta.
D’dbms=Ddbms/(1+0,8)=0,277 s
R’dbms=D’dbms/(1- U’dbms)= D’dbms/(1- X·D’dbms)=0.357 s
R’= Rweb+ Rapp+R’dbms=5,587 s
R/(1+miglioramento)=R’ → miglioramento=R/R’ - 1 = 0.084 = 8,4%
C) Si modelli l’application server con il sistema aperto:
dove è stato misurato:
- Bcpu=1300 s
Calcolare Rcpu e Rdisk.
Rapp=Rcpu+Rdisk=5
Ucpu=Bcpu/T=1300/1800=0.722
Dcpu= Ucpu/X=0.722/0.8=0.902
Rcpu=Dcpu/(1- Ucpu)=0.902/(1-0.722)=3,244
Rdisk=Rapp-Rcpu=5-3,244=1,755
2. Prestazioni: si consideri il seguente sistema chiuso:
avente i seguenti parametri:
- T=1800 s
- Z=20 s
- N=2
- Dweb=0,2 s
- Dapp=1 s
- Ddbms=0.5 s
Applicando l’algoritmo MVA, calcolare X(N), R(N), Uweb(2), Uapp(2) e Udbms(2).
n=0:
Qweb=Qapp=Qdbms=0
n=1:
Aweb(1)=Qweb(0)= 0
Aapp(1)=Qapp(0)= 0
Adbms(1)=Qdbms(0)= 0
Rweb(1)= Dweb·(1+ Aweb(1))= Dweb=0,2
Rapp(1)= Dapp·(1+ Aapp(1))= Dapp=1
Rdbms(1)= Ddbms·(1+ Adbms(1))= Ddbms=0,5
R(1)= Rweb(1)+ Rapp(1)+Rdbms(1)=1,7 s
X(1)=1/(Z+R(1))=0,046 job/s
Qweb(1)=X(1)·Rweb(1)=0,0092
Qapp(1)=X(1)·Rapp (1)=0,046
Qdbms(1)=X(1)·Rdbms(1)=0,023
n=2:
Aweb(2)=Qweb(1)= 0,0092
Aapp(2)=Qapp(1)= 0,046
Adbms(2)=Qdbms(1)= 0,023
Rweb(2)= Dweb·(1+ Aweb(2))=0,201
Rapp(2)= Dapp·(1+ Aapp(2))=1,046
Rdbms (2)= Ddbms·(1+ Adbms(2))=0,511
R(2)= Rweb(2)+ Rapp(2)+Rdbms(2)=1,758 s
X(2)=2/(Z+R(2))=0,092 job/s
Uweb(2)=X(2)·Dweb=0.0184
Uapp(2)=X(2)·Dapp=0.092
Udbms(2)=X(2)·Ddbms=0.046
3. Parallelismo
a) Descrivere il parallelismo di tipo SIMD.
b) Descrivere il parallelismo di tipo MIMD.
c) Descrivere la gestione della memoria di tipo “memoria condivisa”.
d) Descrivere la gestione della memoria di tipo “memoria distribuita”.
Basi di dati
1. Progettare lo schema logico e relazionale relativo ai seguenti requisiti.
Una scuola di lingue deve memorizzare le informazioni relative ai corsi erogati. I corsi
sono offerti per apprendere 5 lingue diverse. Ogni corso ha un docente, un’aula e un
orario. Il corso è articolato in ore di lezione e ore di laboratorio; il tipo d’aula non cambia
per lezione o laboratorio. Al corso sono iscritti studenti, che occorre distinguere fra
lavoratori o tempo libero. Per i lavoratori sono offerti corsi serali, quindi l’orario è
organizzato in fasce temporali: mattina, ora di pranzo, pomeriggio, sera.
Si vogliono inoltre memorizzare i costi dei corsi e informazioni sui pagamenti effettuati
dagli studenti iscritti. Si ipotizzi un corso complessivo pagato in rata unica.
N.B. Scrivere chiaramente tutte le ipotesi che si fanno e svolgere il tema secondo le
proprie ipotesi. Non porre domande in aula sui dettagli ma ipotizzare TUTTO come si
preferisce. La soluzione deve essere coerente con le ipotesi
2. Progettare lo schema logico e relazionale relativo ai seguenti requisiti:
Un Dipartimento deve memorizzare le informazioni relative agli articoli scientifici
pubblicati su due anni 2005 e 2006. Le pubblicazioni sono dei seguenti tipi: riviste
scientifiche internazionali, congressi internazionali, libri in italiano. Per ogni
pubblicazione, si memorizzano gli autori, il titolo dell’articolo, il nome della rivista o
congresso, la casa editrice e l’anno di pubblicazione. Vanno inoltre memorizzati i
prodotti della ricerca in termini di progetti e brevetti. Ogni progetto ha un certo
numero di partecipanti, identificati da un nome, un anno di inizio e può essere “in
corso” o “terminato”, ed ha un budget espresso in migliaia di euro. Il brevetto ha un
titolo, una breve descrizione testuale, l’anno di rilascio ed è collegato all’azienda che
eventualmente vi ha partecipato (per esempio, HP, IBM, …). Si vogliono infine
memorizzare informazioni sui pagamenti effettuati sui budget dei vari progetti. Le
voci di costo sono: acquisti di attrezzature, viaggi e contratti per collaborazioni.
N.B. Scrivere chiaramente tutte le ipotesi che si fanno e svolgere il tema secondo le
proprie ipotesi. Non porre domande in aula sui dettagli ma ipotizzare TUTTO come si
preferisce. La soluzione deve essere coerente con le ipotesi.