wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Distributed Systems - First Partial

Total questions: 62

Worksheet time: 1hrs 26mins

Name
Class
Date
1.

Qual è la definizione corretta di middleware?

a)

È uno strato software che virtualizza l'hardware e fornisce servizi alle applicazioni sopra di esso

b)

È uno strato software che si trova sopra i sistemi operativi di rete e fornisce servizi alle applicazioni sopra di esso

c)

È uno strato software che si trova sopra il sistema operativo di rete per simulare un sistema operativo distribuito

d)

È uno strato software che sostituisce i sistemi operativi di rete e fornisce servizi alle applicazioni sopra di esso

2.

Un vantaggio della virtualizzazione è che:

a)

L'integrità del sistema è garantita anche di fronte a guasti software

b)

Migliora l'affidabilità del software installato

c)

L'accesso a tutte le periferiche collegate al sistema è garantito

d)

Migliora le prestazioni

3.

Il concetto di trasparenza nei sistemi distribuiti significa che:

a)

I meccanismi di base devono essere utilizzati per accedere alle funzionalità desiderate

b)

È possibile accedere a funzionalità di livello inferiore rispetto alle funzionalità utilizzate

c)

Non è necessario conoscere i dettagli di come sono implementate le funzionalità utilizzate

d)

I dettagli di come sono implementate le funzionalità utilizzate sono visibili

4.

Il termine Trasparenza di Fallimento indica che...

a)

L'utente può riconoscere un fallimento parziale e rimediare

b)

Il sistema operativo può riavviare un server dopo un fallimento

c)

Un sistema può eseguire un abort per tornare a uno stato consistente dopo un fallimento

d)

Un sistema può completare un compito anche in presenza di fallimenti parziali

5.

Il termine Trasparenza di Migrazione/Mobilità indica che...

a)

È possibile spostare il software su macchine diverse senza modifiche

b)

Il movimento di dati e/o software comporta modifiche nei programmi utente

c)

Il movimento di dati e/o software non comporta modifiche nei programmi utente

d)

È possibile accedere a dati e/o software da qualsiasi punto della rete

6.

Il termine Trasparenza di Persistenza indica che...

a)

È possibile memorizzare dati su rete

b)

È possibile memorizzare dati su disco

c)

Una risorsa (software o dati) è mantenuta in memoria

d)

Una risorsa (software o dati) può essere in memoria o su disco

7.

Il termine Trasparenza di Accesso indica che:

4 lines
8.

In un sistema distribuito in presenza di 'omission failure':

a)

Un server accetta richieste ma non riesce a ricevere o elaborare quella richiesta

b)

Il server fallisce perché il servlet non funziona come dovrebbe

c)

Il server non riesce a elaborare la richiesta o non la riceve

9.

Quali vantaggi o svantaggi comporta un'organizzazione dei messaggi a lunghezza fissa?

a)

Semplificazione della gestione dei buffer

b)

Velocità di trasmissione inferiore

c)

Limitazione sulla lunghezza di invio

d)

Velocità di trasmissione superiore

10.

Quale di queste affermazioni è falsa? Un sistema distribuito...

a)

Fallisce quando un componente fallisce

b)

Non fornisce condivisione della memoria

c)

È composto da componenti autonomi

d)

Sincronizza le azioni tramite messaggi espliciti

11.

Quale di queste affermazioni è falsa? Un sistema distribuito...

a)

Sincronizza le azioni attraverso un pianificatore condiviso

b)

Non fallisce quando un componente fallisce

c)

Non fornisce condivisione della memoria

d)

È composto da componenti autonomi

12.

Quale di queste affermazioni descrive meglio i servizi di un sistema a strati?

a)

Ogni strato implementa gli stessi servizi con proprietà diverse (ad es. sicurezza, affidabilità)

b)

Gli strati inferiori sono più specifici per le applicazioni

13.

Qual è la relazione tra i livelli in un sistema a strati?

a)

Ogni livello implementa gli stessi servizi con proprietà diverse (ad es. sicurezza, affidabilità)

b)

