[comp.sys.transputer] time slices on tx

wh@cxa.daresbury.ac.uk (Bill Purvis) (02/25/91)

Micahael Bane of Manchester asked about time slices -
As the number of processes goes up, the tx will spend the same amount of
time slicing, individual processes will get the same amount of time per
slice, but less frequently. Basically, the tx will switch processes when
it reaches the first unconditional branch or loop after the next low priority
clock tick. It simply puts the expired process onto the back of the ready 
queue and then dispatches the process at the head of the ready queue. This
is quite independent of the number of processes (or the length of the queue).

I/O requests depend on whether the channel is free or blocked - if a request
has already been issued to it, the I/O can be completed and the process will
continue. If the channel is free - i.e. no request queued on it, the transfer
must be delayed until another process wishes to communicate. The current
is therefore suspended and the tx will take the process from the head of the
ready queue. The suspended process will remain suspended until the transfer
has completed, at which point it is appended to the tail of the ready queue.

Hope this is clear!
	Bill Purvis
	SERC, Daresbury Lab.
	Warrington 
	Cheshire