CN102096605B - Multi-level resource management implementation method in embedded real-time operation system - Google Patents

Multi-level resource management implementation method in embedded real-time operation system Download PDF

Info

Publication number
CN102096605B
CN102096605B CN201110039561A CN201110039561A CN102096605B CN 102096605 B CN102096605 B CN 102096605B CN 201110039561 A CN201110039561 A CN 201110039561A CN 201110039561 A CN201110039561 A CN 201110039561A CN 102096605 B CN102096605 B CN 102096605B
Authority
CN
China
Prior art keywords
resource
task
resources
priority
interrupt
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.)
Expired - Fee Related
Application number
CN201110039561A
Other languages
Chinese (zh)
Other versions
CN102096605A (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.)
AUTOMOBILE ELECTRONICS INDUSTRIAL PARK (KUNSHAN) OF CHENGDU ELECTRONIC TECHNOLOGY UNIVERSITY Co Ltd
Original Assignee
AUTOMOBILE ELECTRONICS INDUSTRIAL PARK (KUNSHAN) OF CHENGDU ELECTRONIC TECHNOLOGY UNIVERSITY 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 AUTOMOBILE ELECTRONICS INDUSTRIAL PARK (KUNSHAN) OF CHENGDU ELECTRONIC TECHNOLOGY UNIVERSITY Co Ltd filed Critical AUTOMOBILE ELECTRONICS INDUSTRIAL PARK (KUNSHAN) OF CHENGDU ELECTRONIC TECHNOLOGY UNIVERSITY Co Ltd
Priority to CN201110039561A priority Critical patent/CN102096605B/en
Publication of CN102096605A publication Critical patent/CN102096605A/en
Application granted granted Critical
Publication of CN102096605B publication Critical patent/CN102096605B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a multi-level resource management implementation method in an embedded real-time operation system. In order to meet the OSEK/VDX (open systems and the corresponding interfaces for automobile electronic /vehicle distributed executive) standard and the requirement for the multi-level resource management of the embedded real-time operation system, a resource control block is designed according to standard resources, link resources, interrupt resources and scheduler resources, and is linked to different positions, and the method can achieve the multi-level resource management by use of the resource control block according to the priority relationship of different resources.

Description

The implementation method of multistage resource management in a kind of embedded real-time operating system
Technical field
The invention belongs to the auto electronic control technology field, more specifically, relate to the implementation method of multistage resource management in a kind of embedded real-time operating system.
Background technology
1, the notion of resource
In the OSEK/VDX of vehicle electric field embedded real-time operating system standard, the functional requirement of resource management has been proposed, be mainly used in the protection of the shared resource in the application program.This in fact with other embedded real-time operating systems in the Semaphore Mechanism that provided similar.After task was obtained a certain shared resource, its priority can be lifted to the ceiling priority of this resource, to prevent having the task of same asset competition to get into this task.The priority of task is restored to the original priority of task when discharging resource.
Fig. 1 is the principle example figure of resource prioritization.
In example shown in Figure 1, the priority of Task1 is the highest, and the priority of Task4 is minimum.Task1 and Task4 share a resource, and then the priority of this resource should be higher or equal than Task1.When Task4 took resource, its obtained to be not less than the priority of Task1, therefore in the operational process after its obtains resource, even if Task1 ready it can not seized by Task1 yet, discharge resource up to Task4.In a single day resource is released, and the priority of Task4 is got back to original low priority immediately, and is in ready state, and Task1 gets into running status.When Task1 took resource, its priority also can be lifted to ceiling priority.
The principle of confirming resource prioritization is:
(1), resource prioritization must be higher than or equal to use the limit priority of the task of this resource;
(2) but can not be higher than and do not use priority this resource and higher than the limit priority of the task of using this resource task.
Fig. 2 is the principle examples figure that confirms resource prioritization.
The principle of confirming resource prioritization is as shown in Figure 2, in the instance of Fig. 2, has 12 task T1~T12, and the priority of task is that the big more priority of numeral is high more, and the pairing ordinate in the residing position of each task has shown its priority among the figure.T4 in this instance, T6, T7, T9 shares same resource R, and the limit priority in the middle of them is 9.According to above-mentioned definite resource prioritization principle (1) bar, then the priority of resource R should be 9 at least, and this priority is called as the ceiling priority of resource R.And in this system not in the task of shared resource S, T1, T2, T3, T5, the priority of T8 is lower than this ceiling priority, to the not influence of selection of this resource R priority; But other is the task T10 of shared resource R not; T11, the priority of T12 is higher than this ceiling priority, according to (2) bar rule; The priority of resource R can not be above minimum priority 12 in the middle of them; Then the final priority of resource R can be between 9 and 12, comprise 9 but do not comprise 12, i.e. 3 priority of the solid black lines representative of overstriking among the figure: 9,10,11.
2, the type of multistage resource
5 types resource has been proposed, i.e. standard resource, interrupt resources, internal resource, scheduler resource and link resources in the OSEK/VDX standard.These resources have the priority space of different range, and we call multistage resource to the set of these resources, and the notion statement of relevant multistage resource as follows.
Usually in a multi-task software system, two types moving body is arranged: task and Interrupt Service Routine based on priority.Task has a priority limit, and Interrupt Service Routine also has a priority limit.The priority limit of task is the priority limit that is lower than Interrupt Service Routine, therefore, under system allows situation that response interrupts, interruption be the operation that can interrupt task.Be illustrated in figure 3 as the priority mode of a system scope, in this system, the priority limit of task is 1~64, Interrupt Service Routine, and the priority limit that comprises exception handler is 65~96.
To 5 kinds of resources below will setting forth, i.e. standard resource, interrupt resources, internal resource, scheduler resource and link resources are if there is this resource of 5 types of use in the system like Fig. 3; Then the priority limit of standard resource is 1~64; The priority limit of interrupt resources is 65~96, and internal resource is because the task that only limits to is used, and its priority limit also is 1~64; The priority of scheduler resource is a determined value; Be the maximal value 64 of task priority scope, the priority of link resources depends on the situation of the resource that it links, and its priority limit is 1~96.The priority limit of relevant above-mentioned all types of resources is summed up as shown in Figure 4.
2.1 standard resource
Standard resource refers to a common resource, and its principle of work is of the 1st joint, and it does not have related with other resources.The priority limit of standard resource only limits to the priority limit that all tasks can dispose in the operating system.Such as in system shown in Figure 4, permission task at most has 64 different priority, and then the priority limit of standard resource is 1~64.
2.2 interrupt resources
The notion of interrupt resources is that the notion of resource that operating system is managed is expanded; Its implication is: if task and Interrupt Service Routine shared resource are arranged, this resource is called as interrupt resources so, and its effect is the same with standard resource; When task has been obtained this resource; Its priority can be thus lifted to the ceiling priority of this resource, and its effect is that task has obtained to interrupt higher operation right than some; Any one possibly take the task of same asset or interrupt can not entering into running status, because their priority all is less than or equal to the current priority that takies the task of resource.The resource prioritization that the priority ratio of interrupt resources only relates to task purely is high.
Taking of interrupt resources can be accomplished through the corresponding interrupt identification of hardware is set, and the result is that other interruptions that are lower than this interrupt levels are under an embargo.When discharging resource, the interruption of appropriate level is opened and allows response.
What in addition, obtain interrupt resources also can be Interrupt Service Routine.
2.3 internal resource
Internal resource also is to have represented the one group of task of sharing certain resource, can carry out mutual exclusion to the task of using the identical inner resource.Different with standard resource and other resources is; Internal resource need not obtain and discharges through explicit resource operation function G etResource and ReleaseResource; It is the resource that after task gets into running status, obtains automatically; After task attitude out of service, discharge automatically, this is handled by operating system automatically.
Internal resource only is applicable to task.Internal resource has when task gets into run mode, discharges during attitude out of service, and unique exception is a task when being seized, and its acquired internal resource need not discharge when promptly task was seized.
If any, internal resource is first resource of obtaining of task always, but this priority of not representing internal resource is minimum, and after internal resource, task can also obtain other more resources of low priority.
If any, internal resource is the resource of last release of task always also, and every other resource all must discharge before internal resource.
2.4 scheduler resource
Scheduler program can be counted as a kind of special resource, and all tasks can both be visited it.If a task wants to protect oneself do not seized, it can take scheduler resource so.When scheduler resource was occupied, the response of interruption can normally take place, but except that the task of locking scheduler resource, the execution that can not be scheduled of other tasks.
Scheduler resource also is a kind of expansion to the resource notion, and similar function is also arranged in other embedded OSs, i.e. switch scheduling.In the OSEK/VDX standard with it as a kind of resource type, can reduce the quantity that related system calls, and use application, the releasing operation the same to close and open scheduling with other resources.
The priority of scheduler resource is to be higher than all tasks priority originally, if but certain task has been obtained interrupt resources, and then the priority of its priority ratio scheduler resource is high.Be scheduler resource locking be scheduler program, and the interrupt resources locking is interrupt response.
2.5 link resources
Link resources and standard resource are duplicate in the use, and link resources is equivalent to the another name of standard resource, but it remains an independently resource.Because in the OSEK/VDX standard, do not allow the nested use of resource, directly the same resource of nesting allocation is unallowed in other words, can use the resource that has a same characteristic features with this resource to replace link resources that Here it is.Link resources can link with link resources, standard resource, but can not link with internal resource.
When the conceptual expansion of resource after link resources, the ceiling priority of a resource should be set to limit priority or any resource prioritization that is linked to this resource of the task of this resource of all-access at least.Situation before Fig. 5 resource link, among Fig. 5 such as its priority of digitized representation on symbols such as R1 the right.In a system, task T1 (priority 1), T2 (priority 2), T3 (priority 3) shares a resource R1, and this R1 is a standard resource, and its ceiling priority should be at least 3.Other some task T4 (priority 4) are arranged in the system; T5 (priority 5); T6 (priority 6) shared resource R2, R2 is a resource that is linked to R1, so the ceiling priority of R2 is at least 6; And the ceiling priority of R1 need adjust to 6 at least simultaneously, and Fig. 6 is the situation of resource after link.
Draw from above-mentioned example: the priority of the resource that is linked raises, and its meaning has been equivalent to expand the set of tasks that resource comprised.
2.6 requirement to the resource use
In the description of front to various resources, provide the principle that some resources are used, summed up related request down here again.
● in application during resource, the priority of resource must be higher than the original priority of the static allocation of calling task or interruption routine;
● attempt to obtain a resource of having been occupied by certain task or Interrupt Service Routine, system will return mistake;
● task is after the higher resource of priority of acquisition, and the follow-up priority that can also obtain equates even lower resource, but its priority is constant, remains the highest priority of all resources;
● the resource of same task should be according to the order application and the release of (Last In First Out can be abbreviated as LIFO) first-in last-out;
● when task get into to be waited for attitude, must have been discharged all resources that had when hanging up attitude,, promptly switch to and wait for attitude, accomplish by operating system when hanging up attitude or ready attitude the release of internal resource when leaving run mode;
● link resources, interrupt resources and standard resource are duplicate in the use.
Summary of the invention
The object of the invention be to provide a kind of OSEK/VDX of meeting standard, satisfy the method that embedded real-time operating system requires for multistage resource management.
For realizing above-mentioned purpose, the implementation method of multistage resource management is characterized in that in the embedded real-time operating system of the present invention, may further comprise the steps:
(1), the design of related data structures
1.1), resources control block
A, employing resources control block are come in the embedded real-time operating system, and each resource except that internal resource is managed, and resources control block comprises:
Resource ID is used for resource is carried out unique identification,
Whether resource has been used sign, and be used to write down resource and whether be used,
The ceiling priority of resource, the definite principle according to resource prioritization during the embedded real-time operating system configuration is definite,
The current priority of resource is used for logger task and obtains the priority that is reached after this resource, so that its priority can return to correct height in the process of task release resource,
Point to the pointer of next Resource Block, be used for the resource chain that obtains is become a resource chained list, the resource of newly obtaining can be inserted into the head of this chained list, and the resource of obtaining recently when discharging resource can be discharged at first;
If resource is an interrupt resources, then its resources control block also comprises:
Interrupt mask, when being used for the handling interrupt resource, record takies the interrupt mask before this resource, so that interrupt resources is when discharging, the operation before recovering to interrupt;
B, resource chained list
For the resources control block of standard resource and link resources, the sequencing that obtains them according to task is linked into the resource chained list, and is linked on the task control block (TCB) of this task;
For the resources control block of interrupt resources, be linked into the interrupt resources chained list of an overall situation according to the sequencing that obtains them;
For the resources control block of scheduler resource, it is resources control block independently, does not hang on any one resource chained list;
1.2), task control block (TCB)
Task control block (TCB) comprises:
Task ID is used for task is carried out unique identification;
The task configuration information list index is used in reference to the configuration information table of this task in the task configuration information structural array;
The task current priority is used to write down the up-to-date priority after task is obtained any one resource;
The resource chained list that task is used is used for linking current shared standard resource of task and link resources by the sequencing that obtains them, and task is then carried out according to order first-in last-out when discharging these resources;
1.3), the task configuration information structural array
The task configuration information structural array is used for the information of logger task static configuration, is made up of the configuration information table of all tasks in the embedded real-time operating system, and these information can not change in system's operational process;
The task configuration information table comprises: task ID number, the original priority of task static configuration, the employed the Resources list of task and internal resource priority;
(2), the operation of resources at different levels
2.1), obtain resource
With the resource ID is input parameter, and which resource what tell that embedded OS need obtain is:
A is if what obtain is scheduler resource: whether that checks its resources control block has been used sign, if be not used then successfully obtain scheduler resource and return; If being used, scheduler resource returns failure;
The resource that b, inspection need be obtained
If whether be used to be designated in its resources control block of b1 be used, then return mistake,
If b2 is current is in interrupt handling routine, to obtain non-interrupt resources, then returns mistake,
B3 is if what obtain is standard resource or link resources:
B31 then returns mistake if in Interrupt Service Routine, obtain this resource,
If the ceiling priority in its resources control block of b32 is returned mistake less than the original priority of the task static configuration in the task control block (TCB) of the task of calling this resource,
If b33 scheduler resource before this is used, return mistake;
C, the operation of obtaining resource
C1 is if what obtain is interrupt resources:
C11, from the interruptable controller of hardware, obtain current interrupt mask value and it is saved in the interrupt mask element of resources control block of this interrupt resources;
Interrupt mask value in c12, the interruptable controller is set to the value of the ceiling priority in the controll block of this interrupt resources, so that the interruption of the ceiling priority of this interrupt resources is less than or equal in shielding;
Whether the controll block of c13, this interrupt resources had been used sign is set to be used;
C14, the controll block of this interrupt resources is articulated to the head of interrupt resources chained list;
C2 is if what obtain is standard resource or link resources:
Whether the controll block of c21, this resource had been used sign is set to be used;
C22, the controll block of this resource is articulated to the head of the resource chained list of the task control block (TCB) that obtains this resource;
If c23 obtains the ceiling priority in the controll block that current priority in the controll block of task of this resource is lower than this resource, then will obtain the ceiling priority that current priority in the controll block of task of this resource is adjusted to this resource;
Current priority in the controll block of c24, this resource is set to obtain the value of the heavy current priority of the controll block of task of this resource;
2.2), discharge resource
With the resource ID is input parameter, and which resource what tell that embedded OS need obtain is:
A is if what discharge is scheduler resource: whether that checks its resources control block has been used sign, if be not used then return mistake; If scheduler resource is used then discharges it, and carry out task scheduling;
B, inspection need the resource of release
If whether be used not to be designated in its resources control block of b1 be used, return mistake;
B2 then returns mistake if in Interrupt Service Routine, discharge the resource of non-interrupt type;
B3 is if what discharge is interrupt resources:
If this resource of b31 is not that resource of interrupt resources chained list head, then return mistake;
B4 is if what discharge is standard resource or link resources:
B41 returns mistake if the resource that discharges is not the head node of task resource chained list;
If b42 scheduler resource before this is used, return mistake;
B43 returns mistake if in Interrupt Service Routine, discharge this resource;
If the ceiling priority in its resources control block of b44 is returned mistake less than the original priority of the task static configuration in the task control block (TCB) of the task of calling this resource.
The operation of c, release resource
C1 is if what discharge is interrupt resources:
C11, be not used whether being used being changed to of sign in the resources control block of this interrupt resources;
C12, adjustment interrupt resources chained list: take off head node, next interrupt resources controll block becomes the head node in the chained list;
The interrupt mask of preserving in c13, the resources control block according to this interrupt resources, the interrupt mask value of when obtaining this interrupt resources, being preserved before recovering;
C14, inspection interrupt resources chained list, if discharged all interrupt resources, operating system is just carried out task scheduling;
C2 is if what discharge is standard resource or link resources:
C21, be not used whether being used being changed to of sign in the resources control block of this resource;
The resource chained list of this resource task is obtained in c22, adjustment: take off head node, next resources control block becomes the head node in the chained list;
If obtaining, c23 also has other resources control blocks on the resource chained list of this resource task; Then adjust current priority in the controll block of this task and be the current priority in the resources control block of that resource of resource chain table header, the operation dispatching program is carried out task scheduling then;
If having had any resource no longer, the c24 calling task carries out following judgement and processing:
If this task of c241 has been used internal resource, and current priority is then adjusted the priority that the task current priority is an internal resource greater than the priority of internal resource in the controll block of task, carries out task scheduling then;
If this task of c242 is not used internal resource, and current priority is not equal to the original priority of its static configuration in the controll block of task, then adjusts the height of the current priority of task to original priority, carries out task scheduling then.
Goal of the invention of the present invention is achieved in that
For meet the OSEK/VDX standard, satisfy the requirement of embedded real-time operating system for multistage resource management; The management method of multistage resource has designed resources control block to standard resource, link resources, interrupt resources and scheduler resource in the embedded real-time operating system of the present invention; And be linked to different positions, then, just concern according to the priority of different resource; Utilize resources control block, realize management multistage resource.
Description of drawings
Fig. 1 is the principle example figure of resource prioritization;
Fig. 2 is the principle examples figure that confirms resource prioritization;
Fig. 3 is the priority mode figure of embedded real-time operating system
Fig. 4 is the interrupt resources principle schematic;
Fig. 5 is the synoptic diagram before the resource link;
Fig. 6 is the synoptic diagram behind the resource link
Fig. 7 is a kind of practical implementation structural drawing of resources control block among the present invention;
Fig. 8 is interrupt resources list structure figure;
Fig. 9 is a kind of practical implementation structural drawing of task control block (TCB);
Figure 10 is the operational process figure of system of instance 1;
Figure 11 is the operational process figure of system of instance 1.
Embodiment
Describe below in conjunction with the accompanying drawing specific embodiments of the invention, so that those skilled in the art understands the present invention better.What need point out especially is that in the following description, when perhaps the detailed description of known function and design can desalinate main contents of the present invention, these were described in here and will be left in the basket.
Embodiment
1, the design of related data structures
1.1, resources control block
Fig. 7 is a kind of practical implementation structural drawing of resources control block among the present invention
In this enforcement, as shown in Figure 7, resources control block comprises:
Resource ID resourceId: be used to write down ID number of resource, resource is carried out unique identification;
Whether whether resource has been used sign isUsed: be used to write down resource and be used;
Interrupt mask savedIsrMask, when being used for the handling interrupt resource, record takies the interrupt mask before this resource, so that interrupt resources is when discharging, the operation before recovering to interrupt, this element is that embedded real-time operating system need be used when the handling interrupt resource;
The ceiling priority ceilingPriority of resource: this priority is calculated according to resource cap Determination of priority principle when embedded real-time operating system disposes; Should confirm that principle belonged to prior art; In background technology, describe in detail, do not giving unnecessary details at this;
The current priority currentPriority of resource: be used for logger task and obtain the priority that is reached after this resource, so that its priority can return to correct height in the process of task release resource;
Point to the pointer nextResource of next Resource Block: point to the pointer of next resource, it is used for the resource chain that obtains is become a resource chained list, the operation when being convenient to resource release.This will form a single-track link table, and the resource of newly obtaining can be inserted into the head of chained list, and therefore top at chained list is exactly the resource of obtaining recently.And be the resource that requirement discharges the chained list head at first when discharging resource, the resource of obtaining so recently can be discharged at first, thereby realization is the formation of a LIFO (last in, first out).
Resources control block is applicable to standard resource, link resources, scheduler resource and interrupt resources.For internal resource; Because using the api function (API function) that can not explicitly uses embedded real-time operating system to provide obtains or discharges this resource; Associative operation is handled by embedded real-time operating system when task gets into or leaves running status automatically, so internal resource does not have independent controll block.The priority of internal resource is when carrying out system configuration, calculates its internal resource priority and is recorded in the task configuration information table according to the situation of the employed internal resource of this task.
Dissimilar resources, promptly the controll block of standard resource, link resources, scheduler resource and interrupt resources in use is embedded into the formula real time operating system and is linked to different positions:
For the resources control block of standard resource and link resources, the sequencing that obtains them according to task is linked into the resource chained list, and is linked on the task control block (TCB) of this task;
For the resources control block of interrupt resources, as shown in Figure 8, be linked into the interrupt resources chained list of an overall situation according to the sequencing that obtains them, the pairing resource type of each resources control block all is an interrupt resources on the interrupt resources chained list;
For the resources control block of scheduler resource, it is resources control block independently, does not hang on any one resource chained list;
1.2, task control block (TCB)
Fig. 9 is a kind of practical implementation structural drawing of task control block (TCB);
For the controll block of standard resource and link resources, be on the controll block of the task of being articulated in.In this enforcement, as shown in Figure 9, task control block (TCB) comprises:
Task ID TaskID is used for task is carried out unique identification;
Task configuration information list index configTable; Be used in reference to the configuration information table of this task in the task configuration information structural array, comprise the employed the Resources list of original priority, task and the internal resource priority of task static configuration in the task configuration information table;
Task current priority curPriority is used to write down the up-to-date priority after task is obtained any one resource;
The resource chained list resourceList that task is used is used for linking current shared standard resource of task and link resources by the sequencing that obtains them, and task is then carried out according to order first-in last-out when discharging these resources;
1.3, the task configuration information structural array
The task configuration information structural array is used for the information of logger task static configuration, and these information can not change in the embedded real-time operating system operational process.The configuration information table of all tasks is formed in the embedded real-time operating system.
Table 1 is task configuration information structural array taskConfigArray [NUM_OF_TASKS]
Figure BDA0000047033180000111
Table 1
The element number of this array is relevant with the task quantity in the embedded real-time operating system, and such as 5 tasks are arranged in the embedded real-time operating system system, task ID that then should table number is T1~T5.
" the employed the Resources list of task " is with logger task can employable all resources in operational process ID number.
" internal resource priority " is meant, if this task has the use internal resource, how much priority of this internal resource is.
1.4, the resource allocation information structural array
The resource allocation information structural array is used to write down the information of resource static configuration, is made up of all configuration information of resource tables in the embedded real-time operating system, and these information can not change in system's operational process;
The resource allocation information table comprises: resource ID number, resource type, the resource that is linked, the ceiling priority of resource, and all configuration information of resource form arrays in the embedded real-time operating system, represent as follows with the form of table:
Table 2 is resource allocation information structural array resourceConfigArray [NUM_OF_RESOURCES]
Figure BDA0000047033180000121
Table 2
The element number of this array is relevant with the resource quantity in the system, and is as shown in table 2 in the present embodiment, and 7 resources are arranged in the embedded real-time operating system, and resource ID that then should table number is R1~R7.
The value that wherein " resource type " is possible is: standard resource is that STANDARD, link resources are that LINKED, interrupt resources are that INTERRUPT, internal resource are that INTERNAL, scheduler resource are SCHEDULER.
If certain resource belongs to link resources type (LINKED), then in " resource that is linked ", write down its resource number that is linked to.
2, confirm the algorithm of resource cap priority
In the layoutprocedure of an embedded real-time operating system, the ceiling priority of correct calculation resources of various types is very important.In the present embodiment, provide the algorithm of a definite resource cap priority.
This algorithm uses goes up described task configuration information structural array of joint and resource allocation information structural array, and concrete arthmetic statement is following:
A. the foundation of related data structures and initialization:
(1), sets up the configuration information structural array taskConfigArray [NUM_OF_TASKS] of task, the task sum in the grand NUM_OF_TASKS representative system;
(2), original priority taskConfigArray [i] .staticPriority of this task static configuration is set in each task configuration information structure, the span of i is 0~NUM_OF_TASKS-1;
(3), the Resources list taskConfigArray [i] .sharedResource of this task is set in each task configuration information structure, each list element wherein is different resource ID number that this task is shared;
(4), set up configuration information of resource structural array resourceConfigArray [NUM_OF_RESOURCES], grand NUM_OF_RESOURCES is the sum of resource in the system;
(5), type resourceConfigArray [i] .resourceType of this resource is set in each configuration information of resource structure, the span of i is 0~NUM_OF_RESOURCES-1;
(6) if certain resource belongs to link resources type (LINKED), also need be in the resource allocation information structure clear and definite resource number resourceConfigArray [i] .linkedResource that it is linked to.
B. the concrete processing procedure of algorithm:
(1), ceiling priority resourceConfigArray [i] .ceilingPrority in each configuration information of resource structure is set to the minimum priority (be assumed to 0, the more little priority of numeral is low more) of system;
(2), calculate the ceiling priority (promptly sharing the limit priority of the set of tasks of this resource) of each resource under not link situation.Concrete grammar: the configuration information structural array of traversal task, for each task wherein:
(2.1), obtain the employed the Resources list taskConfigArray of this task [i] .sharedResource;
(2.2), for each resource in the tabulation; Inquire about this configuration information of resource structure; If the current ceiling priority (resourceConfigArray [j] .ceilingPrority) of this resource is lower than the priority (taskConfigArray [i] .staticPriority) of current task, the ceiling priority of then revising resource is the priority of task (resourceConfigArray [j] .ceilingPrority=taskConfigArray [i] .staticPriority);
(3), linking relationship taken into account adjusts method: traversal configuration information of resource structural array, for each resource wherein:
(3.1), then obtain numbering resourceConfigArray [i] .linkedResource of the resource that is linked, and get into step (3.2) if this resource type is a link resources; If not link resources, then travel through next array element, continue the processing of this step;
(3.2), inquire about by the configuration information structure of link resources with the numbering (resourceConfigArray [i] .linkedResource) of this resource; If its priority is lower than the priority (being resourceConfigArray [resourceConfigArray [i] .linkedResource] .ceilingPrority<resourceConfigArray [i] .ceilingPrority) of the resource that is linked to it, then adjusting by the priority of link resources is the priority (resourceConfigArray [resourceConfigArray [i] .linkedResource] .ceilingPrority=resourceConfigArray [i] .ceilingPrority) that is linked to its resource;
(3.3) if there was adjustment priority in (3.2) step, then carry out (3.1) repeatedly, inquiry is continued by link resources in (3.2), up to resource type be not link resources, or do not have new priority adjustment till;
(3.4) if (3.2) step was not adjusted priority, then travel through the next element of resource allocation information structural array, get back to step (3.1).
After accomplishing above-mentioned algorithm, the value of the ceiling priority ceilingPrority element in each configuration information of resource structure has been exactly a ceiling priority that this resource finally obtains.
3, the operation of resources at different levels
In the present embodiment, 2 api functions of operation of resources at different levels are accomplished obtaining and releasing operation standard resource, interrupt resources, scheduler resource and link resources.
3.1 obtain the api function GetResource of resource
This function is an input parameter with resource ID resourceId, tells which resource that is that operating system need be obtained.The principle of work of this function:
(1) if what obtain is scheduler resource: whether the inspection scheduler resource is used, if be not used then successfully obtain scheduler resource and return; If being used, scheduler resource returns failure;
(2), input resource ID resourceId is checked:
If the specified resource of this parameter of i is used, promptly the value of the isUsed in the resources control block is 1, then returns mistake;
If ii is current is in interrupt handling routine, to obtain non-interrupt resources, then returns mistake;
Iii is if what obtain is standard resource or link resources:
◆ if in Interrupt Service Routine, obtain this resource, then return mistake;
◆ if the ceiling priority of resource (being the ceilingPriority in the resource allocation information structure) is returned mistake less than the priority (being the staticPriority in the task configuration information structure) of calling task original static configuration;
◆ if scheduler resource is used before this, returns mistake.
(3), obtain the concrete operations of resource:
I is if what obtain is interrupt resources:
◆ the interrupt mask value that the system that from the interruptable controller of hardware, obtains is current also is saved in it in savedIsrMask element of the specified resources control block of resourceId;
◆ the interrupt mask value in the interruptable controller is set to the value of the ceiling priority ceilingPriority of this interrupt resources;
◆ state of resources is set to use, and the value that the isUsed element promptly is set is 1;
◆ the controll block of this resource is articulated to the interrupt resources chained list of system, head as shown in Figure 8;
Ii is if what obtain is standard resource or link resources:
◆ state of resources is set to use, and the value that the isUsed element promptly is set is 1;
◆ the controll block of this resource is articulated to the head of the resource chained list of the task of calling this function;
If ◆ the current priority of calling task; Be the ceiling priority that curPriority in the task control block (TCB) is lower than resource; Be the ceilingPriority in the resources control block, then the current priority of calling task be adjusted to the ceiling priority of this resource;
◆ the current priority currentPriority in the resources control block is set to the value of the current priority of calling task.
3.2, discharge the api function ReleaseResource of resource
This function is an input parameter with resource ID resourceId, and what tell that operating system need discharge is which resource in the system.The principle of work of this function:
(1) if what discharge is scheduler resource: whether the inspection scheduler resource is used, if be not used then return mistake; If scheduler resource is used then discharges it, and carry out task scheduling;
(2), to input resource ID resourceId inspection:
If the specified resource of i resource ID resourceId is not used, promptly the value of the isUsed in the resources control block is 0, returns mistake;
Ii then returns mistake if in Interrupt Service Routine, discharge the resource of non-interrupt type;
Iii is if what discharge is interrupt resources:
◆ if this resource is not that resource of interrupt resources chained list head, then returns mistake, because obtaining and discharging formation of resource is formation first-in last-out;
Iv is if what discharge is standard resource or link resources:
◆ if the resource that discharges is not the head node of task resource chained list, promptly do not discharge resource, return mistake according to correct order;
◆ if scheduler resource is used before this, returns mistake;
◆ if in Interrupt Service Routine, discharge this resource, return mistake;
If ◆ the ceiling priority of resource; Be that ceiling priority ceilingPriority in the resource allocation information structure is less than the original priority of calling task static configuration; Be the original priority staticPriority of the task static configuration in the task configuration information structure, return mistake.
(3), discharge the concrete operations of resource:
I is if what discharge is interrupt resources:
◆ remove the service marking in this resources control block, be about to isUsed and be set to 0;
◆ the interrupt resources chained list of Adjustment System: take off head node, next interrupt resources controll block becomes the head node in the chained list;
◆ the interrupt mask value of when obtaining this interrupt resources, being preserved before recovering;
◆ the interrupt resources chained list of check system, if discharged all interrupt resources, operating system is just carried out task scheduling.
Ii is if what discharge is standard resource or link resources:
◆ remove the service marking in this resources control block, be about to isUsed and be set to 0;
◆ the resource chained list of adjustment calling task: take off head node, next resources control block becomes the head node in the chained list;
If ◆ also have other resources control blocks on the resource chained list of calling task; Then adjust the current priority of this task; Be that current priority curPriority in the task control block (TCB) is the current priority of that resource of resource chain table header; Be the current priority currentPriority in the resources control block, the scheduler program of executive operating system carries out task scheduling then;
◆ if calling task has been had any resource no longer, has not promptly had resources control block in its resource chained list, then carries out following judgement and processing:
If this task of ■ has been used internal resource; And the current priority of task; Be that current priority curPriority in the task control block (TCB) is the internal resource priority inResPriority in the task configuration information structure greater than the priority of its internal resource; Then adjust the priority that the task current priority is an internal resource, carry out task scheduling then;
If this task of ■ is not used internal resource; And the current priority of task; It is the original priority that current priority curPriority in the task control block (TCB) is not equal to its static configuration; Be the original priority staticPriority in the task configuration information structure, then adjust the height of the current priority of task, carry out task scheduling then to original priority.
3.3 the processing that other are relevant with resource management
In the present embodiment, except that above-mentioned 2 api functions, in the function code of operating system, also to carry out following processing.
(1), the processing relevant with internal resource:
● when the generation task is switched, newly switch to the task of running status,, can obtain internal resource automatically no matter this task is the operational process before operation for the first time or the recovery;
● task is when stopping operation; If it also has an internal resource, then it need discharge this internal resource, its priority; Be the original priority that curPriority in the task control block (TCB) can revert to static configuration, i.e. staticPriority in the task configuration information structure.
(2), operating system is carried out the inspection work relevant with resource when operating as follows:
● if also have resource not discharge, promptly also there is resources control block in task on the resource chained list in the task control block (TCB) when stopping operation, then return mistake;
● during the operating system dispatcher operation, check whether scheduler resource is used, if be used, does not then dispatch; Also want whether to have on the interrupt resources chained list of check system interrupt resources controll block to exist in addition,, also do not dispatch if having.
Instance 1
In the following instance, one has 5 tasks, and the content of its task configuration information structural array is as shown in table 3:
Table 3 is the task configuration information structural array
taskConfigArray[NUM_OF_TASKS](NUM_OF_TASKS=5)
Figure BDA0000047033180000181
Table 3
Suppose: the big more priority of numeral is high more.In addition, because the task in this instance is not all used internal resource, so the internal resource prioritized item is empty.
Resource allocation information structural array in this system is as shown in table 4, for link resources, has provided the resource ID that it was linked to number.Ceiling priority for each resource provides initial value 0.
Table 4 is the configuration information of resource structural array
resourceConfigArray[NUM_OF_RESOURCES](NUM_OF_RESOURCES=7)
Figure BDA0000047033180000182
Table 4
According to the described algorithm of the 2nd joint, we calculate the ceiling priority of each resource, and the result who finally draws is as shown in table 5, and table 5 is the final ceiling priority of resource.
Figure BDA0000047033180000191
Table 5
Use the operational processes of the 3rd described power function of joint and operating system, the ruuning situation of this system is shown in following table 6, and table 6 is system's operational process explanation.Figure 10 is the diagram of system's operational process, and it has showed in system's operational process each task to the operating position of standard resource, link resources and scheduler resource, and the variation of the transition of the task priority that causes thus and running status.
Figure BDA0000047033180000192
Table 6
Instance 2
Be the use-case that relevant interrupt resources and internal resource use below.In this instance, one has 5 tasks, and the content of its task configuration information structural array is as shown in table 7, table 7 be task configuration information structural array taskConfigArray [NUM_OF_TASKS] (NUM_OF_TASKS=5)
Figure BDA0000047033180000202
Table 7
In the table, the big more priority of numeral is high more.Having under the situation of interrupt resources, Interrupt Service Routine is the same with task, also is to have participated in sharing of resource, therefore also the information of INT1 and INT2 is included in the table 7.
Resource allocation information structural array in this system is as shown in table 8, provides initial value 0 for the ceiling priority of each resource.Table 8 be configuration information of resource structural array resourceConfigArray [NUM_OF_RESOURCES] (NUM_OF_RESOURCES=2)
Figure BDA0000047033180000203
Figure BDA0000047033180000211
Table 8
According to the algorithm described in the 2nd joint, we calculate the ceiling priority of each resource, and the result who finally draws is as shown in table 9, and table 9 is the final ceiling priority of resource.
Figure BDA0000047033180000212
Table 9
And the content of task configuration information structural array also obtains upgrading, and mainly is that as shown in table 10, table 10 is final task configuration information structural array according to the internal resource priority of the ceiling priority modification task of the internal resource that draws.
Figure BDA0000047033180000213
Table 10
Use the operational processes of 3.3 described power functions of joint and operating system, the ruuning situation of this instance system is shown in following table 11, and table 11 is system's operational process explanations.Figure 11 is the diagram of system's operational process, and it has showed in system's operational process each task to the operating position of interrupt resources and internal resource, and the variation of the transition of the task priority that causes thus and running status.
Figure BDA0000047033180000214
Figure BDA0000047033180000221
Table 11
Although above the illustrative embodiment of the present invention is described; So that the technician of present technique neck understands the present invention, but should be clear, the invention is not restricted to the scope of embodiment; To those skilled in the art; As long as various variations appended claim limit and the spirit and scope of the present invention confirmed in, these variations are conspicuous, all utilize innovation and creation that the present invention conceives all at the row of protection.

Claims (2)

1. the implementation method of multistage resource management in the embedded real-time operating system is characterized in that, may further comprise the steps:
(1), the design of related data structures
1.1), resources control block
A, employing resources control block are come in the embedded real-time operating system, and each resource except that internal resource is managed, and resources control block comprises:
Resource ID is used for resource is carried out unique identification,
Whether resource has been used sign, and be used to write down resource and whether be used,
The ceiling priority of resource, the definite principle according to resource prioritization during the embedded real-time operating system configuration is definite,
The current priority of resource is used for logger task and obtains the priority that is reached after this resource, so that its priority can return to correct height in the process of task release resource,
Point to the pointer of next Resource Block, be used for the resource chain that obtains is become a resource chained list, the resource of newly obtaining can be inserted into the head of this chained list, and the resource of obtaining recently when discharging resource can be discharged at first;
If resource is an interrupt resources, then its resources control block also comprises:
Interrupt mask, when being used for the handling interrupt resource, record takies the interrupt mask before this resource, so that interrupt resources is when discharging, the operation before recovering to interrupt;
B, resource chained list
For the resources control block of standard resource and link resources, the sequencing that obtains them according to task is linked into the resource chained list, and is linked on the task control block (TCB) of this task;
For the resources control block of interrupt resources, be linked into the interrupt resources chained list of an overall situation according to the sequencing that obtains them;
For the resources control block of scheduler resource, it is resources control block independently, does not hang on any one resource chained list;
1.2), task control block (TCB)
Task control block (TCB) comprises:
Task ID is used for task is carried out unique identification;
The task configuration information list index is used in reference to the configuration information table of this task in the task configuration information structural array;
The task current priority is used to write down the up-to-date priority after task is obtained any one resource;
The resource chained list that task is used is used for linking current shared standard resource of task and link resources by the sequencing that obtains them, and task is then carried out according to order first-in last-out when discharging these resources;
1.3), the task configuration information structural array
The task configuration information structural array is used for the information of logger task static configuration, is made up of the configuration information table of all tasks in the embedded real-time operating system, and these information can not change in system's operational process;
The task configuration information table comprises: task ID number, the original priority of task static configuration, the employed the Resources list of task and internal resource priority;
(2), the operation of resources at different levels
2.1), obtain resource
With the resource ID is input parameter, and which resource what tell that embedded OS need obtain is:
A is if what obtain is scheduler resource: whether that checks its resources control block has been used sign, if be not used then successfully obtain scheduler resource and return; If being used, scheduler resource returns failure;
The resource that b, inspection need be obtained
If whether be used to be designated in its resources control block of b1 be used, then return mistake,
If b2 is current is in interrupt handling routine, to obtain non-interrupt resources, then returns mistake,
B3 is if what obtain is standard resource or link resources:
B31 then returns mistake if in Interrupt Service Routine, obtain this resource,
If the ceiling priority in its resources control block of b32 is returned mistake less than the original priority of the task static configuration in the task control block (TCB) of the task of calling this resource,
If b33 scheduler resource before this is used, return mistake;
C, the operation of obtaining resource
C1 is if what obtain is interrupt resources:
C11, from the interruptable controller of hardware, obtain current interrupt mask value and it is saved in the interrupt mask element of resources control block of this interrupt resources;
Interrupt mask value in c12, the interruptable controller is set to the value of the ceiling priority in the controll block of this interrupt resources;
Whether the controll block of c13, this interrupt resources had been used sign is set to be used;
C14, the controll block of this interrupt resources is articulated to the head of interrupt resources chained list;
C2 is if what obtain is standard resource or link resources:
Whether the controll block of c21, this resource had been used sign is set to be used;
C22, the controll block of this resource is articulated to the head of the resource chained list of the task control block (TCB) that obtains this resource;
If c23 obtains the ceiling priority in the controll block that current priority in the controll block of task of this resource is lower than this resource, then will obtain the ceiling priority that current priority in the controll block of task of this resource is adjusted to this resource;
Current priority in the controll block of c24, this resource is set to obtain the value of the heavy current priority of the controll block of task of this resource;
2.2), discharge resource
With the resource ID is input parameter, and which resource what tell that embedded OS need obtain is:
A is if what discharge is scheduler resource: whether that checks its resources control block has been used sign, if be not used then return mistake; If scheduler resource is used then discharges it, and carry out task scheduling;
B, inspection need the resource of release
If whether be used not to be designated in its resources control block of b1 be used, return mistake;
B2 then returns mistake if in Interrupt Service Routine, discharge the resource of non-interrupt type;
B3 is if what discharge is interrupt resources:
If this resource of b31 is not that resource of interrupt resources chained list head, then return mistake;
B4 is if what discharge is standard resource or link resources:
B41 returns mistake if the resource that discharges is not the head node of task resource chained list;
If b42 scheduler resource before this is used, return mistake;
B43 returns mistake if in Interrupt Service Routine, discharge this resource;
If the ceiling priority in its resources control block of b44 is returned mistake less than the original priority of the task static configuration in the task control block (TCB) of the task of calling this resource;
The operation of c, release resource
C1 is if what discharge is interrupt resources:
C11, be not used whether being used being changed to of sign in the resources control block of this interrupt resources;
C12, adjustment interrupt resources chained list: take off head node, next interrupt resources controll block becomes the head node in the chained list;
The interrupt mask of preserving in c13, the resources control block according to this interrupt resources, the interrupt mask value of when obtaining this interrupt resources, being preserved before recovering;
C14, inspection interrupt resources chained list, if discharged all interrupt resources, operating system is just carried out task scheduling;
C2 is if what discharge is standard resource or link resources:
C21, be not used whether being used being changed to of sign in the resources control block of this resource;
The resource chained list of this resource task is obtained in c22, adjustment: take off head node, next resources control block becomes the head node in the chained list;
If obtaining, c23 also has other resources control blocks on the resource chained list of this resource task; Then adjust current priority in the controll block of this task and be the current priority in the resources control block of that resource of resource chain table header, the operation dispatching program is carried out task scheduling then;
If having had any resource no longer, the c24 calling task carries out following judgement and processing:
If this task of c241 has been used internal resource, and current priority is then adjusted the priority that the task current priority is an internal resource greater than the priority of internal resource in the controll block of task, carries out task scheduling then;
If this task of c242 is not used internal resource, and current priority is not equal to the original priority of its static configuration in the controll block of task, then adjusts the height of the current priority of task to original priority, carries out task scheduling then.
2. the implementation method of multistage resource management is characterized in that in the embedded real-time operating system according to claim 1, and is further comprising the steps of:
(1), the processing relevant with internal resource:
When a, the switching of generation task, newly switch to the task of running status, obtain internal resource automatically;
B, task are when stopping operation, if it also has an internal resource, then it need discharge this internal resource, and the priority in the task control block (TCB) reverts to the original priority of static configuration;
(2), when operating as follows, carry out the inspection work relevant with resource:
A, task if also have resource not discharge, are then returned mistake when stopping operation;
When b, operating system dispatcher operation, check whether scheduler resource is used, if be used, does not then dispatch; Also want whether to have on the interrupt resources chained list of check system interrupt resources controll block to exist in addition,, also do not dispatch if having.
CN201110039561A 2011-02-17 2011-02-17 Multi-level resource management implementation method in embedded real-time operation system Expired - Fee Related CN102096605B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110039561A CN102096605B (en) 2011-02-17 2011-02-17 Multi-level resource management implementation method in embedded real-time operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110039561A CN102096605B (en) 2011-02-17 2011-02-17 Multi-level resource management implementation method in embedded real-time operation system

