CN103488536A - Task scheduling method and device and operating system - Google Patents

Task scheduling method and device and operating system Download PDF

Info

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
Application number
CN201310454952.6A
Other languages
Chinese (zh)
Other versions
CN103488536B (en
Inventor
金义星
邵海刚
郭东风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310454952.6A priority Critical patent/CN103488536B/en
Publication of CN103488536A publication Critical patent/CN103488536A/en
Application granted granted Critical
Publication of CN103488536B publication Critical patent/CN103488536B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

Method for scheduling task, device and operating system
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.
Embodiment 1
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:
Step 201, 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;
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).
Step 202, need the subtask of scheduled for executing while determining the described task of user procedure dispatching;
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.
Step 203, need the subtask of 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;
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.
Embodiment 2
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;
Step 503, need the subtask of scheduled for executing while determining the described task of user procedure dispatching;
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.
Step 505, start order from first subtask according to the index of each subtask in the task scheduling index after described renewal and jump to function entrance pointer address corresponding to each subtask and carry out each subtask program in machine code;
Step 506, the function entrance pointer address of carrying out are empty;
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.
Step 507, exit described task scheduling.
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.
Embodiment 3
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:
Registration generation module 61, 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 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.
Embodiment 4
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:
Generating indexes unit 71, 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 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.
Task scheduling apparatus 80 in the present embodiment can adopt the task scheduling apparatus structure shown in any embodiment in Fig. 6 or 7, but the described method of arbitrary embodiment in the execution graph 2 or 5 of its correspondence.
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.
CN201310454952.6A 2013-09-29 2013-09-29 Method for scheduling task, device and operating system Active CN103488536B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
李奇等: "一种时间触发的多任务调度器设计", 《单片机与嵌入式系统应用》, no. 5, 1 May 2008 (2008-05-01), pages 17 - 19 *

Cited By (11)

* Cited by examiner, † Cited by third party
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
CN1940858B (en) Method of Multi-task realization of media player
US20130346979A1 (en) Profiling application code to identify code portions for fpga implementation
TWI715762B (en) Method and apparatus for creating virtual machine
US9990233B2 (en) Binary translation for multi-processor and multi-core platforms
KR20140131978A (en) System and method for memory management
CN113010275A (en) Interrupt processing method and device
Legout et al. A scheduling algorithm to reduce the static energy consumption of multiprocessor real-time systems
Resano et al. Specific scheduling support to minimize the reconfiguration overhead of dynamically reconfigurable hardware
EP2979182B1 (en) On-demand scalable timer wheel
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
CN107526622B (en) Rapid exception handling method and device for Linux
CN116841739B (en) Data packet reuse system for heterogeneous computing platforms
CN105677481A (en) Method and system for processing data and electronic equipment
CN109840137B (en) Cross-core scheduling method and device
CN109426556B (en) Process scheduling method and device
CN106528254A (en) APP rapid loading method
CN103257864A (en) Task scheduling method of embedded software
CN114296915A (en) Operating system scheduling method, device, equipment and storage medium
GB2611964A (en) Managing asynchronous operations in cloud computing environments
CN111857865A (en) Event type task processing method and device, electronic equipment and storage medium
CN112783557A (en) Method for parallel execution of loading and decompression in Linux kernel

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.