Task handling apparatus for a computer system
First Claim
1. Task handling apparatus in a computer system having main storage interconnected with a central processing unit (CPU) and I/O units, where said CPU includes means for processing an active task dispatching element comprising:
- a source of task dispatching elements, each having a priority indicator, said task dispatching elements including CPU and I/O task dispatching elements,task queue register means selectively loadable to store said task dispatching elements,means for loading said task queue register means with task dispatching elements in priority sequence from said source, where the highest priority task dispatching element is dispatchable as an active task and all other task dispatching elements are inactive dispatchable task dispatching elements,task dispatching means for determining the highest priority task dispatching element in said task queue register means,a source of task messages, each having a priority key,intertask communication queue register means selectively loadable with task dispatching elements and with task messages,intertask communication means comprising send means activatable by said active task dispatching element for loading messages from said source of messages in said intertask communication queue register means and for unloading task dispatching elements from said intertask communication queue register means and loading said unloaded task dispatching elements in priority sequence in said task queue register means, said send means activating said task dispatching means whenever said send means loads one or more task dispatching elements in said task queue register means, and receive means activatable by said active task dispatching element for unloading messages for said active task dispatching element from said intertask communication queue register means and in the absence of any message for said active task dispatching element for unloading said active task dispatching element from said task queue register means and loading it in priority sequence in said intertask communication queue register means, said receive means activating said task dispatching means whenever said receive means unloads said active task dispatching element from said task queue register means, andtask switching means having first means responsive to said task dispatching means having been activated in response to said send means loading said task queue register means with a task dispatching element and said task dispatching means having determined that said loaded task dispatching element has a priority higher than the priority of said active task dispatching element for making said active task dispatching element inactive dispatchable and said higher priority loaded task dispatching element an active task dispatching element and having second means responsive to said task dispatching means having been activated in response to said receive means unloading said active task dispatching element from said task queue register means for making the highest priority task dispatching element remaining in said task queue register means an active task dispatching element.
0 Assignments
0 Petitions
Accused Products
Abstract
Task handling apparatus in a computer system is structured to be common to system control tasks, user tasks and I/O tasks. Although the task handling apparatus contains a task priority structure, all tasks are handled in the same manner, and there are no fixed interrupt levels for I/O tasks. There are N levels of priority, and N is variable. Each task is a server for a functional request. Task dispatching elements (TDE'"'"'s) are enqueued in priority sequence on a task dispatching queue (TDQ). A task dispatcher functions to dispatch the highest priority TDE on the TDQ, if any, and to perform task switching. Intertask communication is accomplished by send message, send count, receive message and receive count mechanisms, and is coupled with task synchronization. Task synchronization is achieved by dequeueing and enqueueing TDE'"'"'s on the TDQ. An active task becomes inactive dispatchable when a higher priority TDE is enqueued on the TDQ by send message or send count mechanisms. The active task becomes inactive waiting when a receive message or receive count is not satisfied. An inactive dispatchable task becomes the active task when it becomes the highest priority enqueued TDE on the TDQ by the receive message or receive count mechanisms. An inactive waiting task becomes either the active task or an inactive dispatchable task after being enqueued on the TDQ by the send message or send count mechanisms, depending upon whether it is the highest or other than the highest priority TDE on the TDQ.
-
Citations
9 Claims
-
1. Task handling apparatus in a computer system having main storage interconnected with a central processing unit (CPU) and I/O units, where said CPU includes means for processing an active task dispatching element comprising:
-
a source of task dispatching elements, each having a priority indicator, said task dispatching elements including CPU and I/O task dispatching elements, task queue register means selectively loadable to store said task dispatching elements, means for loading said task queue register means with task dispatching elements in priority sequence from said source, where the highest priority task dispatching element is dispatchable as an active task and all other task dispatching elements are inactive dispatchable task dispatching elements, task dispatching means for determining the highest priority task dispatching element in said task queue register means, a source of task messages, each having a priority key, intertask communication queue register means selectively loadable with task dispatching elements and with task messages, intertask communication means comprising send means activatable by said active task dispatching element for loading messages from said source of messages in said intertask communication queue register means and for unloading task dispatching elements from said intertask communication queue register means and loading said unloaded task dispatching elements in priority sequence in said task queue register means, said send means activating said task dispatching means whenever said send means loads one or more task dispatching elements in said task queue register means, and receive means activatable by said active task dispatching element for unloading messages for said active task dispatching element from said intertask communication queue register means and in the absence of any message for said active task dispatching element for unloading said active task dispatching element from said task queue register means and loading it in priority sequence in said intertask communication queue register means, said receive means activating said task dispatching means whenever said receive means unloads said active task dispatching element from said task queue register means, and task switching means having first means responsive to said task dispatching means having been activated in response to said send means loading said task queue register means with a task dispatching element and said task dispatching means having determined that said loaded task dispatching element has a priority higher than the priority of said active task dispatching element for making said active task dispatching element inactive dispatchable and said higher priority loaded task dispatching element an active task dispatching element and having second means responsive to said task dispatching means having been activated in response to said receive means unloading said active task dispatching element from said task queue register means for making the highest priority task dispatching element remaining in said task queue register means an active task dispatching element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. Task handling apparatus for a computer system having main storage for storing data and instructions, storage access control mechanism for accessing main storage, a central processing unit (CPU) interconnected with said main storage and said storage access control mechanism for providing signals to said storage access control mechanism and operable to execute said instructions accessed from said main storage, and to transfer data to and from said main storage, and input/output (I/O) devices connected to said CPU to perform I/O functions, the improvement comprising:
-
a source of task dispatching elements including CPU and I/O task dispatching elements, each task dispatching element having a priority indicator, task dispatching means including task queue register means, means for loading said task queue register means with task dispatching elements in priority sequence from said source of task dispatching elements, priority determining means for determining the highest priority task dispatching element in said task queue register means, said task dispatching means being operable to render the determined highest priority task dispatching element active, all other task dispatching elements in said task queue register means being in an inactive dispatchable state, a source of task messages, each having a priority key, intertask communication queue register means for storing inactive waiting task dispatching elements in priority sequence and for storing messages in key sequence, and intertask communication means including a send mechanism for providing a message to an inactive waiting task by loading a message from said source of messages in said intertask communication queue register means and operable to unload inactive waiting task dispatching elements from said intertask communication queue register means and to load in priority sequence said inactive waiting task dispatching elements in said task queue register means, and a receive mechanism for unloading messages from said intertask communication queue means and providing said unloaded messages to said active task and for unloading said active task dispatching element from said task queue register means in the absence of a message for said active task and loading said unloaded task dispatching element in said intertask communication queue register means, said task dispatching means renders the highest priority inactive dispatchable task dispatching element in said task queue register means as determined by said priority determining means as the active task dispatching element.
-
Specification