Priority scheduling of threads for applications sharing peripheral devices
First Claim
1. A data processor comprising:
- a CPU;
a plurality of peripheral devices; and
a memory comprising;
a plurality of device control threads for controlling operation of respective peripheral devices;
a control thread including a plurality of processing parts associated with respective device control threads;
a table storing configurations of a plurality of applications including application priority of respective applications, wherein each application includes an operation sequence of processing parts that constitute an application and a dependence relationship between the processing parts of the application, wherein the processing parts are prioritized such that processing part near end of the operation sequence is performed with higher priority than processing part near beginning of the operation sequence;
a program, when executed by the CPU, executes the control thread to perform the method of;
executing two or more of the applications sharing at least one peripheral device in parallel,wherein when an overlap between operation timings of respective processing parts of the two or more of the applications corresponding to a same peripheral device occurs, processing part with higher priority is executed before respective processing parts of other applications, whereinif priorities associated with the respective processing parts are the same, application priority of application associated with processing part that last executed is lowered such that processing part of the other application with higher priority is executed, andif each of the respective processing parts has no dependence relationship based on the configuration stored in the table, no priority is given to the respective processing parts such that the respective processing parts are executed in alternate manner.
1 Assignment
0 Petitions
Accused Products
Abstract
A data processing method has a device control thread for each peripheral device capable of an independent operation, a CPU processing thread for each data processing that is performed by a CPU, a control thread equipped with a processing part for constructing an application. The control thread checks an output from the thread related with each processing part, performs with a higher priority from the processing part in which output data of the preprocessing part as a configuration of the application exists and that is near termination, and instructs execution of the each device control thread and the CPU processing thread, and data input/output. Each of device control thread and CPU processing thread processes the data according to the instructions, and sends a processing result and a notification to the control thread.
-
Citations
4 Claims
-
1. A data processor comprising:
-
a CPU; a plurality of peripheral devices; and a memory comprising; a plurality of device control threads for controlling operation of respective peripheral devices; a control thread including a plurality of processing parts associated with respective device control threads; a table storing configurations of a plurality of applications including application priority of respective applications, wherein each application includes an operation sequence of processing parts that constitute an application and a dependence relationship between the processing parts of the application, wherein the processing parts are prioritized such that processing part near end of the operation sequence is performed with higher priority than processing part near beginning of the operation sequence; a program, when executed by the CPU, executes the control thread to perform the method of; executing two or more of the applications sharing at least one peripheral device in parallel, wherein when an overlap between operation timings of respective processing parts of the two or more of the applications corresponding to a same peripheral device occurs, processing part with higher priority is executed before respective processing parts of other applications, wherein if priorities associated with the respective processing parts are the same, application priority of application associated with processing part that last executed is lowered such that processing part of the other application with higher priority is executed, and if each of the respective processing parts has no dependence relationship based on the configuration stored in the table, no priority is given to the respective processing parts such that the respective processing parts are executed in alternate manner. - View Dependent Claims (2, 3, 4)
-
Specification