I livelli inferiori sono più specifici per le applicazioni, i livelli superiori sono più generici

c)

I livelli superiori sono più specifici per le applicazioni, i livelli inferiori sono più generici

d)

Ogni livello implementa servizi che non sono correlati tra loro

14.

In relazione ai quattro problemi della SD nella comunicazione TCP, la semantica...

a)

È definita dal protocollo di rete utilizzato

b)

Non è definita

c)

È normalmente UTF-8

d)

È definita dal sistema operativo

15.

È essenziale indicare la dimensione del payload nella risposta nella comunicazione dei messaggi?

a)

No se il payload ha una codifica (ad es. UTF-8) e un formato noti

b)

Sì, se la comunicazione avviene tramite stream di byte

c)

No perché posso sempre usare un carattere terminatore (ad es. CRLF)

d)

Sì, perché non è mai possibile usare un carattere terminatore (ad es. CRLF)

16.

In relazione ai quattro problemi dei Sistemi Distribuiti, nei sistemi socket, l'identificazione delle risorse (naming)?

a)

Dipende dal linguaggio di programmazione utilizzato

b)

Utilizza servizi di rete (ad es., DHCP)

c)

Consente l'uso di nomi logici risolti da un DNS (sistema dei nomi di dominio)

d)

Non è risolto poiché richiede di conoscere l'indirizzo dei componenti

17.

La realizzazione di un server basato su socket TCP/IP può essere critica. Quale delle seguenti affermazioni è FALSA?

a)

La connessione potrebbe non essere chiusa correttamente causando problemi di blocco del servizio

b)

Inviare flussi di byte rende il tempo di ricezione del messaggio arbitrario

c)

La necessità di una connessione per cliente può causare ritardi nel servizio

d)

Inviare flussi di byte limita il tipo di messaggi da inviare

18.

La trasmissione di messaggi tramite socket in Java avviene attraverso:

4 lines
19.

Perché è necessario utilizzare 'SELECT' per creare server concorrenti?

a)

Perché le operazioni read() e write() sono bloccanti

b)

Perché consente l'uso di più canali di comunicazione

c)

Perché è possibile selezionare il canale da cui leggere e/o scrivere

d)

Perché non è più necessario eseguire 'accept' per le connessioni

20.

Un server multithread è connesso a 3 processi client. Quanti socket sono aperti per il processo che esegue il server?

a)

2

b)

1

c)

3

d)

Più di 3

21.

Quale affermazione è VERA? L'invocazione da parte di un server di un accept su un socket s1 determina:

a)

L'associazione di una porta al socket s1 per ricevere dal client

b)

La lettura del primo messaggio di richiesta dal client dal socket s1

c)

Abilitare il socket s1 a comunicare con il client

d)

La creazione di un nuovo socket s2 per comunicare con il client

22.

Un mittente esegue l'istruzione (in pseudo codice): write (socket, buffer, N) per scrivere i N byte contenuti nel buffer al socket. QUALI di queste affermazioni sono FALSE (2 risposte)?

a)

Il ricevitore può leggere l'intero buffer con un ciclo di istruzioni: read (socket, buffer, N/2)

b)

Il ricevitore può leggere l'intero buffer con un'istruzione: read(socket, buffer, 2*N)

c)

Il ricevitore può leggere l'intero buffer con un ciclo di istruzioni: read(socket, buffer, N)

d)

Il ricevitore può leggere l'intero buffer con un'istruzione: read(socket, buffer, N)

23.

I socket consentono a due peer (client e server) di comunicare tramite il protocollo:

a)

HTML

b)

HTTP

c)

FTP

d)

TCP/IP

24.

Quale di queste affermazioni è FALSA:

4 lines
25.

Come comunicano i client e i server attraverso il protocollo?

a)

HTML

b)

HTTP

c)

FTP

d)

TCP/IP

26.

Quale di queste affermazioni è FALSA?

a)

La chiamata di sistema bind viene utilizzata per associare una porta nota a un socket server

b)

Per leggere tutti i dati da un socket, è sempre necessario un ciclo di lettura

c)

