6.7 sched (1940)

At this stage we are only interested in what happens when “sched” is entered for the first time.

1958:

“spl6” is an assembler routine (1292) which sets the processor priority level to six. (Cf. also “spl0”, “spl4”, “spl5” and “spl7” in “m40.s”).

When the processor is at level six, only devices with priority seven can interrupt it. The clock whose priority level is six is thus inhibited from interrupting the processor between this point and the subsequent call on “spl0” at line 1976.

1960:

A search is made through “proc” whose status is “SRUN” and which is not “loaded”.

(Processes #0 and 1 have status “SRUN” and are loaded. All remaining 2193: processes, have a status of zero, which is equivalent to “undefined” or “NULL” ) .

1966:

The search fails (“n” is still –1). The flag “runout” is made non-zero, indicating that there are no processes which are both ready to run and “swapped out” onto disk;

1968:

“sleep” is called (to wait for such an event) with a priority “PSWP” (== –100) for when it wakes up, which is in the category of “very urgent”.