Patent US4658351A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4658351A Expired / Lapsed US ⏱️ 0.0 years remaining

Task control means for a multi-tasking data processing system

Assignee: Wang Laboratories Inc
•
Filing: 1984-10-09
•
Granted: 1987-04-14
•
Expires: 2004-10-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Peter Y. Teng

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 08:10
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881; G06F40/00; G06F40/10; G06F40/103; G06F40/117; G06F40/12; G06F40/131

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 361 words
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.
Claim 2
Dependent Claim 361 words
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.
Claim 3
Dependent Claim 55 words
The task control means of claim 1, wherein each task control block comprises; an identification field for storing information identifying the corresponding task, a status field for storing information identifying the status of execution of the corresponding task, and a priority field for storing information identifying the relative priority of execution of the corresponding task.
Claim 4
Dependent Claim 139 words
The task control means of claim 2, wherein each task control block further includes: sequence pointers linking together the task control blocks residing in each task queue in the preferred sequence of execution of the tasks, and wherein the task manager means is responsive to the conclusion of execution of a presently executing active task for reading the task control blocks of the active task residing in the task queues to determine a next active task to be executed, the task manager means being responsive to the sequence of task control blocks in each task queue and to the relative priorities of the task queues for executing the active tasks in order of priority as determined by the task queues in which they reside and in the sequence in which the task control blocks reside in the task queues.
Claim 5
Dependent Claim 62 words
The task control means of claim 2, wherein the task manager means further comprises: stack means for storing information regarding the execution of presently active tasks, the stack means including a task stack mechanism for each active task, and wherein each task control block further includes a stack pointer field for storing information identifying the location of the corresponding task stack mechanism.
Claim 6
Dependent Claim 40 words
The task control means of claim 1, wherein the memory management means is further responsive to active tasks to assign additional space in the memory means to the task node spaces of the active tasks as requested by the tasks.
Claim 7
Dependent Claim 38 words
The task control means of claim 1, wherein the task manager means further comprises: stack means for storing information regarding the execution of presently active tasks, the stack means including a task stack mechanism for each active task.
Claim 8
Dependent Claim 358 words
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.
Claim 9
Dependent Claim 358 words
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.
Claim 10
Dependent Claim 53 words
The method of claim 7, wherein each task control block comprises: an identification field for storing information identifying the corresponding task, a status field for storing information identifying the status of execution of the corresponding task, and a priority field for storing information identifying the relative priority of execution of the corresponding task.
Claim 11
Dependent Claim 109 words
The method of claim 8, further comprising the steps of: responsive to the relative priority of execution of active tasks and the status of each task providing in each task control block sequence pointers linking together the task control blocks residing in each task queue in the preferred sequence of execution of the tasks, and responsive to the sequence of task control blocks in each task queue and to the relative priorities of the task queues, executing the active tasks in order of priority as determined by the task queues in which they reside and in the sequence in which the task control blocks reside in the task queues.
Claim 12
Dependent Claim 91 words
The method of claim 8, further comprising the steps of: p1 providing a stack means for storing information regarding the execution of presently active tasks, and during the step of creating a task control block for a task which is to become an active task, generating a task stack mechanism for the task, so that the stack means includes a task stack mechanism for each active task, and wherein each task control block further includes a stack pointer field for storing information identifying the location of the corresponding task stack mechanism.
Claim 13
Dependent Claim 38 words
The method of claim 7, further comprising the step of: responsive to the execution of active tasks, assigning additional space in the memory means to the task node spaces of the active tasks as requested by the tasks.
Claim 14
Dependent Claim 66 words
The method of claim 7, further comprising the steps of: providing a stack means for storing information regarding the execution of presently active tasks, and during the step of creating a task control block for a task which is to become an active task, generating a task stack mechanism for the task, so that the stack means includes a task stack mechanism for each active task.

References Cited (Backward Citations)

US4513391A Cited
US4488258A Cited
US4532584A Cited
US4539653A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1990-04-13 1990-10-13 1991-04-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1994-04-13 1994-10-13 1995-04-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1998-04-13 1998-10-13 1999-04-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag