2009-07-07

context switching

6.7:
. addm is a vm (virtual machine) that supports mult-tasking;
and to be economical about context-switching,
it could have 2 forms:

. first, there is just a pointer to the process`context.record;
and, to see what the process wants,
it just starts doing commands through that pointer;
(7.7: that means it saved time not copying the context into registers,
but now every mem'access requires an additional int`addition
from the use of going through a pointer) .

. then if it looks like there's serious work to do in that process,
it converts to immediate mode of context switching,
where it copies the context.record to addm`registers
and then proceeds, until the next context switch .

. also there can be multiple sets of addm`registers, say 4 or more,
so, for atleast 4 processes,
the context switching can stay resident,
and for a list of low-priority tasks,
the contexts need never be immediate .