Improved Distributed Systems Chapter
Improved Distributed Systems Chapter
1. Introduction
essentially a program in execution, and its management, including scheduling and resource
allocation, is crucial for system performance. Distributed systems introduce additional complexities
such as multithreading, client-server organization, process migration, and the use of software
agents.
Thread: A smaller unit of a process that can run concurrently within the same process memory
space.
Benefits of Threads:
Thread Implementation:
Processes in Distributed Systems
User-level threads: Fast to create and manage but can block entire processes during system calls.
Kernel-level threads: Managed by the OS, allowing better scheduling but with higher overhead.
Hybrid Approach: Lightweight processes (LWPs) combine user-level thread benefits with
3. Anatomy of Clients
Clients interact with distributed systems through user interfaces and client-side software. The goal is
Client Contact: Endpoints or ports are used for client-server communication. Well-known ports are
Interrupt Handling: Servers can handle interruptions through client disconnection or urgent data
signals.
Stateless vs. Stateful Servers: Stateless servers are simpler and more resilient to crashes, whereas
Server Clusters:
Processes in Distributed Systems
Three-tier Architecture: Presentation, logic, and data tiers enhance scalability and reliability.
Distributed Servers: Provide multiple access points to avoid single points of failure.
5. Code Migration
Weak Mobility: Only the code segment moves; the program restarts at the target.
Strong Mobility: The entire execution state moves, allowing the program to resume from where it left
off.
Resource Binding:
Unattached, Fastened, and Fixed Resources: Strategies for handling resource references during
migration.
Processes in Distributed Systems
Types of Agents: