NonStop Systems Introduction
The NonStop Kernel
NonStop Systems Introduction—527825-001
6-8
Requesters and Servers in the Operating System
Requesters and Servers in the Operating
System
System processes cooperate through the message system in a manner similar to the
way that application clients and servers cooperate in a client/server application. A
system message is a bidirectional exchange of information that includes the following
steps:
1. A program module known as a requester process requests a service by sending a
request message to another process known as a server process.
2. The server process receives the request and carries it out.
3. The server process sends a reply message to the requester process.
Note that requesters and servers in the operating system resemble clients and servers
only in the sense that the requester makes a request and the server services the
request in both cases. The major differences between application clients and servers
and operating system requesters and servers are:
•
Application clients reside on a workstation or PC, while operating system
requesters reside on the NonStop host computer.
•
Application clients and servers are user processes, while operating system
requesters and servers are system processes.
•
In contrast to an application client, an operating system requester does not
necessarily involve interaction with an end user, and an operating system server
does not necessarily perform a database operation.
Here is an example of how system processes function as requesters and servers to
carry out a system operation. Assume that a process named A needs to start another
process named B. Process A functions as a requester by asking the processor
monitor to create this process.
In turn, the processor monitor, which functions as a server in relation to process A,
must make requests of several other system processes to gather the resources
needed. Thus, the processor monitor functions as a requester in relation to these
system processes.
For example, the processor monitor must ask a disk process to allocate enough space
on disk for virtual memory for the new process, and the disk process, functioning as a
server, must carry out the request and reply to the processor monitor. Virtual memory
is a disk area where all the instructions and data of a program are stored as a set of
pages. These pages are transferred between virtual memory and processor main
memory during program execution.
When the processor monitor has received replies from the disk process and the other
system processes that have gathered resources for the new process, the processor
monitor can resume the role of server and reply to the original requester (process A)
with the message that process B has been created.