Real-time task manager for a personal computer
AssigneeSmart Link Ltd.
InventorBenjamin Maytal
Life of this patent
Estimating the term…
Abstract
A real-time manager for a personal computer manages the operation of real-time tasks while the personal computer also performs other tasks. The real-time manager includes at least one real-time kernel and a task service manager. The real-time kernel activates and controls the real-time tasks. The task service manager allocates time between the real-time tasks and the other tasks, selects the service levels of the real-time tasks in response to the activity levels of the other tasks, and invokes the real-time kernel to activate and control the real-time tasks at the selected service levels.
Claims28
A real time task manager for a personal computer for managing the operation of real time tasks while the personal computer also performs other tasks, the real time manager comprising:
- at least one operating system for activating and controlling said real-time tasks;
- and
- a task service manager for allocating time between said real-time tasks and the other tasks, said task service manager including a processor programmed to:
- receive information as to the real-time tasks being performed at a first time interval;
- allocate a time to each of said real-time tasks being performed under operator control at said first time interval, said allocation including selecting the service levels of said operator controlled real-time tasks in response to said time allowance, and
- invoke the operating system to activate and control at least all of said operator controlled real-time tasks from said first time interval at the selected service levels, at a second time interval.
A real-time task manager for a personal computer for managing the operation of real-time tasks while the personal computer also performs other tasks, the real-time manager comprising:
- at least one real-time operating system for activating and controlling said real-time tasks;
- a task service manager for allocating time between said real-time tasks and the other tasks, for selecting the service levels of said real-time tasks in response to the activity levels of said other tasks, and for invoking the real-time operating system to activate and control said real-time tasks at the selected service levels;
- and
- a time allocator, said time allocator including momentary degradation means for momentarily not accepting data.
A real-time task manager for a personal computer for managing the operation of real-time tasks while the personal computer also performs other tasks, the real-time manager comprising:
- at least one real-time operating system for activating and controlling said real-time tasks;
- a task service manager for allocating time between said real-time tasks and the other tasks, for selecting the service levels of said real-time tasks in response to the activity levels of said other tasks, and for invoking the real-time operating system to activate and control said real-time tasks at the selected service levels;
- and
- a time allocator, said time allocator including frame rate changing means for changing the frame rate of a video signal, thereby to change the service level of a video task.
A real-time task manager for a personal computer for managing the operation of real-time tasks while the personal computer also performs other tasks, the real-time manager comprising:
- at least one real-time operating system for activating and controlling said real-time tasks;
- a task service manager for allocating time between said real-time tasks and the other tasks, for selecting the service levels of said real-time tasks in response to the activity levels of said other tasks, and for invoking the real-time operating system to activate and control said real-time tasks at the selected service levels, and is configured for operating in conjunction with at least one real-time device, and
- an adjustable-sized buffer into which data received from said at least one real-time during a predetermined length of time are placed to be processed later by the real-time tasks associated with said at least one real-time device.
A method for managing the operation of real-time tasks of a personal computer while the personal computer performs other tasks, the method comprising the steps of:
- monitoring the CPU at a first time to determine the real-time tasks being performed at said first time;
- allocating time between said real time tasks being performed at said predetermined time;
- selecting the service levels of said real-time tasks in response to the activity levels of said other tasks;
- and
- invoking a real time operating system to activate and control said real time tasks at the selected service levels at a second time.
A method for managing the operation of real-time tasks of a personal computer while the personal computer also performs other tasks, the method comprising the steps of:
- allocating time between said real-time tasks and said other tasks;
- and
- selecting the service levels of said real-time tasks in response to the activity levels of said other tasks;
- wherein when at least one of said real-time tasks is a modem task utilizing a constellation, said selecting step includes, requesting that, in the presence of clean communication lines, said modem change said constellation.
A method for managing the operation of real-time tasks of a personal computer while the personal computer also performs other tasks, the method comprising the steps of:
- allocating time between said real-time tasks and said other tasks;
- and
- selecting the service levels of said real-time tasks in response to the activity levels of said other tasks;
- wherein when at least one of said real-time tasks is a modem task and said selecting step includes, momentarily not accepting data, thereby requiring a sending modem to retransmit the requisite data.
A method for managing the operation of real-time tasks of a personal computer while the personal computer also performs other tasks, the method comprising the steps of:
- allocating time between said real-time tasks and said other tasks;
- and
- selecting the service levels of said real-time tasks in response to the activity levels of said other tasks;
- wherein when at least one of said real-time tasks is an audio task which samples and plays an audio signal and said selecting step includes, changing the sampling rate of said audio task, thereby to change the service level of said audio task.
A method for managing the operation of real-time tasks performed by real-time devices of a personal computer while the personal computer also performs other tasks, the method comprising the steps of:
- monitoring at least one of the following:
- a) performance counters which determine the activity level of the computer;
- b) a nested interrupt by an operating system of said personal computer;
- and
- c) for modem tasks, the presence or absence of data transfers,
- to determine the useful loading of the central processing unit (CPU) of said personal computer with respect to the activity level of all of the tasks;
- determining the amount of time available for the real-time tasks;
- selecting the service levels of the currently active real-time tasks in accordance with the amount of time available;
- and
- adjusting the size of a buffer into which data received from said real-time devices during a predetermined length of time are placed to be processed later by the real-time tasks associated with said at least one real-time device thereby to match the size of said buffer with the amount of processing time allocated to said currently active real-time tasks.
Dependencies are inferred from the claim text.