A deal made long, long ago, when we constructed the first memory hierarchies of rotating drums, mercury delay lines, cathode ray storage tubes and fast, fast core memory.
Don't forget cards. The drum was mostly a cache for data principally stored on cards. Since it would take a computer many minutes to access data on cards (it involved instructing a human to load them), the decks used most frequently, such as compilers, typically stayed on the drum to optimize throughput. The system also did readahead and writebehind of cards via the drum, i.e. spooling.
And at the other end: registers. Computers always tried to keep some data in registers (made out of electrical feedback circuits) to avoid the slowness of core memory, and the same scheduling complexities we're talking about now applied to optimizing use of that cache.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds