Distributed Systems Flashcards
(23 cards)
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
Scalability
Speedup
High performance
Openness
Reliability
Flexibility
Disadvantages of Distributed Systems
Security issues
High network infrastructure costs
Less software support
Difficult troubleshooting
Resource sharing
A user at one site may be able to use the resources available at another
Computation speedup
Breaking a big task into smaller pieces and running them at the same time on different computers to finish faster
Reliability
If one site fails in a distributed system, the remaining sites can continue operating
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?
If on same computer, they talk through shared memory or pipes.
if on different computers, they send messages over network.
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 programs plug in to talk to each other over a network
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 server that sends and receives echoes from client to server
What is a single client knock-knock network application?
Client-server program that tells “knock-knock jokes” to each other over a network
RPCs (Remote Procedure Calls)
Lets a program run a function on another computer as if it were local
What are pipes?
A way for two programs to send and receive data between them
Ordinary pipes
A one-way connection where one program sends data and another reads it
How do ordinary pipes work?
One program writes into the pipes; the other reads from it. Only works one way and usually between related programs (like parent and child)
What are named pipes?
Like ordinary pipes with a name, so unrelated programs (even on different machines) can use them to send messages both ways