Publications (2)

Publication Number Publication Date
CN102096605A CN102096605A (en) 2011-06-15
CN102096605B true CN102096605B (en) 2012-10-03

Family

ID=44129711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110039561A Expired - Fee Related CN102096605B (en) 2011-02-17 2011-02-17 Multi-level resource management implementation method in embedded real-time operation system

Country Status (1)

Country Link
CN (1) CN102096605B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306112B (en) * 2011-08-11 2013-06-05 浙江大学 Method for improving scheduling flexibility and resource utilization rate of automotive open system architecture operating system (AUTOSAR OS) based on Contract
CN102567096B (en) * 2011-12-30 2017-02-08 中国科学院软件研究所 Mutual-exclusion semaphore management method for preventing deadlock under multi-task environment
CN103164276B (en) * 2013-03-27 2016-03-30 北京经纬恒润科技有限公司 Protected object is carried out to method and the device of Embedded process
CN104298562A (en) * 2014-10-10 2015-01-21 重庆邮电大学 Resource management method and system for game development
CN106028144A (en) * 2016-06-15 2016-10-12 青岛海信宽带多媒体技术有限公司 Method and device for monitoring audio and video resources in television terminal, and television terminal
CN106201695A (en) * 2016-07-15 2016-12-07 郑州飞机装备有限责任公司 It is applicable to the multi-task scheduling method of embedded software system
CN108833358A (en) * 2018-05-22 2018-11-16 郑州云海信息技术有限公司 A kind of management method and system of security baseline
CN111506438A (en) * 2020-04-03 2020-08-07 华夏龙晖(北京)汽车电子科技股份有限公司 Shared resource access method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134216A (en) * 1997-10-29 2000-10-17 Lucent Technologies Inc. Integrated overload control for overload control for distributed real time systems
CN1702623A (en) * 2005-06-13 2005-11-30 浙江大学 Task level resource administration method for micro-kernel embedded real-time operation systems
CN101419561A (en) * 2007-10-26 2009-04-29 中兴通讯股份有限公司 Resource management method and system in isomerization multicore system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5100011B2 (en) * 2006-01-16 2012-12-19 株式会社ソニー・コンピュータエンタテインメント Network resource management apparatus, network resource management system, and network resource management method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134216A (en) * 1997-10-29 2000-10-17 Lucent Technologies Inc. Integrated overload control for overload control for distributed real time systems
CN1702623A (en) * 2005-06-13 2005-11-30 浙江大学 Task level resource administration method for micro-kernel embedded real-time operation systems
CN101419561A (en) * 2007-10-26 2009-04-29 中兴通讯股份有限公司 Resource management method and system in isomerization multicore system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开2007-188455A 2007.07.26
US 6,134,216 A,2000.10.17,全文.

