Distributed Systems Flashcards
What is a distributed system?
A collection of loosely coupled nodes interconnected by a communication network
What are nodes in a distributed system?
An individual computer or server that is part of a larger system
Advantages of Distributed Systems
Reliability
Scalability
Flexibility
Speedup
Openness
High performance
Disadvantages of Distributed Systems
Difficult troubleshooting
Less software support
High network infrastructure costs
Security issues
Distributed systems: Resource sharing
A user at one site may be able to use the resources available at another
Distributed systems: Computation speedup
Sub-computations can be distributed among the various sites and run simultaneously
Distributed systems: Reliability
If one site fails in a distributed system, the remaining sites can continue operating
Distributed systems: Communication
Users at various sites can exchange information at different levels
What is a process in a distributed system?
A program being executed
How do processes communicate?
Using inter-process communication if within same host. Exchange messages across network if in different end systems
What is a client?
The process that initiates the communication
What is a server?
The process that waits to be contacted to begin the session
What are sockets?
Where a client and server process communicate with each other by reading from and writing to
What are the two socket types?
UDP and TCP
UDP (User Datagram Protocol)
Is connectionless, unreliable where group of bytes (datagram) is sent through the socket
TCP (Transmission Control Protocol)
Is connection-oriented, reliable where a stream of bytes is sent through the socket
What is an Echo server network application?
Simple client server program that sends and received echoes from client to server
What is a single client knock-knock network application?
Client-server program that implements the knock-knock jokes
RPCs (Remote Procedure Calls)
RPCs allow a client to call a procedure on a remote host
What are pipes?
Acts as a channel allowing two processes to communicate
Ordinary pipes
Allow communication in standard producer-consumer style
How do ordinary pipes work?
Producer write to one end and consumer reads from other end. They are unidirectional and require parent-child relationship
What are names pipes?
Several processes can use the named pipe for communication and allows inter-process communication over a network. They are bidirectional