Multiple programming data processing

In order to put the term "multi-programming" in its proper light, it should be noted that the "program" being executed by a computer system, insofar as the system itself is concerned, consists entirely of the instruction or instructions being executed at any given moment. Considered thus, it is obvious that the system could not care less whether the "current" instruction is somehow associated with the preceding or succeeding instructions. In this sense, multi-prograinIning was being done on the 701 when the program "selected" a tape unit considerably in advance of when the tape was actually to be used, so as to "time-share" the start time of the tape with other operations. However, when the term "multi-programming" is used today, the implication is that the system referred to has features which simplify the task of the programmer in at tempting to maximize the amount of time-sharing possible at any given time. In general, it is not possible to uniquely determine the exact computational sequence of a particular program, since this is usually dependent to some extent on the data being operated on. Thus intraprogram time-sharing must be planned by the programmer and can become extremely difficult. An exception exists where multiple runs are to be made on the same program. However, each run may then be treated as a separate program.