Open VMS Operating System Concepts, Second Edition

When attempting to describe an operating system, I'm reminded of three blind men describing an elephant. "It is like rope," declares the one holding the tail. "No, it is like a blanket," says another flapping the ear back and forth. The third says, "you are both wrong, it is like a tree," as he tries to reach around the elephant's leg. Likewise, it is difficult to describe an operating system, blind or not, because it has so many characteristics that seem to be unrelated. This text is designed to "get your arms around" one operating system, OpenVMS, using code examples and system-supported displays, while describing algorithms in terms that can be observed.
It is very unlikely that you will be involved in the design of an operating system, although you may maintain parts of it some day. Even so, as an application programmer you must use services offered by the operating system. For instance, whenever you use a 'printf' or 'scanf' you are using system service; you are interfacing with the file system, a major subsystem within any operating system. If the application you are designing is even slightly sophisticated it will have to access files. Further, it is possible that more than one user may be using it at any given time. Should this concern the software engineer? Is multiple user access to a file the responsibility of the designer or of the operating system? You cannot answer that question without knowing what the...