Agomento 2: stream-oriented communication Flashcards
La realizzazione di un server basato su socket TCP/IP può essere critica. Quale delle seguenti affermazioni è FALSA?
- La connessione potrebbe non essere chiusa correttamente generando problemi di blocco del servizio
- L’invio di stream di bytes rende arbitrario il tempo di recezione dei messaggi
- La necessità di una connessione per client può comportare ritardi nel servizio
- L’invio di stream di bytes limita il tipo di messaggi da inviare
- L’invio di stream di bytes limita il tipo di messaggi da inviare
Quali vantaggi o svantaggi comporta un’organizzazione a messaggi di lunghezza fissa?
- Semplificazione della gestione dei buffer
- Minore velocità di trasmissione
- Limitazione nella lunghezza di invio
- Maggiore velocità di trasmissione
- Semplificazione della gestione dei buffer
Quali affermazioni sono VERE? L’invocazione da parte di un server di un accept su una socket s1 determina:
- L’associazione di una porta alla socket s1 per poter ricevere dal client
- La lettura del primo messaggio di richiesta da parte del client dalla socket s1
- L’abilitazione della socket s1 a colloquiare con il client
- La creazione di una nuova socket s2 per colloquiare con il client
- La creazione di una nuova socket s2 per colloquiare con il client
A un server multi-threaded sono collegati 3 processi client. Quante sono le socket aperte per il processo che esegue il server?
- 2
- 1
- 3
- Più di 3
- Più di 3
precisamente 4 socket aperte
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)?
- Il receiver può leggere l’intero buffer con un ciclo di istruzioni: read(socket, buffer, N/2)
- Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, 2*N)
- Il receiver può leggere l’intero buffer con un ciclo di istruzioni: read(socket, buffer, N)
- Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, N)
- Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, 2*N)
- Il receiver può leggere l’intero buffer con una istruzione: read(socket, buffer, N)
Le socket permettono a due pari (client e server) di comunicare tramite il protocollo:
- HTML
- HTTP
- FTP
- TCP/IP
- TCP/IP
Quale di queste affermazioni è FALSA:
- La system call bind serve ad associare una porta nota ad un server socket;
- Per leggere tutti i dati da una socket serve sempre un ciclo di lettura;
- Se il client effettua una system call connect verso un server socket occupata viene messo in coda;
- Non è possibile associare una porta nota (well-known port) ad un client socket.
- Non è possibile associare una porta nota (well-known port) ad un client socket.
La trasmissione di messaggi tramite socket in Java avviene attraverso:
- 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à)
- |non abbiamo altre opzioni|
- 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à)
L’invocazione da parte di un server di una accept su una socket determina:
- La definizione del numero di richieste che il server è disposto ad accettare
- La creazione di una nuova socket su cui accettare richieste di connessione
- La sospensione del server finché non arriva una richiesta di connessione
- L’accettazione di un nuovo messaggio di richiesta
- La sospensione del server finché non arriva una richiesta di connessione
Quando il client e il server inizializzano le socket, che tipo di socket devono inizializzare?
- Il server inizializza una Socket, il client inizializza una ServerSocket.
- Il server inizializza una ServerSocket, il client inizializza una Socket
- Il server e il client devono entrambi creare una Socket e una ServerSocket altrimenti non possono leggere e scrivere.
- Nessuna delle risposte precedenti.
- Il server inizializza una ServerSocket, il client inizializza una Socket
Rispetto ad un server multi thread, un server multi processo è più vantaggioso quando. . .
- Il numero di client è limitato
- Si devono gestire risorse condivise
- Non ci sono risorse condivise da gestire
- Serve garantire migliori performance
- Non ci sono risorse condivise da gestire
Perché è necessario utilizzare la “SELECT” per realizzare server concorrenti?
- Perché le operazioni di read() e write() sono bloccanti
- Perché permette di utilizzare più canali di comunicazione
- Perché è possibile selezionare il canale da cui leggere e/o scrivere
- Perché non è più necessario eseguire la “accept” per le connessioni
- Perché permette di utilizzare più canali di comunicazione
Qual è il vantaggio di utilizzare Socket Multicast?
- Le socket Multicast sono più facili da implementare rispetto a quelle Broadcast e Unicast
- È generalmente più efficiente usare one socket Multicast che usare socket Unicast multiple
- Le socket Multicast, a differenza di quelle Broadcast, toccano tutti i nodi/destinazioni
- Le socket Multicast utilizzano più banda larga/risorse rispetto alle socket Broadcast
e Multicast
- È generalmente più efficiente usare one socket Multicast che usare socket Unicast multiple
Disegare in sintesi il ciclo di vita di un client servet che comunicano tramite socket TCP
i’m poor
Dare la definizione di processo
Un processo è un’entità fornita dal SO che è in grado di eseguire un programma, i processi possono comunicare tra loro tramite flussi di byte