Page 64 - DCAP403_Operating System
P. 64
Unit 4: Process Management
Table 4.1: Inter-process Communication Methods Notes
Method Provided by (Operating systems or other environments)
File All operating systems.
Signal Most operating systems; some systems, such as Windows, only implement signals
in the C run-time library and do not actually provide support for their use as an
IPC technique.
Socket Most operating systems.
Pipe All POSIX systems.
Named pipe All POSIX systems.
Semaphore All POSIX systems.
Shared memory All POSIX systems.
Message passing Used in MPI paradigm, Java RMI, CORBA and others.
(shared nothing)
memory-mapped All POSIX systems; may carry race condition risk if a temporary file is used.
fi le Windows also supports this technique but the APIs used are platform specifi c.
Message queue Most operating systems.
Mailbox Some operating systems.
4.6 Process Communication in Client-Server Environment
Basically the Client/Server environment is architected to split an application’s processing across
multiple processor to gain the maximum benefit at the least cost while minimizing the network
traffic between machines. The key phase is to split the application processing. In a Client/Server
mode each processing works independently but in cooperation with other processors. Each is
relying on the other to perform an independent activity to complete the application process.
A good example of this would be the Mid-Range computer, normally called a File Server, which
is responsible for holding the customer master file while the Client, normally the Personal
Computer, is responsible for requesting an update to a specific customer. Once the Client is
authenticated, the File Server is notified that the Client needs Mr. Smith’s record for an update.
The File Server is responsible for obtaining Mr. Smith’s record and passing it to the Client for
the actual modification. The Client performs the changes and then passes the changed record
back to the File Server which in turn updates the master file. As in this scenario, each processor
has a distinct and independent responsibility to complete the update process. The key is to
perform this cooperative task while minimizing the dialog or traffic between the machines over
the network. Networks have a limited capacity to carry data and if overloaded the application’s
response time would increase. To accomplish this goal, static processes such as edits, and menus
are usually designed to reside on the Client. Update and reporting processes usually are designed
to reside on the File Server. In this way, the network traffic to complete the transaction process
is minimized. In addition, this design minimizes the processing cost as the Personal Computer
usually is the least expensive processor, the File Server being the next expensive, and fi nally the
Main Frame the most expensive.
There are many Client/Server Models. First, one could install all of the application’s object
programs on the personal computer. Secondly, one could install the static object program routines
such as edits and menus on the personal computer and the business logic object programs on the
file server. Thirdly, one could install all the object programs on the file server. As another option,
one could install all the object programs on the mainframe. Which model you choose depends on
your application design.
LOVELY PROFESSIONAL UNIVERSITY 57