< previous page page_155 next page >

Page 155
Table 3.8 User state to be changed in a context switch.
R+M
R/M
L/S
VAX
S/390
R2000
SPARC
i860
G.P. Registers
16
16
32
136
32
F.P. Registers
0
8
32
32
32
Other (PSW, etc.)
1
2
5
6
9

0155-01.gif
Figure 3.2
Actions in a remote procedure call.
partitions the functions of the operating system into various services, which may be local (within the same processor or workstation) or remote (accessible via a network). A distributed operating system has obvious advantages, as not all services need be present on all systems on the network and various services can be located with appropriate files that need be accessed to provide a particular service. Remote services are accessed via a remote procedure call (Figure 3.2). This remote procedure call (RPC) communicates messages between address spaces. The client (the caller processor) makes a call to the system, and the system automatically generates a link via a message to the server process on the network. This link is referred to as a stub, which packages up the procedure's parameters into a message. At the server, another stub receives the parameters and makes the call to the designated server resource. After executing the service routine, the server returns a result, again via the network, to the requestor. Table 3.9 (from Anderson [20]) shows the various functions involved in the RPC and the percentage of time observed in these functions. Notice that network transfer time is a relatively small amount of the entire RPC processing time.
Table 3.9 Profile of remote procedure call processing time [20].
Function
%Time
Network transfer time
17%
Interrupt processing
30%
Receiving thread
17%
Stub processing
29%
Check sums (message validation)
7%

 
< previous page page_155 next page >