The Black Monolith

… But, how could one timeslice a single CPU?

The software memory model was code at 0x0000, stack at 0xFFFF.  The answer was obvious.

While waiting for one human to enter a keystroke, switch programs and let another human enter a keystroke, and so on.

HumanA hits a key and the CPU needs to wait 20msec.  Slide HumanA’s program out to storage, then slide HumanB’s program into core and let it run for a bit.  Then, after 20msec, slide HumanB’s program out and slide back HumanA’s program in to run for a bit.

External storage was kind of slow in those days.  Needing msec’s of its own to operate.

What to do?

Invent epicycles.

Preserve the notion of a single CPU, being time-sliced across many users…

Leave a comment