Also Published As

Publication number Publication date
CN102096605A (en) 2011-06-15

Similar Documents

Publication Publication Date Title
CN102096605B (en) Multi-level resource management implementation method in embedded real-time operation system
KR930000853B1 (en) Database processing system using multiprocessor system
CN102752198B (en) Multi-core message forwarding method, multi-core processor and network equipment
CN102541642B (en) Task management method for enhancing real-time performance
CN1973266A (en) Improvements in or relating to an operating system for a computing device
US20120076152A1 (en) System and method for priority scheduling of plurality of message types with serialization constraints and dynamic class switching
US9086911B2 (en) Multiprocessing transaction recovery manager
US8413163B2 (en) Program control device including per-timeslot switching of thread execution
CN105159736A (en) Establishment method of SaaS software deployment scheme supporting performance analysis
CN105138310A (en) Concurrent access control method and system
CN101324851A (en) Method and apparatus of thread scheduling
CN102662725A (en) Event-driven high concurrent process virtual machine realization method
CN108415778A (en) Task ranking method, device and scheduling system
CN101789944B (en) Development system of communication protocol stack of multifunctional energy meter
CN105550029A (en) Process scheduling method and device
CN101673221A (en) Interrupt processing method of embedded on-chip multiprocessor
CN102043668B (en) Method for activating task in embedded real-time operating system for multiple times
CN102243653A (en) Method and device for managing database connections
He et al. Real-time scheduling in mapreduce clusters
Zhao et al. HLC-PCP: A resource synchronization protocol for certifiable mixed criticality scheduling
CN104021033A (en) Method and system for hashing busy processing nodes
CN102163163A (en) Small node operating system and implementation method thereof for wireless sensor network
CN102214094A (en) Executing operations via asynchronous programming model
CN103995743A (en) Two-stage mixed task scheduling method based on resource reservation
US9705985B1 (en) Systems and methods for cross protocol automatic sub-operation scheduling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121003

Termination date: 20150217

EXPY Termination of patent right or utility model