Agomento 2: stream-oriented communication Flashcards

1
Q

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

  1. La connessione potrebbe non essere chiusa correttamente generando problemi di blocco del servizio
  2. L’invio di stream di bytes rende arbitrario il tempo di recezione dei messaggi
  3. La necessità di una connessione per client può comportare ritardi nel servizio
  4. L’invio di stream di bytes limita il tipo di messaggi da inviare
A
  1. L’invio di stream di bytes limita il tipo di messaggi da inviare
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali vantaggi o svantaggi comporta un’organizzazione a messaggi di lunghezza fissa?

  1. Semplificazione della gestione dei buffer
  2. Minore velocità di trasmissione
  3. Limitazione nella lunghezza di invio
  4. Maggiore velocità di trasmissione
A
  1. Semplificazione della gestione dei buffer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quali affermazioni sono VERE? L’invocazione da parte di un server di un accept su una socket s1 determina:

  1. L’associazione di una porta alla socket s1 per poter ricevere dal client
  2. La lettura del primo messaggio di richiesta da parte del client dalla socket s1
  3. L’abilitazione della socket s1 a colloquiare con il client
  4. La creazione di una nuova socket s2 per colloquiare con il client
A
  1. La creazione di una nuova socket s2 per colloquiare con il client
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A un server multi-threaded sono collegati 3 processi client. Quante sono le socket aperte per il processo che esegue il server?

  1. 2
  2. 1
  3. 3
  4. Più di 3
A
  1. Più di 3

precisamente 4 socket aperte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Un sender esegue l’istruzione (in pseudo codice): write (socket, buffer, N) per scrivere sulla socket gli N byte contenuti nel buffer. QUALI di queste affermazioni sono FALSE (2 risposte)?

  1. Il receiver può leggere l’intero buffer con un ciclo di istruzioni: read(socket, buffer, N/2)
  2. Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, 2*N)
  3. Il receiver può leggere l’intero buffer con un ciclo di istruzioni: read(socket, buffer, N)
  4. Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, N)
A
  1. Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, 2*N)
  2. Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, N)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Le socket permettono a due pari (client e server) di comunicare tramite il protocollo:

  1. HTML
  2. HTTP
  3. FTP
  4. TCP/IP
A
  1. TCP/IP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quale di queste affermazioni è FALSA:

  1. La system call bind serve ad associare una porta nota ad un server socket;
  2. Per leggere tutti i dati da una socket serve sempre un ciclo di lettura;
  3. Se il client effettua una system call connect verso un server socket occupata viene messo in coda;
  4. Non è possibile associare una porta nota (well-known port) ad un client socket.
A
  1. Non è possibile associare una porta nota (well-known port) ad un client socket.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

La trasmissione di messaggi tramite socket in Java avviene attraverso:

  1. TCP/IP attraverso flussi di byte (byte stream) dopo una connessione esplicita tramite normali system call read/write (sono sospensive/bloccanti e utilizzano buffer per garantire flessibilità)
  2. |non abbiamo altre opzioni|
A
  1. TCP/IP attraverso flussi di byte (byte stream) dopo una connessione esplicita tramite normali system call read/write (sono sospensive/bloccanti e utilizzano buffer per garantire flessibilità)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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

  1. La definizione del numero di richieste che il server è disposto ad accettare
  2. La creazione di una nuova socket su cui accettare richieste di connessione
  3. La sospensione del server finché non arriva una richiesta di connessione
  4. L’accettazione di un nuovo messaggio di richiesta
A
  1. La sospensione del server finché non arriva una richiesta di connessione
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quando il client e il server inizializzano le socket, che tipo di socket devono inizializzare?

  1. Il server inizializza una Socket, il client inizializza una ServerSocket.
  2. Il server inizializza una ServerSocket, il client inizializza una Socket
  3. Il server e il client devono entrambi creare una Socket e una ServerSocket altrimenti non possono leggere e scrivere.
  4. Nessuna delle risposte precedenti.
A
  1. Il server inizializza una ServerSocket, il client inizializza una Socket
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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

  1. Il numero di client è limitato
  2. Si devono gestire risorse condivise
  3. Non ci sono risorse condivise da gestire
  4. Serve garantire migliori performance
A
  1. Non ci sono risorse condivise da gestire
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Perché è necessario utilizzare la “SELECT” per realizzare server concorrenti?

  1. Perché le operazioni di read() e write() sono bloccanti
  2. Perché permette di utilizzare più canali di comunicazione
  3. Perché è possibile selezionare il canale da cui leggere e/o scrivere
  4. Perché non è più necessario eseguire la “accept” per le connessioni
A
  1. Perché permette di utilizzare più canali di comunicazione
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qual è il vantaggio di utilizzare Socket Multicast?

  1. Le socket Multicast sono più facili da implementare rispetto a quelle Broadcast e Unicast
  2. È generalmente più efficiente usare one socket Multicast che usare socket Unicast multiple
  3. Le socket Multicast, a differenza di quelle Broadcast, toccano tutti i nodi/destinazioni
  4. Le socket Multicast utilizzano più banda larga/risorse rispetto alle socket Broadcast
    e Multicast
A
  1. È generalmente più efficiente usare one socket Multicast che usare socket Unicast multiple
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Disegare in sintesi il ciclo di vita di un client servet che comunicano tramite socket TCP

A

i’m poor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Dare la definizione di processo

A

Un processo è un’entità fornita dal SO che è in grado di eseguire un programma, i processi possono comunicare tra loro tramite flussi di byte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Dare la definizione di programma

A

Un programma è una sequenza di istruzioni eseguibili dalla macchina

17
Q

Descrivere il protocollo UDP e dirne le caratteristiche

A

UDP è un protocollo di comunicazione senza connessione, non affidabile che scompone i messaggi in pacchetti e li invia uno per volta, le caratteristiche sono:

  • non offre connessione
  • non offre affidabilità
  • non offre controllo di flusso
  • non offre controllo di congestione
  • non offre garanzie sui ritardi minimi, ne di banda.
18
Q

Descrivere il protocollo TCP e dirne le caratteristiche

A

TCP è un pèrotocollo di comunicazione orientato alla connessione, esso, prima di inviare i messaggi, li socmpone in pacchetti coe UDP, ma, in più+, li numera, così che, una volta inviati, il ricevente può verificare se ci sono tutti.
le caratteristiche di TCP sono:
- offre connessione
- offre affidabilità
- offre controllo di flusso
- offre controllo di congestione
- non offre garanzie minime su ritardi/banda

19
Q

Disegnare il ciclo di vita delle socket

A

i’m poor