A model for core space allocation in a time-sharing system

  • Authors:
  • Maurice V. Wilkes

  • Affiliations:
  • The University Mathematical Laboratory, Cambridge, England

  • Venue:
  • AFIPS '69 (Spring) Proceedings of the May 14-16, 1969, spring joint computer conference
  • Year:
  • 1969

Quantified Score

Hi-index 0.00

Visualization

Abstract

In a time-sharing system that is intended to serve a number of console users simultaneously, there are two related, but distinct, functions to be performed. One is time slicing, which is the allocation of bursts of processor time to the various active programs according to a suitable algorithm. The other is core space allocation which arises because, in a modern multi-programmed system, there will be space in core for more than one active program at the same time. If, as will normally be the case, there are more active programs than can be accommodated in core, some of them must be held on a drum and brought into core periodically; this is swapping. Confusion has sometimes arisen between time slicing and swapping, since, in the early time-sharing systems, there was only one active object program resident in core at any time, all the others being on the drum. In these circumstances, swapping and time slicing go together; when a program is in core, it is receiving processor time, and as soon as it ceases to receive processor time it is removed from core. In a multi-programmed system, however, space allocation and time slicing can proceed independently. It is the responsibility of the space allocation algorithm to ensure that, as far as possible, there is always at least one program in core that is ready to run. The time-slicing algorithm is responsible for dividing up the available processor time between the various programs that are in core.