CN103488536A - Task scheduling method and device and operating system - Google Patents
Task scheduling method and device and operating system Download PDFInfo
- Publication number
- CN103488536A CN103488536A CN201310454952.6A CN201310454952A CN103488536A CN 103488536 A CN103488536 A CN 103488536A CN 201310454952 A CN201310454952 A CN 201310454952A CN 103488536 A CN103488536 A CN 103488536A
- Authority
- CN
- China
- Prior art keywords
- subtask
- task
- task scheduling
- index
- scheduled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
The embodiment of the invention provides a task scheduling method and device and an operating system. The task scheduling method comprises the steps of (1) a task scheduling index list is registered and is generated according to all subtasks contained in a task; (2) subtasks which need to be scheduled to be executed are determined when a user program schedules the task; (3) the task scheduling index list is updated according to the subtasks which need to be scheduled to be executed when the user program schedules the task, so that the task scheduling index list only comprises the subtasks which need to be scheduled to be executed when the user program schedules the task; (4) the subtasks in the updated task scheduling index list are scheduled to be executed to accomplish the operation that the user program schedules the task. According to the task scheduling method and device and the operating system, due to the facts that the subtasks which need to be scheduled to be executed are determined when the user program schedules the task, and the task scheduling index list is updated, dynamic scheduling of the task is achieved; due to the fact that subtasks which do not need to be executed are not scheduled any longer, the purpose of reducing useless expenses and the purpose of reducing the load of a CPU and power consumption of the system are achieved.
Description
Technical field
The embodiment of the present invention relates to the computer operating system technology, relates in particular to a kind of method for scheduling task, device and operating system.
Background technology
In electronic device field, power consumption is a very important index, and the height of processor cpu load, directly can affect the power consumption of whole system.For a product, for Promote Competitive, can be to hardware resource, as cpu frequency, bus frequency, Double Data Rate synchronous DRAM DDR frequency etc. are done some restrictions, therefore how to reduce the CPU key index in limited cpu resource, such as average load and peak load, it is the important technical that reduces the product power consumption.
In prior art, the CPU Processing tasks is serial scheduling, task program compiled after, the order that task scheduling is carried out is static, changeless.Such as, Fig. 1 is task scheduling sequential schematic of the prior art, and as shown in Figure 1, one interrupts comprising a plurality of subtask FUN_1, FUN_2, FUN_3, FUN_4...FUN_X in Processing tasks, when calling the interruption Processing tasks, need order to carry out all subtasks.
And, when user program calls certain task, not all subtask all needs to carry out to call, such as subtask FUN_1, FUN_3 and the FUN_4 in Fig. 1.But because existing task scheduling is that static order is carried out, therefore in the scheduler task process, even exist the subtask do not need to carry out also need scheduled for executing as pop down, move back the operations such as stack and condition judgement, thereby cause scheduling to have useless scheduling overhead, increased cpu load and system power dissipation.
Summary of the invention
The embodiment of the present invention provides a kind of method for scheduling task, device and operating system, walks around the subtask that does not need scheduled for executing in task when realizing that user program calls certain task, thereby reduces the purpose of cpu load and system power dissipation.
First aspect, the embodiment of the present invention provides a kind of method for scheduling task, comprising:
The all subtasks that comprise according to task, registration generates the task scheduling index, and described task scheduling index at least comprises the function entrance address pointer corresponding to index and each subtask of each subtask;
The subtask that needs scheduled for executing while determining the described task of user procedure dispatching;
The subtask that needs scheduled for executing during according to the described task of described user procedure dispatching, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching;
Each subtask in task scheduling index after scheduled for executing is upgraded is to complete the described task of described user procedure dispatching.
In first aspect the first, in possible implementation, each subtask in the task scheduling index after described scheduled for executing is upgraded, to complete the described task of described user procedure dispatching, comprising:
Starting order from first subtask according to the index of each subtask in the task scheduling index after described renewal jumps to function entrance pointer address corresponding to each subtask and carries out each subtask program in machine code, if the function entrance pointer address of carrying out is empty, exit described task scheduling.
In conjunction with first aspect or the possible implementation of first aspect the first, at first aspect the second in possible implementation, the described all subtasks that comprise according to task, registration generates the task scheduling index, comprising:
The execution sequence of each subtask comprised according to described task, generate the call number of each subtask in described task scheduling index, so that the call number of the execution sequence of each subtask and each subtask sequentially is consistent;
Sequentially register and generate the task scheduling index according to the call number of described each subtask.
The possible implementation in conjunction with first aspect the second, in the third possible implementation of first aspect, the described subtask that needs scheduled for executing during according to the described task of described user procedure dispatching, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching, comprising:
If do not need the subtask of scheduled for executing while having the described task of described user procedure dispatching in described task scheduling index, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again; Or,
If need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.
In conjunction with first aspect, first aspect the first to the third possible implementation, in the 4th kind of possible implementation of first aspect, the function entrance address of the correspondence that the index of described each subtask is described each subtask.
In conjunction with first aspect, four kinds of possible implementations of first aspect the first to the, in the 5th kind of possible implementation of first aspect, described task is periodically carrying out in system of task.
Second aspect, the embodiment of the present invention provides a kind of task scheduling apparatus, comprising:
The registration generation module, for all subtasks that comprise according to task, registration generates the task scheduling index, and described task scheduling index at least comprises the function entrance address pointer corresponding to index and each subtask of each subtask;
Determine the subtask module, need the subtask of scheduled for executing during for definite described task of user procedure dispatching;
Upgrade task scheduling index module, the subtask that needs scheduled for executing for according to the described task of described user procedure dispatching the time, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching;
The scheduled for executing module, each subtask of the task scheduling index after upgrading for scheduled for executing is to complete the described task of described user procedure dispatching.
In second aspect the first in possible implementation, described scheduled for executing module, specifically for:
Starting order from first subtask according to the index of each subtask in the task scheduling index after described renewal jumps to function entrance pointer address corresponding to each subtask and carries out each subtask program in machine code, if the function entrance pointer address of carrying out is empty, exit described task scheduling.
In conjunction with second aspect or the possible implementation of second aspect the first, at second aspect the second, in possible implementation, described registration generation module comprises:
The generating indexes unit, for the execution sequence of each subtask of comprising according to described task, generate the call number of each subtask in described task scheduling index, so that the call number of the execution sequence of each subtask and each subtask sequentially is consistent;
Generate task scheduling index unit, for the call number according to described each subtask, sequentially register and generate the task scheduling index.
The possible implementation in conjunction with second aspect the second, in the third possible implementation of second aspect, described renewal task scheduling index module, specifically for:
If do not need the subtask of scheduled for executing while having the described task of described user procedure dispatching in described task scheduling index, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again; Or,
If need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.
In conjunction with second aspect, second aspect the first to the third possible implementation, in the 4th kind of possible implementation of second aspect, the function entrance address of the correspondence that the index of described each subtask is described each subtask.
In conjunction with second aspect, four kinds of possible implementations of second aspect the first to the, in the 5th kind of possible implementation of second aspect, described task is periodically carrying out in system of task.
The third aspect, the embodiment of the present invention provides a kind of operating system, comprises a kind of task scheduling apparatus in any possible implementation of five kinds of second aspects, second aspect the first to the.
The embodiment of the present invention needs the subtask of scheduled for executing and upgrades the task scheduling index by determining the user procedure dispatching task, to realize Real-time Task Dispatch, without the subtask of carrying out scheduled for executing not, to realize reducing useless expense, reduce the purpose of cpu load and system power dissipation.
The accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, below will the accompanying drawing of required use in embodiment or description of the Prior Art be briefly described, apparently, accompanying drawing in the following describes is some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain according to these accompanying drawings other accompanying drawing.
Fig. 1 is task scheduling sequential schematic of the prior art;
The process flow diagram that Fig. 2 is a kind of method for scheduling task embodiment mono-of the present invention;
Fig. 3 is the task scheduling index schematic diagram that in Fig. 2, registration generates;
Fig. 4 is the task scheduling index schematic diagram upgraded in Fig. 2;
The process flow diagram that Fig. 5 is a kind of method for scheduling task embodiment bis-of the present invention;
The structural drawing that Fig. 6 is a kind of task scheduling apparatus embodiment mono-of the present invention;
The structural drawing that Fig. 7 is a kind of task scheduling apparatus embodiment bis-of the present invention;
The Organization Chart that Fig. 8 is a kind of operating system embodiment mono-of the present invention;
The software patch bay composition that Fig. 9 is Fig. 8.
Embodiment
For the purpose, technical scheme and the advantage that make the embodiment of the present invention clearer, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, rather than whole embodiment.Embodiment based in the present invention, those of ordinary skills, not making under the creative work prerequisite the every other embodiment obtained, belong to the scope of protection of the invention.
The process flow diagram that Fig. 2 is a kind of method for scheduling task embodiment mono-of the present invention, the executive agent of this method is task scheduling apparatus, this device can be placed in operating system, as Linux, Windows, Solaris and VxWorks etc.As shown in Figure 2, the method specifically comprises:
In this step, subtask is the subfunction in mission function.The task scheduling concordance list leaves in internal memory, can unify to apply for space while realizing and safeguard, also can safeguard by each concrete business module.
Fig. 3 is the task scheduling index schematic diagram that in Fig. 2, registration generates, as shown in Figure 3, if task comprises a plurality of subtask FUN_1, FUN_2, FUN_3, FUN_4...FUN_X, the task scheduling index that registration generates comprises that index with above-mentioned subtask is (such as 1,2,3...X) and corresponding function entrance address pointer (such as FunPtr_1, FunPtr_2, FunPtr_3, FunPtr_4...FunPtr_X).
When determining the task of certain user program in calling graph 3, only need to call FUN_1 and two subtasks of FUN_X wherein.
In this step, on the basis of the task scheduling index generated in registration, need the subtask of scheduled for executing during the definite described task of user procedure dispatching based on step 202, the task scheduling index is upgraded.Such as, Fig. 4 is the task scheduling index schematic diagram upgraded in Fig. 2, as shown in Figure 4, when certain user program calling task, only need to call FUN_1 and two subtasks of FUN_X, therefore, the task scheduling index that registration is generated is upgraded, and only retains the relevant information of FUN_1 and two subtasks of FUN_X.
Each subtask in task scheduling index after step 204, scheduled for executing are upgraded is to complete the described task of described user procedure dispatching.
In prior art, during certain task of certain user procedure dispatching, the whole subtasks that need this task of scheduling, the embodiment of the present invention needs the subtask of scheduled for executing and upgrades the task scheduling index by determining the user procedure dispatching task, directly according to the order of the task scheduling index after upgrading, carry out required subtask, without inquiry, just can directly carry out required subtask.Thereby realize Real-time Task Dispatch, without the subtask of carrying out scheduled for executing not, to realize reducing the expense that useless scheduling produces, reduce the purpose of cpu load and system power dissipation.
Preferentially, on the basis of above-described embodiment, described task is periodically carrying out in system of task.For each periodic task, independently task entrance (as interrupted entrance function, message processing function etc.) all can be arranged.Take the WCDMA system as example, generally all can the protocols having layer, Physical layer and the bottom module such as eat dishes without rice or wine.For physical layer block, need frequent treatment cycle task: as tasks such as 2ms subframe task, measurement, search, decodings.
Periodically carrying out of task need to frequently be called, and system resource takies maximum, if adopt the technical scheme of the present embodiment, will effectively reduce cpu load and system power dissipation, therefore, call cycle task more frequently, the technique effect that the technical scheme of the present embodiment is brought can be larger.
The process flow diagram that Fig. 5 is a kind of method for scheduling task embodiment bis-of the present invention as shown in Figure 5, specifically comprises:
The execution sequence of step 501, each subtask of comprising according to described task, generate the call number of each subtask in described task scheduling index, so that the call number of the execution sequence of each subtask and each subtask sequentially is consistent;
The execution sequence of each subtask comprised according to described task generates the call number of each subtask in the task scheduling index, to guarantee that execution sequence is consistent with the relative order of static task when compiled, therefore can be because of the inconsistent consistance that causes destroying software logic of order when carrying out.
The call number of step 502, described each subtask of foundation is sequentially registered and is generated the task scheduling index, and described task scheduling index at least comprises the function entrance address pointer corresponding to index and each subtask of each subtask;
If do not need the subtask of scheduled for executing while in the described task scheduling index of step 504, having the described task of described user procedure dispatching, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again;
Be example with the 2ms subframe task in Wideband Code Division Multiple Access (WCDMA) (wideband CDMA is called for short WCDMA) system, following deletion function can be set:
void?DEMO_Del_Wcdma2msTask(int?SubFrameIndex,void*pFun);
Functional description: delete the 2ms periodic task
Parameter declaration: int SubFrameIndex-----subframe index: 0~4
Void*pFun-----task entrance (function pointer)
Realize details: 1, find corresponding 2ms subframe " task scheduling concordance list ";
2, delete subtask, function pointer is deleted from " task scheduling concordance list ";
3, follow-up work shifts to an earlier date one by one, and the NULL(null pointer is disposed in ending).
Alternatively, in this step, if need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.The 2ms subframe task of take in the WCDMA system is example, and following interpolation function can be set:
void?DEMO_Add_Wcdma2msTask(int?SubFrameIndex,void*pFun);
Functional description: add the 2ms periodic task
Parameter declaration: int SubFrameIndex-----subframe index: 0~4
Void*pFun-----task entrance (function pointer)
Realize details: 1, find corresponding 2ms subframe " task scheduling concordance list ";
2, add subtask, function pointer is added to " task scheduling concordance list ";
3, task is sequentially sorted according to the static state compiling.
Preferably, the index of described each subtask also can directly be used the function entrance address of the correspondence of described each subtask, because after software translating, each function entrance has a unique entry reference, and each task entry reference can not repeat, both meet the sequence demand, also met the demand indexed with the function entrance pointer simultaneously.
Whether function entrance pointer address corresponding to each subtask that judgement is sequentially carried out is empty, if it is empty, illustrates that the subtask that user program calls while carrying out is finished, and performs step 507; If address is not empty, continue execution step 505.
The present embodiment, need the subfunction of scheduled for executing when determining that user program calls, and, by adding and deleting the subtask in the task scheduling index, realize Real-time Task Dispatch, can increase, the deletion task.And without the useless subtask expense of calling, reduce cpu load, reduced the demand to products-hardware, also reduced system power dissipation simultaneously.
The structural drawing that Fig. 6 is a kind of task scheduling apparatus embodiment mono-of the present invention, as shown in Figure 6, this device 60 comprises:
Determine subtask module 62, need the subtask of scheduled for executing during for definite described task of user procedure dispatching;
Upgrade task scheduling index module 63, the subtask that needs scheduled for executing for according to the described task of described user procedure dispatching the time, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching;
Scheduled for executing module 64, each subtask of the task scheduling index after upgrading for scheduled for executing is to complete the described task of described user procedure dispatching.
The device of the present embodiment, for the technical scheme of embodiment of the method shown in execution graph 2, its realize principle and technique effect similar, repeat no more herein.
The structural drawing that Fig. 7 is a kind of task scheduling apparatus embodiment bis-of the present invention, as shown in Figure 7, this installs 70 on the basis of a upper embodiment, further, described scheduled for executing module 64, specifically for:
Starting order from first subtask according to the index of each subtask in the task scheduling index after described renewal jumps to function entrance pointer address corresponding to each subtask and carries out each subtask program in machine code, if the function entrance pointer address of carrying out is empty, exit described task scheduling.
Described registration generation module 61 comprises:
Generate task scheduling index unit 72, for the call number according to described each subtask, sequentially register and generate the task scheduling index.
Particularly, described renewal task scheduling index module 63, specifically for:
If do not need the subtask of scheduled for executing while having the described task of described user procedure dispatching in described task scheduling index, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again; Or,
If need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.
The function entrance address of the correspondence that further, the index of described each subtask is described each subtask.
Preferably, described task is periodically carrying out in system of task.
The device of the present embodiment, for the technical scheme of embodiment of the method shown in execution graph 5, its realize principle and technique effect similar, repeat no more herein.
Embodiment 5
The Organization Chart that Fig. 8 is a kind of operating system embodiment mono-of the present invention, as shown in Figure 8, this operating system comprises task scheduling apparatus 80.
In the present embodiment, operating system can be Linux, Windows, Solaris and VxWorks etc.
The software patch bay composition that Fig. 9 is Fig. 8, as shown in Figure 9, specific explanations is described as follows:
CPU core: the main body that software instruction is carried out;
Double Data Rate synchronous DRAM (Double Data Rate is called for short DDR): software code storage medium; Similarly storage medium can expand to synchronous DRAM (Synchronous Dynamic Random Access Memory is called for short SDRAM), read-only memory (Read-Only Memory is called for short ROM) etc.;
Senior high performance bus (Advanced High Performance Bus, be called for short AHB)/senior extensive interface (Advanced eXtensible Interface, be called for short AXI) BUS: system bus keeps synchronous and completes data interaction for linking modules;
Other modules: other modules that the system operation needs;
Push: the system pop down saves system context;
Pop: system is moved back stack, the recovery system context;
During the CPU operation, need, by AHB/AXI BUS, from DDR, to obtain instruction (such as push, pop etc.); The number of instruction has determined the length of CPU execution time; The embodiment of the present invention, CPU is without all subtasks in entire run DDR, only need operation to need the subtask (such as the task0 in Fig. 9, task1, task2 and task3) of scheduled for executing, execute required subtask and just can drop by the wayside, reduced the useless expense of CPU.
The operating system of above-described embodiment can be for plurality of application scenes, especially relate to the task that a lot of periodicity is carried out, such as with global system for mobile communications (global system for mobile communications, being called for short GSM) system is example, generally all can the protocols having layer, Physical layer, the bottom module such as eat dishes without rice or wine.For physical layer block, need frequent treatment cycle task: as tasks such as time slot task, measurement, demodulation, decodings.Above-mentioned enumerating of task is all periodically repeatably; Take the decoding task as example; Under different service conditions, as CS state (voice), PS state (number passes) and PCH state (paging of idle solution); The decoding treatment scheme is incomplete same, needs the task of scheduling that difference is also arranged.Such as under the PCH state, need task to be processed seldom, only have TASK_COM, TASK_A1 and TASK_A2; And, at the PS state, need task to be processed a lot, TASK_COM, TASK_B1, TASK_B2 are arranged ... TASK_A266.When the PCH state switches to the PS state, need to upgrade " task scheduling index ", the task that the PS state need to be carried out articulates up, and the task that the PCH state is just carried out is deleted; For public task TASK_COM, need to retain.
Due to the operating system of the embodiment of the present invention subtask useless without execution, therefore, there is the system scene that more polycyclic is executed the task, the technique effect that the operating system of the embodiment of the present invention is brought is just larger.
Finally it should be noted that: above each embodiment, only in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to aforementioned each embodiment, the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: its technical scheme that still can put down in writing aforementioned each embodiment is modified, or some or all of technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the scope of various embodiments of the present invention technical scheme.
Claims (13)
1. a method for scheduling task, is characterized in that, comprising:
The all subtasks that comprise according to task, registration generates the task scheduling index, and described task scheduling index at least comprises the function entrance address pointer corresponding to index and each subtask of each subtask;
The subtask that needs scheduled for executing while determining the described task of user procedure dispatching;
The subtask that needs scheduled for executing during according to the described task of described user procedure dispatching, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching;
Each subtask in task scheduling index after scheduled for executing is upgraded is to complete the described task of described user procedure dispatching.
2. method according to claim 1, is characterized in that, each subtask in the task scheduling index after described scheduled for executing is upgraded, to complete the described task of described user procedure dispatching, comprising:
Starting order from first subtask according to the index of each subtask in the task scheduling index after described renewal jumps to function entrance pointer address corresponding to each subtask and carries out each subtask program in machine code, if the function entrance pointer address of carrying out is empty, exit described task scheduling.
3. method according to claim 1 and 2, is characterized in that, the described all subtasks that comprise according to task, and registration generates the task scheduling index, comprising:
The execution sequence of each subtask comprised according to described task, generate the call number of each subtask in described task scheduling index, so that the call number of the execution sequence of each subtask and each subtask sequentially is consistent;
Sequentially register and generate the task scheduling index according to the call number of described each subtask.
4. method according to claim 3, it is characterized in that, the described subtask that needs scheduled for executing during according to the described task of described user procedure dispatching, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching, comprising:
If do not need the subtask of scheduled for executing while having the described task of described user procedure dispatching in described task scheduling index, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again; Or,
If need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.
5. according to the arbitrary described method of claim 1-4, it is characterized in that the function entrance address of the correspondence that the index of described each subtask is described each subtask.
6. according to the arbitrary described method of claim 1-5, it is characterized in that, described task is periodically carrying out in system of task.
7. a task scheduling apparatus, is characterized in that, comprising:
The registration generation module, for all subtasks that comprise according to task, registration generates the task scheduling index, and described task scheduling index at least comprises the function entrance address pointer corresponding to index and each subtask of each subtask;
Determine the subtask module, need the subtask of scheduled for executing during for definite described task of user procedure dispatching;
Upgrade task scheduling index module, the subtask that needs scheduled for executing for according to the described task of described user procedure dispatching the time, upgrade described task scheduling index so that described task scheduling index needs the subtask of scheduled for executing while only including the described task of described user procedure dispatching;
The scheduled for executing module, each subtask of the task scheduling index after upgrading for scheduled for executing is to complete the described task of described user procedure dispatching.
8. device according to claim 7, is characterized in that, described scheduled for executing module, specifically for:
Starting order from first subtask according to the index of each subtask in the task scheduling index after described renewal jumps to function entrance pointer address corresponding to each subtask and carries out each subtask program in machine code, if the function entrance pointer address of carrying out is empty, exit described task scheduling.
9. according to the described device of claim 7 or 8, it is characterized in that, described registration generation module comprises:
The generating indexes unit, for the execution sequence of each subtask of comprising according to described task, generate the call number of each subtask in described task scheduling index, so that the call number of the execution sequence of each subtask and each subtask sequentially is consistent;
Generate task scheduling index unit, for the call number according to described each subtask, sequentially register and generate the task scheduling index.
10. device according to claim 9, is characterized in that, described renewal task scheduling index module, specifically for:
If do not need the subtask of scheduled for executing while having the described task of described user procedure dispatching in described task scheduling index, described subtask is deleted from described task scheduling index, and remaining whole subtasks call number based on each subtask is carried out to order sequence again; Or,
If need the subtask of scheduled for executing while not having the described task of described user procedure dispatching in described task scheduling index, the registration of described subtask is increased in described task scheduling index, and the call number based on each subtask is carried out order sequence again to whole subtasks.
11. according to the arbitrary described method of claim 7-10, it is characterized in that the function entrance address of the correspondence that the index of described each subtask is described each subtask.
12. according to the arbitrary described device of claim 7-11, it is characterized in that, described task is periodically carrying out in system of task.
13. an operating system, is characterized in that, comprises the arbitrary described a kind of task scheduling apparatus of claim 7-12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310454952.6A CN103488536B (en) | 2013-09-29 | 2013-09-29 | Method for scheduling task, device and operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310454952.6A CN103488536B (en) | 2013-09-29 | 2013-09-29 | Method for scheduling task, device and operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488536A true CN103488536A (en) | 2014-01-01 |
CN103488536B CN103488536B (en) | 2017-12-05 |
Family
ID=49828792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310454952.6A Active CN103488536B (en) | 2013-09-29 | 2013-09-29 | Method for scheduling task, device and operating system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488536B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793996A (en) * | 2015-04-29 | 2015-07-22 | 中芯睿智(北京)微电子科技有限公司 | Task scheduling method and device of parallel computing equipment |
CN106470226A (en) * | 2015-08-18 | 2017-03-01 | 阿里巴巴集团控股有限公司 | The Proxy Method of a kind of client and service end mutual message and device |
CN107295690A (en) * | 2017-06-07 | 2017-10-24 | 武汉虹信通信技术有限责任公司 | A kind of scheduling implementation method for LTE communication system |
WO2018000678A1 (en) * | 2016-06-27 | 2018-01-04 | 中兴通讯股份有限公司 | Method and apparatus for module process scheduling |
CN109669452A (en) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | A kind of cloud robot task dispatching method and system based on parallel intensified learning |
CN109710399A (en) * | 2018-12-14 | 2019-05-03 | 湖北航天技术研究院总体设计所 | A kind of DSP communication task scheduling system and method |
CN109871274A (en) * | 2019-02-27 | 2019-06-11 | 西安微电子技术研究所 | A kind of the multitask construction and processing method of embedded environment application |
CN113051175A (en) * | 2021-04-19 | 2021-06-29 | 杭州至千哩科技有限公司 | Extensible general workflow framework system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912712B1 (en) * | 1999-10-11 | 2005-06-28 | Samsung Electronics Co., Ltd. | Real time control system for multitasking digital signal processor using ready queue |
CN101299197A (en) * | 2008-06-30 | 2008-11-05 | 北京中星微电子有限公司 | Method and unit for adding and deleting task |
CN101950260A (en) * | 2010-09-10 | 2011-01-19 | 中兴通讯股份有限公司 | Processor program dispatching method and device |
CN102591703A (en) * | 2011-01-10 | 2012-07-18 | 中兴通讯股份有限公司 | Task scheduling method and task scheduling device for operating system and computer |
-
2013
- 2013-09-29 CN CN201310454952.6A patent/CN103488536B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912712B1 (en) * | 1999-10-11 | 2005-06-28 | Samsung Electronics Co., Ltd. | Real time control system for multitasking digital signal processor using ready queue |
CN101299197A (en) * | 2008-06-30 | 2008-11-05 | 北京中星微电子有限公司 | Method and unit for adding and deleting task |
CN101950260A (en) * | 2010-09-10 | 2011-01-19 | 中兴通讯股份有限公司 | Processor program dispatching method and device |
CN102591703A (en) * | 2011-01-10 | 2012-07-18 | 中兴通讯股份有限公司 | Task scheduling method and task scheduling device for operating system and computer |
Non-Patent Citations (1)
Title |
---|
李奇等: "一种时间触发的多任务调度器设计", 《单片机与嵌入式系统应用》, no. 5, 1 May 2008 (2008-05-01), pages 17 - 19 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104793996A (en) * | 2015-04-29 | 2015-07-22 | 中芯睿智(北京)微电子科技有限公司 | Task scheduling method and device of parallel computing equipment |
CN106470226A (en) * | 2015-08-18 | 2017-03-01 | 阿里巴巴集团控股有限公司 | The Proxy Method of a kind of client and service end mutual message and device |
WO2018000678A1 (en) * | 2016-06-27 | 2018-01-04 | 中兴通讯股份有限公司 | Method and apparatus for module process scheduling |
CN107544886A (en) * | 2016-06-27 | 2018-01-05 | 上海中兴软件有限责任公司 | A kind of block process dispatching method and device |
CN107295690A (en) * | 2017-06-07 | 2017-10-24 | 武汉虹信通信技术有限责任公司 | A kind of scheduling implementation method for LTE communication system |
CN109669452A (en) * | 2018-11-02 | 2019-04-23 | 北京物资学院 | A kind of cloud robot task dispatching method and system based on parallel intensified learning |
CN109710399A (en) * | 2018-12-14 | 2019-05-03 | 湖北航天技术研究院总体设计所 | A kind of DSP communication task scheduling system and method |
CN109710399B (en) * | 2018-12-14 | 2021-04-06 | 湖北航天技术研究院总体设计所 | DSP communication task scheduling system and method |
CN109871274A (en) * | 2019-02-27 | 2019-06-11 | 西安微电子技术研究所 | A kind of the multitask construction and processing method of embedded environment application |
CN109871274B (en) * | 2019-02-27 | 2022-12-13 | 西安微电子技术研究所 | Multitask construction and processing method for embedded environment application |
CN113051175A (en) * | 2021-04-19 | 2021-06-29 | 杭州至千哩科技有限公司 | Extensible general workflow framework system |
Also Published As
Publication number | Publication date |
---|---|
CN103488536B (en) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488536A (en) | Task scheduling method and device and operating system | |
US20130346979A1 (en) | Profiling application code to identify code portions for fpga implementation | |
CN102279766A (en) | Method and system for concurrently simulating processors and scheduler | |
KR20140131978A (en) | System and method for memory management | |
EP2979182B1 (en) | On-demand scalable timer wheel | |
TW201738741A (en) | Method and apparatus for creating virtual machine | |
CN113010275A (en) | Interrupt processing method and device | |
Legout et al. | A scheduling algorithm to reduce the static energy consumption of multiprocessor real-time systems | |
WO2014209361A1 (en) | Binary translation for multi-processor and multi-core platforms | |
CN102135943B (en) | Storing and accessing method of flash memory data and device thereof | |
Resano et al. | Specific scheduling support to minimize the reconfiguration overhead of dynamically reconfigurable hardware | |
CN114296915B (en) | Operating system scheduling method, device, equipment and storage medium | |
JP2017073000A (en) | Parallelization method, parallelization tool, and on-vehicle device | |
US7225443B2 (en) | Stack usage in computer-related operating systems | |
CN103902890A (en) | Monitoring method and monitoring system for Android program behaviors | |
CN104391736A (en) | Method for setting up sleep mode of virtual machine and device | |
CN109840137B (en) | Cross-core scheduling method and device | |
CN116841739B (en) | Data packet reuse system for heterogeneous computing platforms | |
CN105677481A (en) | Method and system for processing data and electronic equipment | |
EP3039544B1 (en) | Method and system for assigning a computational block of a software program to cores of a multi-processor system | |
CN109426556B (en) | Process scheduling method and device | |
CN111782362B (en) | Message task scheduling method and device and electronic equipment | |
CN106528254A (en) | APP rapid loading method | |
CN103257864A (en) | Task scheduling method of embedded software | |
GB2611964A (en) | Managing asynchronous operations in cloud computing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210425 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |