IP Library Patent Application 11300984
Patent Application
App. No. 11/300,984

Task scheduler system and method for managing tasks in an embedded system without a real time operating system

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/300,984
Abstract

A task scheduler system and method for managing tasks in an embedded system executes both unscheduled and scheduled tasks in their respective queues in a prescribed order without dependence on a Real Time Operating System (RTOS).

Claims (33)

1 . A method for managing tasks in an embedded system, the method comprising:

executing enabled unscheduled high priority tasks;

executing scheduled high priority tasks while yielding execution priority of the scheduled high priority tasks to the enabled unscheduled high priority tasks; and

executing scheduled low priority tasks while yielding execution priority of the scheduled low priority tasks to the enabled unscheduled high priority tasks and the scheduled high priority tasks,

wherein the executing of enabled unscheduled high priority tasks, the executing of scheduled high priority tasks and the executing of scheduled low priority tasks are performed without a Real Time Operating System in the embedded system.

2 . The method of claim 1 wherein the executing of scheduled high priority tasks includes repeating the executing of enabled unscheduled high priority tasks after each scheduled high priority task is executed.

3 . The method of claim 1 wherein the executing of scheduled low priority tasks includes repeating the executing of enabled unscheduled high priority tasks and the executing of scheduled high priority tasks after each scheduled low priority task is executed.

4 . The method of claim 1 further comprising executing enabled unscheduled low priority tasks while yielding execution priority of the enabled unscheduled low priority tasks to the enabled unscheduled high priority tasks and to the scheduled high priority tasks.

5 . The method of claim 4 wherein the executing of enabled unscheduled low priority tasks includes repeating the executing of enabled unscheduled high priority tasks and the executing of scheduled high priority tasks after each enabled unscheduled low priority task is executed.

6 . The method of claim 1 wherein each of the executing of enabled unscheduled high priority tasks, the executing of scheduled high priority tasks and the executing of scheduled low priority tasks includes using a set of pointers to execute a particular task wherein each pointer points to a memory address of the particular task.

7 . The method of claim 1 wherein the executing of enabled unscheduled high priority tasks, the executing of scheduled high priority tasks and the executing of scheduled low priority tasks are performed by a processing unit running a task scheduler computer program stored in memory of the embedded system, the task scheduler computer program requiring less than one thousand bytes of memory space in the embedded system.

8 . The method of claim 7 wherein the task scheduler computer program requires less than seven hundred bytes of memory space in the embedded system.

9 . A task scheduler system for managing tasks in an embedded system, the task scheduler system comprising:

an unscheduled high priority task queue containing unscheduled high priority tasks;

a scheduled high priority task queue containing scheduled high priority tasks;

a scheduled low priority task queue containing scheduled low priority tasks; and

a task scheduler operatively connected to the unscheduled and scheduled task queues, the task scheduler being configured to execute enabled unscheduled high priority tasks, to execute the scheduled high priority tasks while yielding execution priority of the scheduled high priority tasks to the enabled unscheduled high priority tasks, and to execute the scheduled low priority tasks while yielding execution priority of the scheduled low priority tasks to the enabled unscheduled high priority tasks and the scheduled high priority tasks, the task scheduler being further configured to perform execution of tasks without dependence on a Real Time Operating System in the embedded system.

10 . The task scheduler system of claim 9 wherein the unscheduled high priority tasks, the scheduled high priority tasks and the scheduled low priority tasks are sets of pointers in the respective queues wherein each pointer points to a memory address of a particular task.

11 . The task scheduler system of claim 9 wherein the task scheduler is configured to repeat execution of enabled unscheduled high priority tasks after each scheduled high priority task is executed.

12 . The task scheduler system of claim 9 wherein the task scheduler is configured to repeat execution of enabled unscheduled high priority tasks and scheduled high priority tasks after each scheduled low priority task is executed.

13 . The task scheduler system of claim 9 further comprising an unscheduled low priority task queue containing unscheduled low priority tasks, and wherein the task scheduler is further configured to execute enabled unscheduled low priority tasks while yielding execution priority of the enabled unscheduled low priority tasks to the enabled unscheduled high priority tasks and to the scheduled high priority tasks.

14 . The task scheduler system of claim 13 wherein the task scheduler is configured to repeat execution of enabled unscheduled high priority tasks and the scheduled high priority tasks after each enabled unscheduled low priority task is executed.

15 . The task scheduler system of claim 9 wherein the task scheduler requires less than one thousand bytes of memory space in the embedded system.

16 . An embedded system comprising:

memory containing a task scheduler computer program; and

processing unit configured to run the task scheduler computer program without a Real Time Operating System so that the task scheduler computer program performs method steps for managing tasks, the method steps comprising:

executing enabled unscheduled high priority tasks;

executing scheduled high priority tasks while yielding execution priority of the scheduled high priority tasks to the enabled unscheduled high priority tasks; and

executing scheduled low priority tasks while yielding execution priority of the scheduled low priority tasks to the enabled unscheduled high priority tasks and the scheduled high priority tasks.

17 . The embedded system of claim 16 wherein the executing of scheduled high priority tasks includes repeating the executing of enabled unscheduled high priority tasks after each scheduled high priority task is executed.

18 . The embedded system of claim 16 wherein the method steps further comprises executing enabled unscheduled low priority tasks while yielding execution priority of the enabled unscheduled low priority tasks to the enabled unscheduled high priority tasks and to the scheduled high priority tasks.

19 . The embedded system of claim 16 wherein each of the executing of enabled unscheduled high priority tasks, executing of scheduled high priority tasks and executing of scheduled low priority tasks includes using a set of pointers to execute a particular task wherein each pointer points to a memory address of the particular task.

20 . The embedded system of claim 16 wherein the task scheduler computer program requires less than one thousand bytes of memory space in the embedded system.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 017206 FRAME: 0666. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2016
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 038632/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2006
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD
Reel/Frame 017675/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2006
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES FIBER IP (SINGAPORE) PTE. LTD.
Reel/Frame 017675/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2006
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP PTE. LTD.
Reel/Frame 017206/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2006
From: DENG, YONG
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 017157/0419 →