DistributedSystems Flashcards
What is a distributed system?
A collection of independent computers that appears to users as a single coherent system.
List benefits of distributed systems.
Resource sharing, computation speedup, reliability, communication between users.
What are the main challenges in distributed systems?
Coordination, fault tolerance, security, consistency.
What is a process in a distributed system?
A running program that may communicate with processes on other machines.
How do processes communicate in distributed systems?
Using message passing through sockets.
What is a socket?
An endpoint for communication between two machines.
What are the two types of socket programming?
UDP (connectionless) and TCP (connection-oriented).
Describe the basic steps in a UDP client-server communication.
Client sends datagram to server, server processes it and sends a response.
Describe the basic steps in a TCP client-server communication.
Client connects to server, establishes a TCP connection, exchanges messages.
What is Remote Procedure Call (RPC)?
A mechanism for invoking a procedure on a remote machine as if it were local.