Previous Table of Contents Next


Auxiliary Storage Directories

We are now at a point where we can look at the directories that are maintained and used by auxiliary storage management to keep track of the disk space.

•  Free Space Directory — This directory is a machine index (as described in Chapter 6) in which each entry contains the disk location of a single extent of free space.
•  Static Directory — This directory is a list of extents that have been allocated to pre-assigned permanent segments. The static directory is used to locate virtual segments that are essential for machine execution when the normal (permanent and temporary) directories may be unusable.
•  Permanent Directory — This directory is a machine index in which each entry contains the disk location of one to four extents that have been allocated to a permanent virtual segment.
•  Temporary Directory — This directory is a machine index in which each entry contains the disk location of one to four extents that have been allocated to a temporary virtual segment.
•  Lookaside Directory — This directory is a list of recently referenced extents from the permanent and temporary directories. The lookaside directory is essentially a “cache” for the permanent and temporary directories. Its purpose is to avoid the relatively lengthy index operations on these directories.
•  Access Group Member Directory — This directory is a machine index in which each entry contains the address of the access group to which a specific member (segment) of an access group belongs.
•  Access Group Table of Contents — Each access group, as we saw, has a table of contents (TOC). The TOC is a list where each entry contains the disk location of a specific page of a member (segment) of the access group.

Because the free-space directory and the permanent directory are machine indexes, they may become unusable as the result of a system crash. At each IPL, auxiliary storage management checks to see whether these directories are good. If they are not, a directory recovery procedure is run. This procedure scans the contents of all the disks and uses the information stored in the sector headers and segment headers to rebuild the free-space directory and the permanent directory. Because temporary objects, including access groups, go away at IPL time, the other directories do not have to be rebuilt.

Conclusions

In their 1976 paper, Bell and Strecker reflected on the Digital PDP-11 and what they had learned. As they put it, “There is only one mistake that can be made in a computer design that is difficult to recover from — not providing enough address bits.”8 They were describing some of the reasons Digital had to abandon the PDP architecture with only a 16-bit address and move to the VAX architecture with a 32-bit address. In recent years, Digital has moved to the Alpha architecture with its 64-bit address.


8G. Bell and W. D. Strecker, “Computer Structures: What Have We Learned From the PDP-11?” Proc. Third Annual Symposium on Computer Architecture, January 1976, pp. 1–14.

The System/38 and AS/400 architects vowed that their architecture would never break because there were not enough address bits. They defined a 128-bit pointer in which to store their address and made sure there was plenty of space for expansion. From an addressing perspective, the AS/400 has staying power.

The AS/400’s large, single-level store will be even more important in the future. Many computer vendors are just discovering the importance of persistence. As more operating systems become object oriented, we are increasingly aware that objects need to exist outside of a process so they can be shared. Virtual memory systems that destroy all the objects owned by a process when that process goes away have limited usefulness in an object-oriented world. Permanent objects in an AS/400 provide an elegant solution to this problem.

In the next chapter, we look at processes in an AS/400 to see how they tie together many of the topics we have already discussed.


Previous Table of Contents Next

Copyright © NEWS/400 Books