Task control means for a multi-tasking data processing system
First Claim
1. In a data processing system including memory means for storing data and active tasks, CPU means responsive to active tasks for operating on the data, mass storage means for storing inactive tasks, and keyboard means for entering user commands for interactively controlling execution of the active tasks, task control means for controlling the interactive, concurrent execution of a plurality of tasks, comprising:
- task loader means responsive to a task load request resulting from user commands or the execution of presently active tasks for transferring a corresponding inactive task from the storage means to the memory means to become an active task to be executed,memory manager means responsive to operation of the task loader means for assigning a corresponding task node space in the memory means for storing the task to be transferred into the memory means,task manager means, includingtask control block means responsive to the task load request forcreating a task control block corresponding to the task to be transferred from the storage means to the memory means to become an active task, each task control block containing information used by the task manager means in controlling execution of the corresponding active task, andgenerating a corresponding task control block identification and writing the task control block identification into the corresponding task node space in the memory means,each task control block identification linking the task to the corresponding task control block, andtask queue means for ordering the sequence of execution of the active tasks wherein each active task is a member of one of a plurality of priority levels, includinga task queue for each priority level, whereinthe task control block of each active task resides in the task queue corresponding to the priority level of the task, andthe task control blocks reside in each task queue in a sequence determined by the status of execution of the corresponding active tasks, and whereinthe task manager means is responsive to the priority level and status of each active task to write the corresponding task control block into the corresponding sequential location in the task queue corresponding to the priority level of the task.
9 Assignments
0 Petitions
Accused Products
Abstract
A task control method and apparatus for controlling the interactive, concurrent execution of a plurality of general purpose data processing tasks in a data processing system. The system includes a memory for storing active tasks, a mass storage means for storing inactive tasks and a general purpose CPU. Upon request by a user or by an active task, a task loader transfers a presently inactive task from the mass storage means to the memory to be available for execution. A memory manager assigns a task node space in the memory and a task manager creates a task control block for the task to be activated, assigns a task control block identification to the task control block, and writes the task control block identification into the task'"'"'s task node space to link the task to the task'"'"'s task control block. The task manager includes a plurality of task queues, each queue corresponding to a relative priority level for execution of the tasks, and each task control block is stored in a task queue corresponding to the task'"'"'s priority level. The sequence of the task control blocks in each task queue is dependent upon the status of execution of the corresponding task. Tasks are executed in a sequence depending upon the relative priorities of the task queues and upon the sequential locations of the task control blocks in a task queue.
-
Citations
12 Claims
-
1. In a data processing system including memory means for storing data and active tasks, CPU means responsive to active tasks for operating on the data, mass storage means for storing inactive tasks, and keyboard means for entering user commands for interactively controlling execution of the active tasks, task control means for controlling the interactive, concurrent execution of a plurality of tasks, comprising:
-
task loader means responsive to a task load request resulting from user commands or the execution of presently active tasks for transferring a corresponding inactive task from the storage means to the memory means to become an active task to be executed, memory manager means responsive to operation of the task loader means for assigning a corresponding task node space in the memory means for storing the task to be transferred into the memory means, task manager means, including task control block means responsive to the task load request for creating a task control block corresponding to the task to be transferred from the storage means to the memory means to become an active task, each task control block containing information used by the task manager means in controlling execution of the corresponding active task, and generating a corresponding task control block identification and writing the task control block identification into the corresponding task node space in the memory means, each task control block identification linking the task to the corresponding task control block, and task queue means for ordering the sequence of execution of the active tasks wherein each active task is a member of one of a plurality of priority levels, including a task queue for each priority level, wherein the task control block of each active task resides in the task queue corresponding to the priority level of the task, and the task control blocks reside in each task queue in a sequence determined by the status of execution of the corresponding active tasks, and wherein the task manager means is responsive to the priority level and status of each active task to write the corresponding task control block into the corresponding sequential location in the task queue corresponding to the priority level of the task. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a data processing system including memory means for storing data and active tasks, CPU means responsive to active tasks for operating on the data, mass storage means for storing inactive tasks, and keyboard means for entering user commands for interactively controlling execution of the active tasks, a method for controlling the interactive, concurrent execution of a plurality of tasks, comprising the steps of:
-
responsive to a task load request resulting from user commands or the execution of presently active tasks, transferring a corresponding inactive task from the storage means to the memory means to become an active task to be executed, responsive loading of the task, assigning a corresponding task node space in the memory means for storing the task to be transferred into the memory means, creating a task control block corresponding to the task to be transferred from the storage means to the memory means to become an active task, each task control block containing information used by the task manager means in controlling execution of the corresponding active task, generating a corresponding task control block identification and writing the task control block identification into the corresponding task node space in the memory means, each task control block identification linking the task to the corresponding task control block, and writing the task control block into a task queue means for ordering the sequence of execution of the active tasks, wherein each active task is a member of one of a plurality of priority levels, there is a task queue for each priority level, the task control block for each active task resides in the task queue corresponding to the priority level of the task, and the task control blocks reside in each task queue in a sequence determined by the status of execution of the corresponding active task, and responsive to execution of the tasks and the information contained in the corresponding task control blocks, executing the active tasks in the order determined by the relative priorities of the task queues in which the task control blocks reside and in the order determined by the sequence of the task control blocks in the task queues. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification