Open VMS Operating System Concepts, Second Edition

Chapter 6: Process Data Sharing and Critical Regions

Overview

In the examples in Chapter 5, there were no data shared between processes. This chapter looks at how processes cooperate to share data between them.

The data sharing algorithm is stated like this: one process creates the data; then, it signals another process (or processes) that the data are available for further manipulation. Another way to state it is this: one process prohibits all access to shared data while modifying it, and, when not modifying it, permits other processes to access it. In either case, the assumption is that the data are stored in a location that is accessible to all the processes involved. Four methods of data sharing are illustrated in Figure 6.1.

The first line of Figure 6.1 identifies files as a method of process data sharing; most readers are probably familiar with this. Files are used, for example, when a compiler needs to transfer data to the linker. It does so by creating a file that the linker receives as input. There is very little difficulty designing this interface because the two processes do not run at the same time.

Figure 6.1: A synopsis of data sharing techniques

But more complex data sharing is commonly done. To illustrate, imagine the following interface between the compiler and the linker: suppose that as the compiler finishes each statement, the resulting code is passed to the linker, so that the compiler and linker operate together on a program. Although the file scheme still works, additional process synchronization is incorporated...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Data Security Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.