WO2012094862A1 - 操作系统的任务调度方法、装置及计算机 - Google Patents

操作系统的任务调度方法、装置及计算机 Download PDF

Info

Publication number
WO2012094862A1
WO2012094862A1 PCT/CN2011/074391 CN2011074391W WO2012094862A1 WO 2012094862 A1 WO2012094862 A1 WO 2012094862A1 CN 2011074391 W CN2011074391 W CN 2011074391W WO 2012094862 A1 WO2012094862 A1 WO 2012094862A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
index
ready
priority
state
Prior art date
Application number
PCT/CN2011/074391
Other languages
English (en)
French (fr)
Inventor
熊赟
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012094862A1 publication Critical patent/WO2012094862A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority

Definitions

  • the present invention relates to an embedded real-time operating system, and in particular, to a task scheduling method, apparatus, and computer for an operating system. Background technique
  • the embedded real-time operating system is a system that can complete system functions within a certain time and respond to internal and external events in a timely manner.
  • Task scheduling is one of the core functions of the operating system. Its main function is to select a task that is ready according to a certain criterion and jump into this task for execution.
  • the scheduler is the module that performs the task scheduling function. Most embedded real-time operating systems are scheduled based on priority. Specifically, the operating system assigns a priority to each task. The scheduler selects the task with the highest priority from among the tasks that are already ready.
  • the implementation method of the embedded real-time operating system scheduler learns more or improves the method of the group mapping table proposed by ⁇ C/OS-II to realize the task to be executed in the stable time.
  • Group mapping table to find the highest priority of the ready state task; then maintain the respective task linked list for each priority, the same priority task is inserted/deleted from the linked list according to the first-in, first-out principle .
  • This enables support for the same priority for multiple tasks.
  • the lookup method through the packet map consumes additional data space and the number of priorities is also limited.
  • the main purpose of the present invention is to provide a task scheduling method, device and computer for an operating system, so as to solve the problem that the task scheduling method in the operating system of the prior art needs to consume additional data storage space and support multiple tasks under the same priority.
  • the problem is to provide a task scheduling method, device and computer for an operating system, so as to solve the problem that the task scheduling method in the operating system of the prior art needs to consume additional data storage space and support multiple tasks under the same priority.
  • a task scheduling method of an operating system is provided.
  • the task scheduling method of the operating system includes: triggering a task of scheduling an operating system by converting a task state; acquiring a link index corresponding to the task according to a priority of the task; and updating the task according to the link index The location in the task list.
  • the method further includes: creating a task index table, where the task index table includes one or more index records, and each index record is used Recording a link index of the first and last task nodes corresponding to a priority in the ready task list, wherein any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority level.
  • the step of updating the location of the task in the ready task list according to the link index comprises: obtaining a node position of the task represented by the link index in the ready task list, and the ready task list is used to record the node position of each priority task; Insert or remove a node location.
  • the method further includes: acquiring a new link index of the priority task in the task index table according to the new location of the task in the ready task list, The original link index is replaced with a new join index.
  • the method further includes: determining whether the transition of the task state is successfully converted, wherein, when the task state transition fails and simultaneously transitions to the delay state, The task is inserted into the delayed task list, otherwise the step of triggering the task of scheduling the operating system is successful.
  • a task scheduling apparatus of an operating system is provided.
  • the task scheduling apparatus of the operating system includes: a triggering module, configured to trigger a task of scheduling an operating system by a transition of a task state; and a scheduling module, configured to acquire, according to a priority of the task, a task corresponding to the task in the task index table a link index; a first update module, configured to update a location of the task in the ready task list according to the link index.
  • the device further includes: a creating module, configured to create a task index table, where the task index table includes one or more index records, each index record is used to record a first priority and a last task node corresponding to a priority A link index in the ready task list, where any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority.
  • a creating module configured to create a task index table, where the task index table includes one or more index records, each index record is used to record a first priority and a last task node corresponding to a priority A link index in the ready task list, where any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority.
  • the first update module includes: an obtaining module, configured to acquire a node position of the task represented by the link index in the ready task list, the ready task list is used to record the node position of each priority task; and a change module, configured to Insert or remove a node location.
  • the device further includes: a second update module, configured to acquire a new link index of the priority task in the task index table according to the new location of the task in the ready task list, and replace the original link index with the new connection index.
  • a second update module configured to acquire a new link index of the priority task in the task index table according to the new location of the task in the ready task list, and replace the original link index with the new connection index.
  • the device further includes: a determining module, configured to determine whether the transition of the task state is successful, wherein, when the task state transition fails and is simultaneously converted into a delay state, the task is inserted into the delay task list, otherwise the scheduling operation is triggered.
  • the steps of the system's task are successful, in which, in the case of the arrival or timeout of the time of the delay state, the task conversion is successful.
  • a computer includes a task scheduling device of any of the above operating systems.
  • the task of scheduling the operating system is triggered by the transition of the task state; the link index corresponding to the task is obtained in the task index table according to the priority of the task;
  • the location of the index update task in the ready task list solves the problem that the task scheduling method in the prior art operating system needs to consume additional data storage space and supports multiple tasks under the same priority, thereby achieving simple implementation.
  • the flexible and efficient task scheduling method improves the efficiency of the operating system task scheduling.
  • FIG. 1 is a flowchart of a task scheduling method of an operating system according to an embodiment of the present invention
  • FIG. 2 is a task state transition diagram according to the embodiment shown in FIG. 1.
  • FIG. 4 is an arbitrary task from a ready state according to an embodiment of the present invention. a change structure diagram of the task linked list and the task index table when entering the running state;
  • FIG. 5 is a diagram showing a change structure of a task list and a task index table when any task transitions from a blocked state to a ready state according to an embodiment of the present invention
  • FIG. 6 is a diagram showing a change structure of a task list and a task index table when any task transitions from a ready state to a blocked state according to an embodiment of the present invention
  • Figure ⁇ is a diagram showing a change structure of a task list and a task index table when any task waits for a timeout and then enters a ready state according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of a task scheduling apparatus of an operating system according to an embodiment of the present invention. detailed description
  • the invention provides a task scheduling method of an operating system.
  • 1 is a flow chart of a task scheduling method of an operating system according to an embodiment of the present invention. As shown in Figure 1, the task scheduling method of the operating system includes the following steps:
  • Step S102 triggering a task of scheduling an operating system by converting a task state.
  • Step S104 Obtain a link index corresponding to the task in the task index table according to the priority of the task.
  • This step implements a scheduling index table for establishing scheduled tasks, and tasks of different priorities correspond to different scheduling commands, that is, corresponding to different link locations.
  • Step S106 Update the location of the task in the ready task list according to the link index. This step implements the link index recorded by the task index table to uniformly manage the node position of the task in the ready task list, so that the system can efficiently obtain the scheduling state of the task at this time, without requiring additional maintenance of multiple task lists according to priority. .
  • the foregoing embodiment of the present invention implements scheduling of tasks by maintaining a ready task list (based on the first-in-first-out principle) and a priority task index table.
  • a link index of different priority tasks is saved by creating and managing a task index table, for example,
  • the link index can provide the corresponding location information of the inserted ready task list for the task, so that when the task is changed from the suspended state to the ready state, the task information needs to be obtained first to determine that the task is in the ready state. In order for the system to run this task, saving storage space.
  • the method may further include: creating a task index table, the task index table includes one or more index records, and each index record is used to record the first and last task nodes corresponding to one priority A link index in the ready task list, where any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority.
  • This embodiment can implement different link commands for different priority tasks, and the use of the doubly linked list technology takes up less space.
  • the step of updating the location of the task in the ready task list according to the link index comprises:
  • the task of the link index representation is located at the node position in the ready task list, and the ready task list is used to record the node position of each priority task; the task is inserted or removed from the node location.
  • This embodiment can realize that only when the task is changed from the ready state to the suspended state, the location information of the node in the ready task list is deleted, or when the task is changed from the suspended state to the ready state, only the pointer is changed.
  • the node location is added to the task in the ready task list. This method is simple and efficient, and does not take up extra storage space.
  • the method may further include: acquiring a new priority task in the task index table according to the new location of the task in the ready task list Link the index, replacing the original link index with the new join index.
  • the embodiment may perform whether the transition of the task state is successful, wherein when the task state transition fails and is simultaneously converted into the delay state, the task is performed. Insert the delayed task list, otherwise the task that triggered the scheduling of the operating system is successful.
  • the task state is converted to success.
  • the method for implementing task scheduling according to the foregoing embodiment of the present invention implements the above-mentioned characteristic task scheduling rules (that is, task scheduling according to the priority of the task), finds a method for executing the corresponding task, and supports multiple identical priorities. Level tasks, as well as task priority adjustments.
  • the scheduling method proposed by the invention is simple to implement, time-consuming, stable, flexible and efficient.
  • FIG. 2 is a mission state transition diagram in accordance with the embodiment of FIG. 1.
  • the present invention implements scheduling of tasks by maintaining a ready task list (based on the first in first out principle) and a priority task index table. It includes task state transition and task scheduling. As shown in Figure 2, the operating system describes the task scheduling process according to the state transition of the task as follows:
  • TTB Tack Control Block
  • the basic state of a task can be divided into the following three types: Running state, Pending state, Ready state.
  • the migration relationship and trigger conditions of the above three states of the task include the following cases:
  • the currently running state of the running task is in the ready state. Ready's highest priority task will enter the running state Running. If multiple tasks are at this priority, then the task is selected according to the first in first out (FIFO: First - in, First - out) principle.
  • FIFO First - in, First - out
  • the task can modify its priority in the priority task index table when the higher priority task is ready or the task currently running is running.
  • the task currently running in the running state performs the following actions: Waiting for an event; Calling the delay function (Delay) for a number of times; Suspend the task; Waiting to enter the Pending state.
  • the currently blocked task performs the following actions: The event waiting for the system task occurs; the task is awakened (Suspended) after being suspended (Resume); When the task delay time reaches (Timeout), the task goes from the blocking state to the ready state Ready.
  • the system establishes a doubly linked list for each task in the ready state.
  • the tail of the linked list points to the Idle task.
  • Each node in the linked list contains a task control block (TCB. Tack Control Block) and a forward pointer and a subsequent pointer to the front and rear node addresses.
  • TTB task control block
  • the position of the task in the node is determined by performing the migration action between the three states by the doubly linked list.
  • the system When the task is scheduled, the system generates a transition between the various states of the task by directly looking up the first node in the ready task list.
  • the node index that needs to be inserted into the ready task list is found from the task index table according to its own priority, and the task is inserted into the node corresponding to the node position; when a task is ready state When you go to the suspended state, you can delete this node from the ready task list and update the index table record.
  • a task calls a delay function
  • the task is inserted into the delay task list.
  • the delay flag (tick number) of the task in the linked list is sequentially decremented by one in the interrupt service routine. If a task arrives at a time delay (tick is 0), it enters the ready state and inserts the ready task list.
  • the task scheduling is implemented by maintaining the ready task list (based on the first in first out principle) and the priority task index table.
  • 3 is a structural diagram of a ready task list and a task index table according to an embodiment of the present invention.
  • each node in the ready task list contains the task control block (TCB. Tack Control Block) and the front and rear node addresses; tasks with the same priority (such as priority N or M, etc.) are linked according to the FIFO principle.
  • TTB Task Control Block
  • the link index for each task in the task index table records the location of the first and last nodes of the task with the same priority (for example, priority N or M, etc.) in the ready task list.
  • FIG. 4 is a diagram showing a change structure of a task list and a task index table when any task transitions from a ready state to an active state according to an embodiment of the present invention.
  • Task scheduling is triggered when a task state transitions from a ready state (Ready) to a running state (Riming).
  • the scheduler is directly Find the first node in the ready task list and then generate a task state transition.
  • the following may specifically include the following steps:
  • the scheduler obtains the header node in the ready state task list; then, the pre pointer of the second node pointed to by the next pointer of the header node points to the empty node; and then points the current node next pointer to the empty node; Updating the header node, using the second node as a new header node; finally, updating the index record of the task index table, pointing the first node location in the task index table to the updated header node (ie, the second Nodes).
  • Figure 5 is a diagram showing the change structure of the task list and the task index table when any task transitions from the blocked state to the ready state according to an embodiment of the present invention.
  • a task transitions from the blocking state (Pending) to the ready state (Ready), it finds the node location that needs to be inserted into the ready task list from the task index table according to its own priority, and inserts the node. As shown in FIG.
  • the method may include the following steps: First, obtaining a task index record of the task index table according to the priority of the task itself, that is, obtaining a link address of the priority node in the task index table; The node that gets the last task of the same priority; then, the node can point the next pointer of the own node to the task pointed by the pre pointer of the first task node of the different priority; meanwhile, the last task of the same priority The next pointer of the node points to the pre pointer of the own node; finally, the record in the task index table is updated.
  • FIG. 6 is a diagram showing a change structure of a task list and a task index table when an arbitrary task transitions from a ready state to a blocked state according to an embodiment of the present invention.
  • the method may include the following steps:
  • FIG. ⁇ is a diagram showing a change structure of a task linked list and a task index table when any task waits for a timeout and then enters a ready state according to an embodiment of the present invention. When a task is delayed, it is inserted into the delayed task list.
  • the delay tick flag of the task in the linked list is sequentially decremented by one in the interrupt service routine. If a task delays (tick is 0), it enters the ready state and inserts the ready task list. As shown in FIG. 7, the specific steps may include the following steps:
  • the system deletes the task node from the delayed task list; then obtains the same priority task node index from the task index table according to the priority of the timeout task; and then points the next pointer of the timeout task node to the last task of the same priority
  • FIG. 8 is a schematic structural diagram of a task scheduling apparatus of an operating system according to an embodiment of the present invention. As shown in FIG. 8, the device includes: a trigger module 801, a scheduling module 803, and a first update module 805.
  • the triggering module 801 is configured to trigger a task of scheduling an operating system by using a transition of a task state; the scheduling module 803 is configured to obtain a link index corresponding to the task in the task index table according to a priority of the task; the first update module 805 , used to update the location of the task in the ready task list based on the link index.
  • the triggering module 801 in the above embodiment may implement the function of step S102 in FIG. 1, the scheduling module 803 may implement the function of step S104 in FIG. 1, and the first updating module 805 may implement the function of step S106 in FIG.
  • the maintenance ready task list (based on advanced The principle and the priority task index table are implemented to implement scheduling of the task, and the node index of the task to be scheduled is determined according to the link index in the scheduling module 803.
  • the link index may provide corresponding information for the task. Inserting the location information of the ready task list, so that when the task is switched from the suspended state to the ready state, only the location information of the task needs to be obtained first to determine that the task is in the ready state.
  • the above device of the invention saves data storage space and improves scheduling efficiency of the system. Simple, time-consuming, flexible and efficient task scheduling implementation.
  • the apparatus may further include: a creating module 807, configured to create a task index table, where the task index table includes one or more index records, each index record is used to record the first and last corresponding to a priority The link index of the task node in the ready task list, where any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority.
  • a creating module 807 configured to create a task index table, where the task index table includes one or more index records, each index record is used to record the first and last corresponding to a priority The link index of the task node in the ready task list, where any one priority corresponds to one or more task nodes, and each task node corresponds to only one priority.
  • the first update module 805 may include: an obtaining module 8051, configured to acquire a node position of the task represented by the link index in the ready task list, and a ready task list for recording a node position of each priority task; a change module 8052, Used to insert or remove a node location.
  • an obtaining module 8051 configured to acquire a node position of the task represented by the link index in the ready task list, and a ready task list for recording a node position of each priority task
  • a change module 8052 Used to insert or remove a node location.
  • the foregoing apparatus of the present invention may further include: a second update module 809, configured to acquire a new link index of the priority task in the task index table according to a new location of the task in the ready task list, and replace the original link index Index for new connections.
  • a second update module 809 configured to acquire a new link index of the priority task in the task index table according to a new location of the task in the ready task list, and replace the original link index Index for new connections.
  • the foregoing apparatus of the present invention may further include: a determining module 811, configured to determine whether the transition of the task state is successful, wherein, when the task state transition fails and simultaneously transitions to the delay state, the task is inserted into the delay task list, Otherwise, the task of scheduling the operating system is successfully triggered. In the case that the time of the delay state arrives or times out, the task state transition succeeds.
  • a determining module 811 configured to determine whether the transition of the task state is successful, wherein, when the task state transition fails and simultaneously transitions to the delay state, the task is inserted into the delay task list, Otherwise, the task of scheduling the operating system is successfully triggered. In the case that the time of the delay state arrives or times out, the task state transition succeeds.
  • the present invention also provides a computer.
  • the computer includes a task scheduling device of any of the above operating systems.
  • the invention implements the task scheduling method, has stable scheduling delay, runs efficiently, and supports multiple tasks of the same priority and adjustment of task priorities. While the flexibility is improved, the use of data space is also reduced. Simple, time-consuming, flexible and efficient task scheduling implementation, and support multiple tasks of the same priority, as well as task priority adjustment.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices.
  • they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device, or they may be separately fabricated into a plurality of integrated circuit modules, or they may be Multiple modules or steps in the fabrication are implemented as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

操作系统的任务调度方法、 装置及计算机 技术领域
本发明涉及嵌入式实时操作系统, 具体而言, 尤其涉及一种操作系统 的任务调度方法、 装置及计算机。 背景技术
嵌入式实时操作系统是一种能在确定时间内完成系统功能, 并且对内 部 , 外部事件能做出及时响应的系统。
任务调度是操作系统的核心功能之一, 其主要功能是依据某一准则选 择某个已就绪的任务, 并跳入这个任务中执行。 调度器就是完成任务调度 功能的模块。 大多嵌入式实时操作系统基于优先级进行调度, 具体为操作 系统为每个任务分配一个优先级, 调度器从已经就绪的各个任务中, 选择 优先级最高的任务执行。
目前, 嵌入式实时操作系统调度器的实现方法较多的借鉴或改进 μ C/OS- II提出的分组映射表的方法来实现在稳定时间内找到待执行的任务, 其实现上, 先釆用分组映射表来找到就绪态任务的最高优先级; 再对于每 个优先级维护了各自任务链表, 同一优先级的任务按照先进先出 (First-in, First-out )原则从链表中插入 /删除。 这样实现了对多个任务可以使用同一优 先级这个特性的支持。 但是, 通过分组映射表的查找方法需要消耗额外的 数据空间, 并且优先级的数目也受到限制。
因此, 目前现有技术的操作系统中的任务调度方法需要消耗额外的数 据存储空间, 并且优先级与任务一一对应, 不够灵活。 发明内容
本发明的主要目的在于提供一种操作系统的任务调度方法、 装置及计 算机, 以解决现有技术的操作系统中的任务调度方法需要消耗额外的数据 存储空间, 以及同一优先级下支持多个任务的问题。
为了实现上述目的, 根据本发明的一方面, 提供了一种操作系统的任 务调度方法。
根据本发明的操作系统的任务调度方法包括: 通过任务状态的转换来 触发调度操作系统的任务; 根据任务的优先级在任务索引表中获取该任务 对应的链接索引; 根据链接索引更新任务在就绪任务链表中的位置。
进一步地, 在根据任务的优先级在任务索引表中获取该任务对应的链 接索引的步骤之前, 方法还包括: 创建任务索引表, 任务索引表包括一个 或多个索引记录, 每个索引记录用于记录一个优先级所对应的第一个和最 后一个任务节点在就绪任务链表中的链接索引, 其中, 任意一个优先级对 应一个或多个任务节点, 每个任务节点分别对应唯——个优先级。
进一步地, 根据链接索引更新任务在就绪任务链表中的位置的步骤包 括: 获取链接索引表征的任务在就绪任务链表中的节点位置, 就绪任务链 表用于记录各个优先级任务的节点位置; 将任务插入或移除节点位置。
进一步地, 在根据链接索引更新任务在就绪任务链表中的位置的步骤 之后, 方法还包括: 根据任务在就绪任务链表中的新位置, 获取任务索引 表中该优先级任务的新链接索引, 将原来的链接索引更换为新连接索引。
进一步地, 在通过任务状态的转换来触发调度操作系统的任务的步骤 之后, 方法还包括: 判断任务状态的转换是否转换成功, 其中, 当任务状 态转换失败, 同时转换为延时状态, 则将任务插入延时任务链表中, 否则 触发调度操作系统的任务的步骤成功。
进一步地, 在延时状态的时刻到达或超时的情况下, 任务转换成功。 为了实现上述目的, 根据本发明的另一个方面, 提供了一种操作系统 的任务调度装置。
根据本发明的操作系统的任务调度装置包括: 触发模块, 用于通过任 务状态的转换来触发调度操作系统的任务; 调度模块, 用于根据任务的优 先级在任务索引表中获取该任务对应的链接索引; 第一更新模块, 用于根 据链接索引更新任务在就绪任务链表中的位置。
进一步地, 装置还包括: 创建模块, 用于创建任务索引表, 任务索引 表包括一个或多个索引记录, 每个索引记录用于记录一个优先级所对应的 第一个和最后一个任务节点在就绪任务链表中的链接索引, 其中, 任意一 个优先级对应一个或多个任务节点, 每个任务节点分别对应唯——个优先 级。
进一步地, 第一更新模块包括: 获取模块, 用于获取链接索引表征的 任务在就绪任务链表中的节点位置, 就绪任务链表用于记录各个优先级任 务的节点位置; 变更模块, 用于将任务插入或移除节点位置。
进一步地, 装置还包括: 第二更新模块, 用于根据任务在就绪任务链 表中的新位置, 获取任务索引表中该优先级任务的新链接索引, 将原来的 链接索引更换为新连接索引。
进一步地, 装置还包括: 判断模块, 用于判断任务状态的转换是否转 换成功, 其中, 当任务状态转换失败, 同时转换为延时状态, 则将任务插 入延时任务链表中, 否则触发调度操作系统的任务的步骤成功, 其中, 在 延时状态的时刻到达或超时的情况下, 任务转换成功。
为了实现上述目的, 根据本发明的再一方面, 提供了一种计算机。 该 计算机包括上述任意一种操作系统的任务调度装置。
通过本发明, 釆用通过任务状态的转换来触发调度操作系统的任务; 根据任务的优先级在任务索引表中获取该任务对应的链接索引; 根据链接 索引更新任务在就绪任务链表中的位置, 解决了现有技术的操作系统中的 任务调度方法需要消耗额外的数据存储空间, 以及同一优先级下支持多个 任务的问题, 进而达到了实现简单, 灵活高效的任务调度方法, 提高了操 作系统任务调度的工作效率的效果。 附图说明
此处所说明的附图用来提供对本发明的进一步理解, 构成本发明的一 部分, 本发明的示意性实施例及其说明用于解释本发明, 并不构成对本发 明的不当限定。 在附图中:
图 1是根据本发明实施例的操作系统的任务调度方法的流程图; 图 2是根据图 1所示实施例的任务状态迁移图; 图 4是根据本发明实施例的任意任务由就绪状态转入运行状态时的任 务链表和任务索引表的变化结构图;
图 5是根据本发明实施例的任意任务由阻塞状态转入就绪状态时的任 务链表和任务索引表的变化结构图;
图 6是根据本发明实施例的任意任务由就绪状态转入阻塞状态时的任 务链表和任务索引表的变化结构图;
图 Ί是根据本发明实施例的任意任务等待超时后进入就绪状态时任务 链表和任务索引表的变化结构图;
图 8是根据本发明实施例的操作系统的任务调度装置的结构示意图。 具体实施方式
为了使本发明所要解决的技术问题、 技术方案及有益效果更加清楚、 明白, 以下结合附图和实施例, 对本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本发明。 本发明提供了一种操作系统的任务调度方法。 图 1 是根据本发明实施 例的操作系统的任务调度方法的流程图。 如图 1 所示, 该操作系统的任务 调度方法包括如下步骤:
步骤 S102, 通过任务状态的转换来触发调度操作系统的任务。
步骤 S104, 根据任务的优先级在任务索引表中获取该任务对应的链接 索引。 该步骤实现建立被调度任务的调度索引表, 不同优先级的任务对应 不同的调度命令, 即对应不同的链接位置。
步骤 S106, 根据链接索引更新任务在就绪任务链表中的位置。 该步骤 实现通过任务索引表记录的链接索引来统一管理就绪任务链表中该任务的 节点位置, 实现系统可以高效的获取任务此时的调度状态, 而不需要额外 的按照优先级维护多个任务链表。
本发明上述实施例通过维护就绪任务链表(基于先进先出原则)和优 先级任务索引表的方式实现对任务的调度, 首先通过创建并管理任务索引 表来保存不同优先级任务的链接索引, 例如该链接索引可以为该任务提供 对应的插入就绪任务链表的位置信息, 使得该任务在从挂起状态转为就绪 状态时, 只需要先获取该任务的位置信息即可确定该任务处于就绪状态, 以便系统进行运行该任务, 节省了存储空间。 对应的链接索引的步骤之前, 方法还可以包括: 创建任务索引表, 任务索 引表包括一个或多个索引记录, 每个索引记录用于记录一个优先级所对应 的第一个和最后一个任务节点在就绪任务链表中的链接索引, 其中, 任意 一个优先级对应一个或多个任务节点, 每个任务节点分别对应唯——个优 先级。 该实施例可以实现为不同的优先级任务建立不同的链接命令, 釆用 的双向链表技术占用空间较少。
优选的, 根据链接索引更新任务在就绪任务链表中的位置的步骤包括: 获取链接索引表征的任务在就绪任务链表中的节点位置, 就绪任务链表用 于记录各个优先级任务的节点位置; 将任务插入或移除节点位置。 该实施 例可以实现当任务从就绪状态转为挂起状态时只需将就绪任务链表中的该 节点的位置信息删除, 或者在任务从挂起状态转为就绪状态时, 只需改变 指针指向的节点位置就实现在就绪任务链表中增加该任务, 该方法简单高 效、 不占用额外的存储空间。
本发明上述实施例中在根据链接索引更新任务在就绪任务链表中的位 置的步骤之后, 方法还可以包括: 根据任务在就绪任务链表中的新位置, 获取任务索引表中该优先级任务的新链接索引, 将原来的链接索引更换为 新连接索引。
其中, 在通过任务状态的转换来触发调度操作系统的任务的步骤之后 , 该实施例可以执行判断任务状态的转换是否成功, 其中, 当任务状态转换 失败, 同时转换为延时状态, 则将任务插入延时任务链表中, 否则触发调 度操作系统的任务成功。 优选的, 上述实施例中在延时状态的时刻到达或 超时的情况下, 任务状态转换为成功。
本发明上述实施例所描绘的任务调度的实现方法, 即实现上述所提到 的按照特点任务调度规则 (即按照任务的优先级进行任务调度), 找到相应 任务执行的方法, 支持多个相同优先级的任务, 以及任务优先级的调整。 本发明提出的调度方法实现简单, 耗时稳定且灵活高效。
下面将结合实例对本发明实施例的实现过程进行详细描述。
图 2是根据图 1所示实施例的任务状态迁移图。 本发明通过维护就绪 任务链表(基于先进先出原则)和优先级任务索引表的方式实现对任务的 调度。 包含任务状态转换和任务调度, 如图 2所示, 操作系统根据任务的 状态转换来描述任务调度的实现过程如下:
首先, 系统创建任务并设置任务状态, 优先级等信息, 并以此赋值任 务控制块( TCB. Tack Control Block )。 任务的基本状态可以分为以下三种: 运行状态 (Running ), 阻塞状态 (Pending ), 就绪状态 ( Ready )。
如图 2所示, 任务的上述三种状态的迁移关系及触发条件分别包括如 下几类情况:
就绪状态转换为运行状态 ( Ready -> Running ) 的过程中, 当前处于运 行状态 Running的任务发生状态迁移时, 处于就绪状态 Ready的最高优先 级的任务将进入运行状态 Running。 如果由多个任务处于此优先级, 那么根 据先进先出原则 (FIFO: First - in, First - out )选择任务。
运行状态转换为就绪状态( Running - > Ready )的过程中, 当更高优先 级任务就绪或者当前处于运行状态 Running 的任务改变时, 该任务可以在 优先级任务索引表中修改自身的优先级。
运行状态转换为阻塞状态 ( Running - > Pending ) 的过程中, 当前处 于运行状态 Running 的任务执行如下动作: 等待某事件; 调用延时函数 ( Delay )等待若干时间; 挂起( Suspend )该任务; 等待进入 Pending态。
就绪状态转换为阻塞状态 ( Ready _ >Pending ) 的过程中, 当前的任务 被挂起。
阻塞状态转换为就绪状态 ( Pending - >Ready ) 的过程中, 当前处于阻 塞状态的任务执行如下动作: 系统任务等待的事件发生; 任务在挂起后 ( Suspended )被唤醒(Resume ); 此时如果任务延时时间到 (Timeout ) 的 情况下任务从阻塞状态 Pending进入就绪状态 Ready。
其次, 系统为就绪态的各个任务建立一个双向链表,链表尾部指向 Idle 任务, 该链表中的每个节点包含任务控制块( TCB. Tack Control Block )和 指向前后节点地址的前趋指针和后继指针, 通过该双向链表实现任务的在 三种状态彼此之间执行迁移动作时, 确定该任务的在节点中的位置。
另外, 还需建立任务索引表, 索引表为每个任务优先级保留一份任务 索引记录, 记录这个优先级的第一个和最后一个任务节点在就绪任务链表 中的链接索引。
任务调度时, 系统通过直接查找到就绪任务链表中的首节点来产生任 务各个状态之间的转换。
例如, 当某任务由挂起状态转入就绪状态时, 根据自身优先级从任务 索引表找到需要插入就绪任务链表的节点位置, 并将该任务插入节点位置 对应的节点; 当某任务由就绪态转入挂起态时, 则可以从就绪任务链表中 删除此节点, 同时更新索引表记录。
另外的, 如果某任务如果调用延时函数, 则将该任务插入延时任务链 表中。 每次定时中断产生时, 在中断服务例程中依次把链表中任务的延时 标记(tick数目 )减一。 如果某任务延时时刻到达(tick为 0 ), 则进入就绪 态, 并插入就绪任务链表。
本发明上述实施例中通过维护就绪任务链表(基于先进先出原则) 和 优先级任务索引表的方式实现对任务的调度。 其中, 图 3是根据本发明实 施例的就绪任务链表和任务索引表结构图。 具体如图 3 所示, 就绪任务链 表中的每个节点包含任务控制块( TCB. Tack Control Block )和前后节点地 址; 相同优先级(例如优先级 N或 M等) 的任务会按照 FIFO原则链接在 相邻的节点上。 任务索引表中的每个任务的链接索引记录了就绪任务链表 中相同优先级(例如优先级 N或 M等)的任务的第一个和最后一个节点的 位置。 当任务调度时, 可以方便的根据链接索引记录的节点位置来对就绪 任务链表进行操作。
下面就详细描述发生任务调度时, 该任务各个状态之间的转换过程。 图 4是根据本发明实施例的任意任务由就绪状态转入运行状态时的任 务链表和任务索引表的变化结构图。 当任务状态发生由就绪状态 (Ready ) 转入运行状态 (Riming ) 的迁移时, 将触发任务调度。 此时, 调度器直接 找到就绪任务链表中的首节点, 随后产生任务状态转换。 如图 4所示, 具 体可以包括如下步骤:
首先, 调度器获取到就绪状态任务链表中的表头节点; 然后, 将该表 头节点的 next指针指向的第二个节点的 pre指针指向空节点; 再把当前节 点 next指针指向空节点; 再更新表头节点, 将该第二个节点作为新的表头 结点; 最后, 更新任务索引表的索引记录, 将任务索引表中第一节点位置 指向该更新后的表头节点 (即第二个节点)。
图 5是根据本发明实施例的任意任务由阻塞状态转入就绪状态时的任 务链表和任务索引表的变化结构图。 当某个任务由阻塞状态 (Pending )转 入就绪状态(Ready )时, 根据自身优先级从任务索引表找到需要插入就绪 任务链表的节点位置, 插入节点。 如图 5所示, 具体可以包括如下步骤: 首先, 根据任务自身的优先级获得任务索引表的任务索引记录, 即获 取任务索引表中该优先级的节点的链接地址; 其次, 可以通过索引记录得 到相同优先级最后一个任务的节点; 然后, 该节点可以把自身节点的 next 指针指向不相同优先级的第一个任务节点的 pre指针指向的任务; 同时,把 同优先级原来的最后一个任务节点的 next指针指向自身节点的 pre指针; 最后, 更新任务索引表中的记录。
图 6是根据本发明实施例的任意任务由就绪状态转入阻塞状态时的任 务链表和任务索引表的变化结构图。 当某个任务由就绪状态转入阻塞状态 时, 从就绪任务链表中删除此节点, 同时更新索引表记录。 如图 6所示, 具体可以包括如下步骤:
首先, 获得自身的任务控制块(TCB ) 节点; 然后, 把当前节点中的 pre指针所指向的前一个节点的 next指针指向当前节点的 next指针所指向 的任务控制块节点; 此时, 在当前节点是任务索引表记录中记录的这个优 先级的最后一个任务节点, 更新任务索引表中的记录。 图 Ί是根据本发明实施例的任意任务等待超时后进入就绪状态时任务 链表和任务索引表的变化结构图。 当某个任务被延时, 则插入延时任务链 表中。 每次定时中断产生时, 在中断服务例程中依次把链表中任务的延时 tick标记减一。 如果某个任务延时时刻到(tick为 0 ), 则进入就绪态, 并插 入就绪任务链表。 如图 7所示, 具体的可以包括如下步骤:
首先, 系统从延时任务链表中删除此任务节点; 然后根据超时任务的 优先级从任务索引表中获得同优先级任务节点索引; 再把超时任务节点的 next指针指向相同优先级的最后一个任务节点的 next指针指向的任务节点; 同时, 将相同优先级的最后一个任务节点的 next指针指向超时任务节点; 并把超时任务的 pre指针指向相同优先级的最后一个任务的节点;最后执行 更新任务索引表的记录的步骤。
需要说明的是, 本发明实施例在附图的流程图示出的步骤可以在诸如 一组计算机可执行指令的计算机系统中执行, 并且, 虽然在流程图中示出 了逻辑顺序, 但是在某些情况下, 可以以不同于此处的顺序执行所示出或 描述的步骤。
图 8是根据本发明实施例的操作系统的任务调度装置的结构示意图。 如图 8所示, 该装置包括: 触发模块 801、 调度模块 803以及第一更新模块 805。
其中, 触发模块 801, 用于通过任务状态的转换来触发调度操作系统的 任务; 调度模块 803 , 用于根据任务的优先级在任务索引表中获取该任务对 应的链接索引; 第一更新模块 805 , 用于根据链接索引更新任务在就绪任务 链表中的位置。
上述实施例中的触发模块 801可以实现图 1中步骤 S102的功能, 调度 模块 803可以来实现图 1中步骤 S104的功能, 第一更新模块 805可以实现 图 1中步骤 S106的功能。 通过该装置通过维护就绪任务链表(基于先进先 出原则)和优先级任务索引表的方式实现对任务的调度, 根据调度模块 803 中的链接索引来确定所要调度的任务在状态转换后的节点位置, 例如该链 接索引可以为该任务提供对应的插入就绪任务链表的位置信息, 使得该任 务在从挂起状态转为就绪状态时, 只需要先获取该任务的位置信息即可确 定该任务处于就绪状态。 本发明的上述装置节省了数据存储空间、 提高了 系统的调度效率。 实现简单, 耗时稳定, 灵活高效的任务调度实现方法。
优选的, 该装置还可以包括: 创建模块 807, 用于创建任务索引表, 任 务索引表包括一个或多个索引记录, 每个索引记录用于记录一个优先级所 对应的第一个和最后一个任务节点在就绪任务链表中的链接索引, 其中, 任意一个优先级对应一个或多个任务节点, 每个任务节点分别对应唯—— 个优先级。
优选的, 第一更新模块 805可以包括: 获取模块 8051 , 用于获取链接 索引表征的任务在就绪任务链表中的节点位置, 就绪任务链表用于记录各 个优先级任务的节点位置; 变更模块 8052, 用于将任务插入或移除节点位 置。
优选的, 本发明上述装置还可以包括: 第二更新模块 809, 用于根据任 务在就绪任务链表中的新位置, 获取任务索引表中该优先级任务的新链接 索引, 将原来的链接索引更换为新连接索引。
优选的, 本发明上述装置还可以包括: 判断模块 811 , 用于判断任务状 态的转换是否成功, 其中, 当任务状态转换失败, 同时转换为延时状态, 则将任务插入延时任务链表中, 否则触发调度操作系统的任务成功, 其中, 在延时状态的时刻到达或超时的情况下, 任务状态转换成功。
为了实现上述目的, 本发明还提供了一种计算机。 该计算机包括上述 任意一种操作系统的任务调度装置。
从以上的实施例描述中, 可以看出, 本发明实现了如下技术效果: 本 发明所述任务调度的实现方法, 调度延时稳定, 运行高效, 并支持多个相 同优先级的任务, 以及任务优先级的调整。 在灵活性得到提高的同时, 也 减少了数据空间的使用。 实现简单, 耗时稳定, 灵活高效的任务调度实现 方法, 并支持多个相同优先级的任务, 以及任务优先级的调整。
显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤 可以用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者 分布在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执 行的程序代码来实现, 从而, 可以将它们存储在存储装置中由计算装置来 执行, 或者将它们分别制作成多个集成电路模块, 或者将它们中的多个模 块或步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任何特 定的硬件和软件结合。
上述说明示出并描述了本发明的一个优选实施例, 但如前所述, 应当 理解本发明并非局限于本文所披露的形式, 不应看作是对其他实施例的排 除, 而可用于各种其他组合、 修改和环境, 并能够在本文所述发明构想范 围内, 通过上述教导或相关领域的技术或知识进行改动。 而本领域人员所 进行的改动和变化不脱离本发明的精神和范围, 则都应在本发明所附权利 要求的保护范围内。

Claims

权利要求书
1、 一种操作系统的任务调度方法, 其特征在于, 包括:
通过任务状态的转换来触发调度操作系统的任务;
根据所述任务的优先级在任务索引表中获取该任务对应的链接索引; 根据所述链接索引更新所述任务在就绪任务链表中的位置。
2、 根据权利要求 1所述的方法, 其特征在于, 在根据所述任务的优先 级在任务索引表中获取该任务对应的链接索引之前, 所述方法还包括: 创建所述任务索引表, 所述任务索引表包括一个或多个索引记录, 每 个所述索引记录用于记录一个优先级所对应的第一个和最后一个任务节点 在所述就绪任务链表中的链接索引, 其中, 任意一个优先级对应一个或多 个所述任务节点, 每个所述任务节点分别对应唯——个所述优先级。
3、 根据权利要求 2所述的方法, 其特征在于, 根据所述链接索引更新 所述任务在就绪任务链表中的位置包括: 置, 所述就绪任务链表用于记录各个优先级任务的节点位置;
将所述任务插入或移除所述节点位置。
4、 根据权利要求 1-3中任一项所述的方法, 其特征在于, 在根据所述 链接索引更新所述任务在就绪任务链表中的位置之后, 所述方法还包括: 根据所述任务在所述就绪任务链表中的新位置, 获取所述任务索引表中该 优先级任务的新链接索引, 将原来的所述链接索引更换为所述新连接索引。
5、 根据权利要求 1所述的方法, 其特征在于, 在通过任务状态的转换 来触发调度操作系统的任务之后, 所述方法还包括:
判断所述任务状态的转换是否成功, 其中, 当所述任务状态转换失败, 同时转换为延时状态, 则将所述任务插入延时任务链表中, 否则所述触发 调度操作系统的任务成功。
6、 根据权利要求 5所述的方法, 其特征在于, 在所述延时状态的时刻 到达或超时的情况下, 所述任务状态转换成功。
7、 一种操作系统的任务调度装置, 其特征在于, 包括:
触发模块, 用于通过任务状态的转换来触发调度操作系统的任务; 调度模块, 用于根据所述任务的优先级在任务索引表中获取该任务对 应的链接索引;
第一更新模块, 用于根据所述链接索引更新所述任务在就绪任务链表 中的位置。
8、 根据权利要求 7所述的装置, 其特征在于, 所述装置还包括: 创建模块, 用于创建所述任务索引表, 所述任务索引表包括一个或多 个索引记录, 每个所述索引记录用于记录一个优先级所对应的第一个和最 后一个任务节点在所述就绪任务链表中的链接索引, 其中, 任意一个优先 级对应一个或多个所述任务节点, 每个所述任务节点分别对应唯——个所 述优先级。
9、根据权利要求 8所述的装置, 其特征在于, 所述第一更新模块包括: 获取模块, 用于获取所述链接索引表征的所述任务在所述就绪任务链 表中的节点位置, 所述就绪任务链表用于记录各个优先级任务的节点位置; 变更模块, 用于将所述任务插入或移除所述节点位置。
10、 根据权利要求 7所述的装置, 其特征在于, 所述装置还包括: 第 二更新模块, 用于根据所述任务在所述就绪任务链表中的新位置, 获取所 述任务索引表中该优先级任务的新链接索引, 将原来的所述链接索引更换 为所述新连接索引。
11、 根据权利要求 7所述的装置, 其特征在于, 所述装置还包括: 判断模块, 用于判断所述任务状态的转换是否成功, 其中, 当所述任 务状态转换失败, 同时转换为延时状态, 则将所述任务插入延时任务链表 中, 否则所述触发调度操作系统的任务成功, 在所述延时状态的时刻到达 或超时的情况下, 所述任务状态转换成功。
12、 一种计算机, 其特征在于, 包括权利要求 7- 11中任意一项所述的 操作系统的任务调度装置。
PCT/CN2011/074391 2011-01-10 2011-05-20 操作系统的任务调度方法、装置及计算机 WO2012094862A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110003864.5 2011-01-10
CN201110003864.5A CN102591703B (zh) 2011-01-10 2011-01-10 操作系统的任务调度方法、装置及计算机

Publications (1)

Publication Number Publication Date
WO2012094862A1 true WO2012094862A1 (zh) 2012-07-19

Family

ID=46480413

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/074391 WO2012094862A1 (zh) 2011-01-10 2011-05-20 操作系统的任务调度方法、装置及计算机

Country Status (2)

Country Link
CN (1) CN102591703B (zh)
WO (1) WO2012094862A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027196A (zh) * 2019-12-03 2020-04-17 南方电网科学研究院有限责任公司 一种电力设备的仿真分析任务处理方法、装置及存储介质
CN111277900A (zh) * 2018-12-05 2020-06-12 深圳市茁壮网络股份有限公司 一种机顶盒的启动方法和装置
CN114579812A (zh) * 2022-03-14 2022-06-03 上海壁仞智能科技有限公司 链表队列的管理方法及装置、任务管理方法和存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049325A (zh) * 2013-01-09 2013-04-17 浙江大学 基于tc1767平台的csa节点管理器的实现方法
CN103488536B (zh) * 2013-09-29 2017-12-05 华为技术有限公司 任务调度方法、装置及操作系统
CN106201695A (zh) * 2016-07-15 2016-12-07 郑州飞机装备有限责任公司 适用于嵌入式软件系统的多任务调度方法
CN109901917B (zh) * 2017-12-07 2022-04-22 龙芯中科技术股份有限公司 实时操作系统调度方法及装置、计算机可读存储介质
CN109947468B (zh) * 2017-12-20 2021-07-02 北京谊安医疗系统股份有限公司 一种实现无阻塞无任务切换的事件延时方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1519735A (zh) * 2003-01-24 2004-08-11 深圳市中兴通讯股份有限公司 嵌入式实时操作系统的进程调度方法
US6912712B1 (en) * 1999-10-11 2005-06-28 Samsung Electronics Co., Ltd. Real time control system for multitasking digital signal processor using ready queue

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084009A (ja) * 2006-09-27 2008-04-10 Toshiba Corp マルチプロセッサシステム
CN101014176A (zh) * 2007-02-05 2007-08-08 浪潮乐金信息系统有限公司 通信网管系统中一种基于优先级时间链表的采集调度方法
CN101178664A (zh) * 2007-12-12 2008-05-14 北京中星微电子有限公司 实时操作系统中的任务调度方法及系统
CN101266553B (zh) * 2008-05-06 2010-06-02 无锡紫芯集成电路系统有限公司 基于嵌入式系统的多任务管理方法
CN101299197B (zh) * 2008-06-30 2011-09-28 无锡中星微电子有限公司 一种增删任务的方法和单元

Patent Citations (2)

* 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
CN1519735A (zh) * 2003-01-24 2004-08-11 深圳市中兴通讯股份有限公司 嵌入式实时操作系统的进程调度方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277900A (zh) * 2018-12-05 2020-06-12 深圳市茁壮网络股份有限公司 一种机顶盒的启动方法和装置
CN111277900B (zh) * 2018-12-05 2022-12-23 深圳市茁壮网络股份有限公司 一种机顶盒的启动方法和装置
CN111027196A (zh) * 2019-12-03 2020-04-17 南方电网科学研究院有限责任公司 一种电力设备的仿真分析任务处理方法、装置及存储介质
CN111027196B (zh) * 2019-12-03 2023-04-28 南方电网科学研究院有限责任公司 一种电力设备的仿真分析任务处理方法、装置及存储介质
CN114579812A (zh) * 2022-03-14 2022-06-03 上海壁仞智能科技有限公司 链表队列的管理方法及装置、任务管理方法和存储介质
CN114579812B (zh) * 2022-03-14 2023-09-15 上海壁仞智能科技有限公司 链表队列的管理方法及装置、任务管理方法和存储介质

Also Published As

Publication number Publication date
CN102591703B (zh) 2015-05-06
CN102591703A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
WO2012094862A1 (zh) 操作系统的任务调度方法、装置及计算机
EP0798638B1 (en) Periodic process scheduling method
WO2020151177A1 (zh) 基于大数据行为调度应用任务的方法、服务器及存储介质
CN107615709B (zh) Sdn的转发单元和控制器单元
US20060010446A1 (en) Method and system for concurrent execution of multiple kernels
US20030014463A1 (en) Task management system
US7441240B2 (en) Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
US7310803B2 (en) Method and system for executing multiple tasks in a task set
US20190373031A1 (en) Control message from streaming source to facilitate scaling
CN113132456B (zh) 一种基于截止时间感知的边云协同任务调度方法及系统
WO2023246044A1 (zh) 调度方法及装置、芯片、电子设备及存储介质
CN110740145B (zh) 消息消费方法、装置、存储介质及电子设备
CN109558230A (zh) 一种分布式定时任务调度系统及方法
US7116635B2 (en) Process execution method and apparatus
CN113411152B (zh) 一种用于tsn端系统支持高确定性网络报文接收的dma方法
JP2904483B2 (ja) 周期的プロセスのスケジューリング方法
CN102546423B (zh) 队列调度方法、装置及网络设备
JP2004517424A (ja) サーバーアーキテクチャー
Jajoo et al. Saath: Speeding up coflows by exploiting the spatial dimension
JP3713977B2 (ja) リアルタイム分散システム
KR20080064578A (ko) 실시간 시스템의 송신 방법 및 장치, 수신 방법 및 장치
JP3653176B2 (ja) プロセス実行制御方法
Kumar et al. An algorithm for online reconfiguration of resource reservations for hard real-time systems
JP2000322278A (ja) プロセス実行制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11855452

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11855452

Country of ref document: EP

Kind code of ref document: A1