Se il client effettua una chiamata di sistema connect a un socket server occupato, viene messo in coda

d)

Non è possibile associare una porta nota (porta ben nota) a un socket client

27.

L'invocazione da parte di un server di un accept su un socket determina:

a)

La definizione del numero di richieste che il server è disposto ad accettare

b)

La creazione di un nuovo socket per accettare le richieste di connessione

c)

La sospensione del server fino all'arrivo di una richiesta di connessione

d)

L'accettazione di un nuovo messaggio di richiesta

28.

Un'istruzione in Java:

a)

Normalmente non dovrebbe essere considerata atomica ma composta da operazioni di base interrotte dallo scheduler

b)

Può essere resa atomica utilizzando synchronized

c)

In alcuni casi, ad esempio, gli incrementi e i decrementi delle variabili, è atomica

29.

Il thread A è bloccato perché ha cercato di eseguire un metodo sincronizzato di un oggetto O mentre un altro thread B stava già eseguendo lo stesso metodo dello stesso oggetto. Il thread B chiama il metodo wait. In quale stato entra il thread A?

a)

Pronto

b)

Esecuzione

c)

Bloccato

d)

In attesa

30.

A quali entità sono associati i blocchi gestiti automaticamente dalla macchina virtuale Java?

a)

Metodi

b)

Interfacce

c)

Oggetti

d)

Classi

31.

Quando un thread invoca il metodo wait(), cosa succede?

4 lines
32.

In Java, l'esecuzione di un metodo sincronizzato comporta l'acquisizione di un blocco associato all'oggetto su cui viene invocato il metodo. QUALI eventi causano il rilascio del blocco da parte della macchina virtuale?

a)

La terminazione del metodo (o l'invocazione del metodo wait)

b)

La scadenza di un intervallo di tempo predeterminato

c)

L'invocazione del metodo wait

33.

Il quantificatore sincronizzato applicato a un blocco di codice Java significa che viene eseguito in mutua esclusione rispetto a:

4 lines
34.

Per eseguire un metodo sincronizzato, un thread in un programma Java deve acquisire il blocco associato all'oggetto su cui viene invocato il metodo. L'acquisizione è interamente gestita dalla macchina virtuale. Spiega quali eventi nel programma causano il rilascio del blocco.

4 lines
35.

Quale evento può causare l'uscita di un thread dallo stato di attesa e in cosa si trasforma poi?

4 lines
36.

In MOM, ogni mittente deve conoscere l'indirizzo di ogni destinatario?

a)

Sì, perché la comunicazione deve avvenire punto a punto

b)

No, perché possono essere utilizzati meccanismi di inoltro dei messaggi

c)

Sì, perché ogni destinatario deve registrarsi presso il mittente

d)

No, perché possono essere utilizzati router per creare reti overlay

37.

In message communication, is it essential to return a status code in the response?

a)

Sì, perché il client deve sapere come interpretare i dati che riceve

b)

No, perché il sistema operativo può sollevare un'eccezione in caso di problemi

c)

Sì, perché non c'è memoria condivisa

d)

No, perché il client può interrogare il server per conoscere l'esito di una richiesta

38.

Rispetto a un server multi-thread, un server multi-processo è più vantaggioso quando...

4 lines
39.

Rispetto a un server multi-thread, un server multi-processo è più vantaggioso quando...

a)

Non ci sono risorse condivise da gestire

b)

Le risorse condivise devono essere gestite

c)

Il numero di clienti è limitato

d)

È richiesta una migliore prestazione

40.

In HTTP, cosa significa che un'operazione è 'sicura'?

a)

Che più esecuzioni della stessa richiesta producono lo stesso effetto di una singola esecuzione

b)

Che l'esecuzione della richiesta non modifica lo stato della risorsa coinvolta

c)

Che più esecuzioni della stessa richiesta producono lo stesso effetto di un'altra operazione

d)

Che l'esecuzione della richiesta modifica lo stato della risorsa coinvolta

41.

In HTTP, qual è una funzione principale delle coppie nome-valore contenute nell'intestazione?

a)

Indicare il formato dei dati del payload

b)

