A page allocation strategy for multiprogramming systems

  • Authors:
  • Donald D. Chamberlin;Samuel H. Fulier;Leonard Y. Liu

  • Affiliations:
  • IBM Research Laboratory, San Jose, Calif.;Departments of Computer Science and Electrical Engineering, Carnegie-Mellon Univ., Pittsburgh, PA;IBM Research Laboratory, San Jose, Calif.

  • Venue:
  • SOSP '73 Proceedings of the fourth ACM symposium on Operating system principles
  • Year:
  • 1973

Quantified Score

Hi-index 0.02

Visualization

Abstract

In a multiprogramming, virtual-memory computing system, many processes compete simultaneously for system resources, which include CPU's, main memory page frames, and the transmission capacity of the paging drum. (We define a “process” here as a program with its own virtual memory, requiring an allocation of real memory and a CPU in order to execute). This paper studies ways of allocating resources to processes in order to maximize throughput in systems which are not CPU-bound. As is customary, we define the multiprogramming “set” (MPS) as the set of processes eligible for allocation of resources at any given time. Each process in the MPS is allocated a certain number of page frames and allowed to execute, interrupted periodically by page faults. A process remains in the MPS until it finishes or exhausts its “time slice”, at which time it is demoted. We assume the existence of two resource managers within the operating system: The Paging Manager and the Scheduler. The function of the Paging Manager is to control the size of the MPS, and to allocate main storage page frames among those processes in the MPS. The function of the Scheduler is to assign time-slice lengths to the various processes, and to define a promotion order among those processes not currently in the MPS. The Scheduler must ensure that system responsiveness is adequate, while the Paging Manager is primarily concerned with throughput. This paper studies possible strategies for the Paging Manager. A strategy for the Scheduler is proposed in (2).