A complete analysis of any data-processing system, including a time-sharing system, must consider two fundamental questions: (1) What functions arc given the users of the system? (2) How are the resources that are used in implementing these functions controlled, allocated, and assigned? The word “functions” includes the number, convenience, and logical flexibility of the programming and control languages, the amounts and types of storage, and the provisions by which the user can modify and add to these facilities. In the second question, the set of considerations, called scheduling, is of primary interest in this paper, but it is not completely independent of the supplied functions. This is so because, as we shall see, a central scheduling issue is the degree of advance knowledge available on calls for resources. The degree is usually smaller, the greater the generality of functions provided.
Note: The Institute of Electrical and Electronics Engineers, Incorporated is distributing this Article with permission of the International Business Machines Corporation (IBM) who is the exclusive owner. The recipient of this Article may not assign, sublicense, lease, rent or otherwise transfer, reproduce, prepare derivative works, publicly display or perform, or distribute the Article.