1. Field of the Invention.
The invention relates to a system for establishing queues within a processing system and for the effective movement of data between the established queues.
2. Description of the Related Art
Many computer systems employ queues for managing the transferring of tasks and data within the computing system. Queues can be of many types, such as the first in first out queue (FIFO) where the entries stored in the queue are read from the queue in the sequence that the entries were stored in the queue. Another type of queue is the last in first out queue (LIFO) where the last entry stored in the queue is the first entry read out of the queue. This is to say the newest data stored in the queue will be the first data read out of the queue.
Queues have been constructed from hardware registers and from dedicated portions of a memory, acting as a software register, where the queue is operated under the control of a program in the processor. A queue formed from a memory is described in the text Micro-processor Application Handbook, Editor-In-Chief David F. Stout, McGraw-Hill Book Company, 1982. The author discusses in Section 17.6, entitled "A Task-Scheduling Executive", the formation of a task queue using a forward linked structure. The forward link structure is formed by having each queue's entry contain a pointer to the address of the next queue entry. A queue formed by the forward link process will define the number and sequence of the registers in the queue at any given instant of time. Further, in many processing systems it is desired to move tasks that are defined as entries within the queue from one queue to another queue where each queue is used to specify a course of action to be taken with regard to the entries in that queue. Normally a task is removed from a queue and physically transferred into another queue. The movement of tasks between queues can be a time consuming process and subjects the task to errors generated during the transfer of the task, thereby requiring error recovery procedures to be invoked or attempt a retry transfer operation.