Substantial theoretical work has been done on paging algorithms and the related area of task scheduling. In this article, we describe the paging algorithm currently used by the UNIVAC Virtual Memory Operating System (VMOS) (running on Series 70 systems: 70/3, 70/7, 70/46, 70/61) plus those task scheduling decisions which affect the paging algorithm. Many articles on paging algorithms have approached the subject from a theoretical point of view or else they have evaded the guts of the issue by referring to pages which "are no longer members of the working set" without indicating how they made such a determination. This paper presents the decision rules for a system that is operational in customer production sites. It spells out in detail how the system is actually working and how the algorithm actually functions, without trying to hide those decisions which we recognize require further evaluation. Finally, some of our experiences with the algorithm and its development are also presented.
[1]
Marc H. Fogel,et al.
EINSTEIN: an internal driver in a time-sharing environment
,
1972,
OPSR.
[2]
Norman Weizer,et al.
Resource management for a medium scale time-sharing operating system
,
1968,
CACM.
[3]
J. Rodriguez-Rosell.
Experimental data on how program behavior affects the choice of scheduler parameters
,
1971,
OPSR.
[4]
James B. Morris,et al.
Demand paging through utilization of working sets onr the MANIAC II
,
1972,
CACM.
[5]
G. H. Fine,et al.
Dynamic program behavior under paging
,
1966,
ACM '66.
[6]
Peter J. Denning,et al.
Thrashing: its causes and prevention
,
1968,
AFIPS Fall Joint Computing Conference.