Slides For Chapter 7: Operating System Support: Distributed Systems: Concepts and Design
Slides For Chapter 7: Operating System Support: Distributed Systems: Concepts and Design
Slides For Chapter 7: Operating System Support: Distributed Systems: Concepts and Design
Applications, services
Middleware
Node 1 Node 2
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.2
Core OS functionality
Process manager
Communication
manager
Supervisor
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.3
Address space
2N
Auxiliary
regions
Stack
Heap
Text
0
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.4
Copy-on-write
RB copied
from RA
RA RB
Kernel
Shared
frame
A's page B's page
table table
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.5
Client and server with threads
Thread 2 makes
requests to server
Receipt & Input-output
Thread 1 queuing
generates
results
T1
Requests
N threads
Client
Server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.6
Alternative server threading architectures (see also Figure 7.5)
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.7
State associated with execution environments and threads
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.8
Java thread constructor and management methods
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.9
Java thread synchronization calls
thread.join(int millisecs)
Blocks the calling thread for up to the specified time until thread has terminated.
thread.interrupt()
Interrupts thread: causes it to return from a blocking method call such as sleep().
object.wait(long millisecs, int nanosecs)
Blocks the calling thread until a call made to notify() or notifyAll() on object wakes
the thread, or the thread is interrupted, or the specified time has elapsed.
object.notify(), object.notifyAll()
Wakes, respectively, one or all of any threads that have called wait() on object.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.10
Scheduler activations
P added
Process Process
A B SA preempted
Process SA unblocked
Kernel SA blocked
P idle
Virtual processors Kernel
P needed
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.11
Invocations between address spaces
Protection domain
(b) RPC/RMI (within one computer) boundary
Thread 1 Thread 2
User 1 User 2
Kernel 1 Kernel 2
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.12
RPC delay against parameter size
RPC delay
Requested data
size (bytes)
0 1000 2000
Packet
size
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.13
A lightweight remote procedure call
Client Server
A stack
A
Kernel
2. Trap to Kernel 3. Upcall 5. Return (trap)
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.14
Times for serialized and concurrent invocations
Receive
unmarshal
process results
Client Server Client Server
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.15
Monolithic kernel and microkernel
S4 .......
S1 S2 S3 S4 .......
.......
S1 S2 S3
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.16
The role of the microkernel
Middleware
Microkernel
Hardware
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 7.17
The architecture of Xen
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
1
8
Figure 7.18
Use of rings of privilege
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
1
9
Figure 7.19
Virtualization of memory management
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2
0
Figure 7.20
Split device drivers
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2
1
Figure 7.21
I/O rings
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2
2
Figure 7.22
The XenoServer Open Platform Architecture
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
2
3