Trasferire i parametri passati con le richieste

c)

Indicare la dimensione dell'intero messaggio HTTP

d)

Definire il valore dei cookie scambiati tra client e server

42.

In a communication that uses a message broker, the sender must know the address of the recipient:

a)

Sì, perché deve passare le informazioni al broker

b)

No, perché deve essere conosciuto solo dal broker

c)

Sì, perché viene comunicato dal ricevente stesso

d)

No, perché viene comunicato dal broker

43.

Qual è la differenza tra i servizi di middleware e un sistema operativo distribuito (DOS)?

a)

Sono termini diversi che si riferiscono alle stesse funzionalità

b)

Il middleware implementa funzioni specifiche, il DOS implementa funzioni generiche

c)

Il middleware implementa funzioni generiche, il DOS implementa funzioni specifiche

d)

Un middleware nasconde completamente le funzionalità di un DOS

44.

In message communication, transient means that the message:

a)

Is lost if the receiver is not ready to receive it

b)

Passes through the middleware before being delivered to the receiver

c)

Is considered by the middleware to be delivered to the receiver

d)

Is entrusted to the middleware and control returns to the sender

45.

In message communication, persistent means that the message:

a)

Is lost if the receiver is not ready to receive it

b)

Passes through the middleware before being delivered to the receiver

c)

Is stored by the middleware to be delivered to the receiver when they are ready to receive it

d)

Is entrusted to the middleware and control returns to the sender

46.

Quale meccanismo di interazione tra processi è incorporato nel linguaggio FSP?

a)

Condivisione della memoria

b)

Scambio di messaggi

c)

Esecuzione simultanea delle azioni

d)

Condivisione dello stato

47.

Che cosa significa che il metodo GET è idempotente?

4 lines
48.

Controllo ipermedia:

4 lines
49.

Nel contesto attuale delle tecnologie web, il browser:

a)

È semplicemente un sistema per richiedere pagine HTML, contenuti multimediali associati e renderizzarli sullo schermo dell'utente

b)

È un sistema per richiedere pagine HTML e contenuti multimediali associati tramite il protocollo HTTP, che gestisce anche il rendering sullo schermo dell'utente. Le librerie per lo sviluppo di applicazioni web (ad es. DOM) sono presenti ma non attive per impostazione predefinita, per risparmiare memoria

c)

È un sistema modulare, con funzionalità di base comuni (rendering di pagine HTML, inclusi file CSS) e altre funzionalità installabili su richiesta in uno stile plugin (particolarmente la libreria DOM per lo sviluppo di applicazioni web)

d)

È un ambiente composto ed estensibile, tipicamente includendo un inter

50.

In a communication that uses a message broker, must the format of the messages be the same for all participants?

a)

Yes, because the sender sends messages in only one format

b)

No, because the broker can transform between formats

c)

Yes, because the receivers do not know in which format they receive the messages

d)

No, because the receivers know in which format they receive the messages

51.

Given a process P1 that opens a socket s1 and then executes a fork() generating a process P2. What happens if both processes read from the same socket s1?

4 lines
52.

In the state diagram of a thread A in Java, what events can cause the transition from the blocked state to the ready state?

4 lines
53.

When a thread A in a Java program is blocked after trying to execute a synchronized method of an object O while another thread B is already executing... of the same object, what event can make it exit this state?

4 lines
54.

The control of access of multiple Java threads to different operations (both reading and writing) to methods of shared resources in general:

4 lines
55.

When the client and server initialize the sockets, what type of sockets must they initialize?

4 lines
56.

What is the semantics in a Java program and in message exchange?

4 lines
57.

Which of the following statements is correct regarding client-server communication?

4 lines
58.

What is the advantage of using Multicast Socket?

4 lines
59.

When a thread in a Java program receives a notification through the notifyAll method, in which state is it moved (in reference to the life cycle of threads)?

4 lines
60.

What problem do we have in the Readers-Writers service in Java?

4 lines
61.

What is the sufficient but not necessary condition for a deadlock to occur?

4 lines
62.

What is the solution to the dining philosophers problem?

4 lines