Given a four level hierarchical storage system consisting of: cache, primary storage, secondary storage, and tertiary storage. Suppose the following: programs may be executed on any of the four levels; each level consists of the same amount of real storage and the range of addresses on each level is identical. The speed at which programs are run is grouped from slowest (tertiary storage) to fastest (cache), where each layer is 10 times faster than the previous lower layer. There exists one CPU in this system, which may run one program at a time. Programs may be shuttled from any layer to any layer.
a) Why might the operating system choose to move information from a faster level to a slower level, bypassing an intermediate level, IE. from cache to secondary storage?
b) Why would items move from a slower layer to a faster layer?
c) Should information be allowed to move from any level to any level or should transfers only occur from adjacent levels? Explain in detail.