ST20-C1 STMICROELECTRONICS [STMicroelectronics], ST20-C1 Datasheet - Page 80

no-image

ST20-C1

Manufacturer Part Number
ST20-C1
Description
Instruction Set Reference Manual
Manufacturer
STMICROELECTRONICS [STMicroelectronics]
Datasheet
7.3 Queues
The structure of the process descriptor block is shown in Table 7.1. When the process
is not executing, it contains the saved work space pointer and instruction pointer of the
process, plus a queue link if the process is in a queue.
Figure 7.3 illustrates a descheduled process.
7.3
There may be any number of processes waiting for execution, so a queue (i.e. a linked
list) of waiting processes is formed, called the scheduling queue . This is an example
of a general queue supported by the instruction set for queueing waiting processes.
A queue is a linked list of process control blocks, formed by links included in the
process control blocks. Each link points to the control block of the next process in the
queue unless it is the last in the queue, which is undefined.
The front and back pointers of a queue are held in a queue control block, as shown in
Table 7.2. The queue control block is held in memory, and the address of the block is
the identifier of the queue .
A complete queue is illustrated in Figure 7.4. In the case of the scheduling queue, the
control block is stored at the reserved address called SchedulerQptr (which has the
80/205
Queues
Code
Word offset
1
0
Figure 7.3 A descheduled process
Task descriptor
q.BPtrLoc
q.FPtrLoc
Table 7.2 Queue control block
Slot name
Process descriptor block
Work space pointer
Link
Iptr
The back of the queue.
The front of the queue.
Next process
Purpose
work space
Process
(stack)
local

Related parts for ST20-C1