CN106874129B - 一种操作系统进程调度顺序确定方法及控制方法 - Google Patents

一种操作系统进程调度顺序确定方法及控制方法 Download PDF

Info

Publication number
CN106874129B
CN106874129B CN201710064237.XA CN201710064237A CN106874129B CN 106874129 B CN106874129 B CN 106874129B CN 201710064237 A CN201710064237 A CN 201710064237A CN 106874129 B CN106874129 B CN 106874129B
Authority
CN
China
Prior art keywords
data acquisition
time
processes
acquisition period
data
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.)
Active
Application number
CN201710064237.XA
Other languages
English (en)
Other versions
CN106874129A (zh
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.)
Beijing Information Science and Technology University
Original Assignee
Beijing Information Science and Technology University
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 Beijing Information Science and Technology University filed Critical Beijing Information Science and Technology University
Priority to CN201710064237.XA priority Critical patent/CN106874129B/zh
Publication of CN106874129A publication Critical patent/CN106874129A/zh
Application granted granted Critical
Publication of CN106874129B publication Critical patent/CN106874129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • General Factory Administration (AREA)

Abstract

本申请提供了一种操作系统进程调度顺序确定方法及控制方法,适用于传感器网络中的感知节点,其中,操作系统进程调度顺序确定方法包括:选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期;利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间;根据待处理进程的数据采集周期确定数据采集周期的最小值;每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,待所有待处理进程都至少排序过一次序之后停止确定待排序进程;根据各排序结果得到完整调度顺序。本申请能够合理地配置感知节点进程管理,有效提高感知节点服务品质、降低感知节点能源消耗。

Description

一种操作系统进程调度顺序确定方法及控制方法
技术领域
本申请涉及计算机科学技术领域,尤其涉及一种操作系统进程调度顺序确定方法及控制方法。
背景技术
传感器网络是由大量传感器节点通过相互通信形成的网络,传感器节点包括服务器节点、感知节点及传感器,多个传感器连接感知节点,感知节点连接服务节点,各传感器用于采集数据,感知节点用于采集与其相连的各传感器测量的数据并将采集到的数据发送至服务节点。传感器节点具有广泛的应用。新一代更小、更廉价的低功耗设备的产生,分布式计算带来的数据计算和处理能力的提高,通信技术的发展以及微机电系统的发展使得发展低成本、低功耗、多种距离通讯的多功能传感器成为可能。传感器网络按连接形式不同分为无线传感器网络和有线传感器网络两部分。无线传感器网络不需要固定网络支持,具有快速展开、布设方便等特点,但稳定性和可靠性要劣于有线传感器网络。
安装于感知节点的实时操作系统负责感知传感器节点的全部软、硬件资源的分配,任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等。
实时操作系统是指能够及时响应随机发生的外部事件,并在规定的时间范围内完成对该事件处理的系统。实时操作系统的最主要特征就是其快速的处理能力,适应这种实时性的要求。实时操作系统在设计时力求简单而实用。一般的实时操作系统都拥有高精度的实时时钟;具有快速的中断响应和中断处理能力;支持多道程序设计,任务调度算法简单、实用,数据结构简洁、明了,任务切换速度快,能够处理时间驱动的任务(周期性任务)和事件驱动的任务。
操作系统中的进程是程序及其数据在计算机上的一次运行,是操作系统进行调度和资源分配的独立单位,进程由程序、数据和进程控制块PCB三部分组成。进程在其生命期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态在不断地发生变化。操作系统中进程的状态变化图如图1所示,进程调度的职责是根据一定的算法,从多个就绪进程中选择其中之一来占用MPU(微处理器)。强实时约束要求系统必须满足定时约束和时限要求,实时的嵌入式操作系统应当具有可预期的定时行为,周期性任务模型可以准确地描述强实时约束下的系统性能。
现有技术中,感知节点中的操作系统一般采用如下三种方法进行进程控制:1.优先调度长信息(如视频)对应的进程;2.优先调度短信息(如状态信息)对应的进程;3.按等待时间长短进行调度,优先调度等待时间长的进程。现有技术中的进程控制方法不能充分占用进程空闲时间,从而导致时效性低,节能性差的缺陷。
发明内容
为了解决现有技术中传感器网络感知节点进程控制不能充分占用进程空闲时间,从而导致时效性低,节能性差的问题,本申请提供一种操作系统进程调度顺序确定方法,适用于传感器网络中的感知节点,包括:
选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期;
利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间;
根据待处理进程的数据采集周期确定数据采集周期的最小值;
每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,待所有待处理进程都至少排序过一次序之后停止确定待排序进程;根据各排序结果得到完整调度顺序。
本申请还提供一种操作系统进程控制方法,适用于传感器网络中的感知节点,所述方法包括:
选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期;
利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间;
根据待处理进程的数据采集周期确定数据采集周期的最小值;
每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度。
本申请中,每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度,能够使感知节点对采集数据进行实时处理,有效地使用感知节点有限的资源,以尽可能好的品质提供感知和控制服务,同时尽可能减少节点能源消耗。采用本申请,可以更合理地配置感知节点进程管理,有效提高感知节点服务品质、降低感知节点能源消耗。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中进程状态变化示意图;
图2为本申请实施例操作系统进程调度顺序确定方法的流程图;
图3A为本申请具体实施例选择的待处理进程示意图;
图3B为本申请具体实施例拆分后的进程示意图;
图3C为本申请具体实施例进程调度示意图;
图4A为本申请具体实施例选择的待处理进程示意图;
图4B为本申请具体实施例进程调度示意图;
图5为本申请实施例操作系统进程控制方法流程图;
图6为本申请实施例操作系统进程调度顺序确定装置结构图;
图7为本申请实施例操作系统进程控制装置结构图。
具体实施方式
为了使本申请的技术特点及效果更加明显,下面结合附图对本申请的技术方案做进一步说明,本申请也可有其他不同的具体实例来加以说明或实施,任何本领域技术人员在权利要求范围内做的等同变换均属于本申请的保护范畴。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本申请所述的感知节点中安装有操作系统,该操作系统除了用于控制进程的调度外,还用于实现对底层硬件,包括MPU、存储装置、供电装置、显示装置和各类传感器的管理。实施时,感知节点加电后通过先运行配置文件引导处理器加载和运行操作系统,即通过寄存器将地址指向操作系统存储模块。
如图2所示,图2为本申请实施例操作系统进程调度顺序确定方法的流程图。该确定方法适用于传感器网络中的感知节点,通过该确定方法能够使得感知节点的实时性能接近全局最优。具体的,包括:
步骤201:选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期。
详细的说,每个进程对应一个与感知节点相连的传感器,用于采集及发送传感器测得的数据。
有效工作时间包括数据采集时间及数据发送区时间,数据采集时间对应数据采集所需时间,数据发送区时间对应数据发送所需时间。数据采集周期为服务节点要求的服务时间,即数据采集周期内服务节点要接收到采集的数据。各进程的数据采集周期之间为整数倍关系。
步骤202:利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间。
步骤203:根据待处理进程的数据采集周期确定数据采集周期的最小值。
步骤204:每隔数据采集周期最小值的时间,从待处理进程中确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,待所有待处理进程都至少排序过一次序之后停止确定待排序进程。具体实施时,空闲时间相同的进程按有效工作时间从大到小的顺序排序。
待排序进程的有效工作时间之和小于或等于最小数据采集周期。
为了维持同步,一般情况下,数据采集开始时间设定为同一起始时间,各进程对应的传感器将采集数据存储在内存中,存入内存后会更改数据标识位,如将数据标识位置1,当传感器将采集数据发送给感知节点后,会将该数据标识位置0。
一些实施方式中,还可用最大数据采集周期除以最小数据采集周期得到一倍数值,将该倍数值设定为排序次数,当排序次数达到该值时,停止确定待排序进程。
步骤205:根据各排序结果得到完整调度顺序。具体为按排序结果的先后顺序依次排序以得到完整调度顺序。
感知节点内的操作系统依据该完整调度顺序对进程进行调度(如图3C及图4B所示),本实施例能够使感知节点的实时性能接近全局最优。
一实施例中,进程调度的过程包括:当进程输入后,感知节点首先根据完整调度顺序将进程插入内存队列中,所有进入队列的进程都处于有秩序的后备状态,等待进程调度程序调度它们运行。
进程建立时把该进程所包含的全部程序和数据输入到计算机的辅助存储器中,然后由进程注册程序在系统中为该进程申请并建立一个相应的进程管理模块PMB,PMB包含了操作系统对进程进行管理所必需的信息,包括进程名、进程估计执行时间、优先级、进程建立时间、进程说明书文件名、程序语言类型、内存要求、外设要求、进程状态以及进程在外存中的存储地址等。
进程名用于识别不同的进程。进程估计执行时间、建立时间以及优先级等则是为进程调度算法提供参数。每个排序结果中,第一个进程的开始执行时间为进程的初始时间,第一个进程之后进程的开始执行时间通过如下公式一确定:
Figure BDA0001220340040000051
其中,ti为第i个进程开始执行时间,di为第i个进程的数据采集周期,ti,1为第i个进程的数据采集时间,ti,2为第i个进程的数据发送区时间,tk-1,1为第k-1个进程的数据采集时间,tk-1,2为第k-1个进程的数据发送区时间。
程序语言类型表明该进程所需要的编译系统和有关的库函数类型等。进程状态描述进程生存期的各个阶段,包括进程的输入、后备、执行以及完成等各阶段。对内存和外存等的要求是进程对硬件资源的要求,用户在进程说明书中提出的资源要求称为静态申请。进程在外存中的地址指明进程在外存中的位置,以便系统将进程调入内存时迅速地找到它。
按上述排序结果不断把处于后备状态的进程调到MPU上运行。
一实施例中,上述步骤201中选择感知节点所需完成的待处理进程进一步包括:
步骤301:从备选进程中筛选出数据采集周期及空闲时间都最小的进程。每一个进程对应一个传感器,该步骤的目的是从备选传感器中筛选出数据采集周期及空闲时间都最小的传感器。
步骤302:判断预筛选出的进程是否满足如下公式二,如果预筛选出的进程满足公式二,则筛选出该进程:
Figure BDA0001220340040000061
Figure BDA0001220340040000062
公式二
其中,
Figure BDA0001220340040000063
为预筛选出的进程的数据采集周期,
Figure BDA0001220340040000064
为预筛选出的进程的数据采集时间,
Figure BDA0001220340040000065
为预筛选出的进程的数据发送区时间,
Figure BDA0001220340040000066
为已筛选出的进程的有效工作时间和,m为已筛选出的进程个数,tk,1为第k个已筛选出的进程的数据采集时间,tk2为第k个已筛选出的进程的数据发送区时间,dj为已筛选出的任一进程j的数据采集周期,
Figure BDA0001220340040000067
表示
Figure BDA0001220340040000068
是dj的整数倍。
具体实施时,先筛选数据采集周期小的进程。
步骤303:将筛选出的进程选择为感知节点所需完成的待处理进程。
进一步的,还包括步骤304:若筛选出的某进程不满足如下公式三:
其中,dmin为数据采集周期最小值,
Figure BDA00012203400400000610
为该某进程的数据采集时间,
Figure BDA00012203400400000611
为该某进程的数据发送区时间,m0为排在最小数据采集周期内的进程个数,t'k,1为第k个排在最小数据采集周期内的进程的数据采集时间,t'k,2为第k个排在最小数据采集周期内的进程的数据发送区时间。
则按如下原则将该某进程拆分成多个进程,以使拆分后的至少一进程满足公式三:
按如下原则将一进程拆分成多个进程,拆分为的各进程都以独立进程参与排序:
Figure BDA00012203400400000612
其中,n为拆分成的进程个数,
Figure BDA0001220340040000071
为该某进程的数据采集周期,ti,1,j为拆分为的第j个进程的数据采集时间,ti,2,j为拆分的第j个进程的数据发送区时间,di,j为拆分为的第j个进程的数据采集周期。
实施时,可按均匀等分的方式进行拆分,该某进程的数据采集周期均匀的拆分为多个最小数据采集周期。数据采集时间及数据发送区时间也按均匀等分的方式拆分。但注意的是,虽然该某进程的数据采集周期进行了拆分,但实际上,该某进程对应的传感器每隔拆分前的数据采集周期产生一采样数据。
一实施例中,通过如下公式四确定待排序进程:
Figure BDA0001220340040000072
其中,dmin为待处理进程中数据采集周期最小值,
Figure BDA0001220340040000073
为待判断的进程的数据采集时间,
Figure BDA0001220340040000074
为待判断的进程的数据发送区时间,m1为已判断出的待排序进程个数,t″k,1为第k个已判断出的待排序进程的数据采集时间,t″k,2为第k个已判断出的待排序进程的数据发送区时间。
具体实施时,可根据各进程的数据采集周期(或上述的数据标识位)确定参与竞争的待处理进程,各进程每隔数据采集周期产生一参与竞争的待处理进程。按空闲时间从小到大的顺序排序所有参与竞争的待处理进程,按排序次序将参与竞争的待处理进程依次设定为待判断的进程,直至得到满足公式四的所有进程为止。
下面以一具体实例说明拆分进程的情况,如图3A所示,该图中的任务灰色区域对应有效工作时间,进程B的数据采集周期d1等于进程A的数据采集周期d2,进程C的数据采集周期d3为d1的二倍。
首先,根据步骤301筛选出了进程B,数据采集周期最小值为d1
接着,根据步骤302筛选出了进程A及进程C。以预筛选出的进程为进程C为例,由图4A可知,进程C满足公式二,
Figure BDA0001220340040000075
则筛选出进程C。
其次,根据步骤303,选择的待处理进程包括进程A、进程B及进程C。
最后,根据步骤304得出进程C不满足公式三,则需按均匀拆分的方式将进程C拆分为C1及C2,如图3B所示,拆分后,t3,1,1+t3,1,2=t3,2,1+t3,2,2,d31=d32,d31及d32用于进程的排序,d3为进程实际的数据采集周期,每经过一个d3产生一个任务C1及任务C2。
进一步的,根据步骤202,得到第一d1内,满足公式四的待排序进程包括进程B、进程A及进程C1(或进程C2),按空闲时间从小到大的顺序排序结果为:进程B、进程C1及进程A。第二d1内,满足公式四的待排序进程包括进程B,进程A及进程C2,按空闲时间从小到大的顺序排序结果为:进程B、进程C2及进程A。完整调度顺序为:进程B、进程C1、进程A、进程B、进程C2及进程A,调度关系图如图3C所示。
下面以一具体实例说明不拆分进程的情况,如图4A所示,该图中的任务灰色区域对应有效工作时间,进程B的数据采集周期d1等于进程A的数据采集周期d2,进程C的数据采集周期d3等于进程D的数据采集周期d4,为d1(及d2)的二倍。
首先,根据步骤301筛选出了进程B,数据采集周期最小值为d1
接着,根据步骤302依次筛选出了进程A、进程C及进程D。以预筛选出的进程为进程D为例,由图4A可知,进程D满足公式一,则筛选出进程D。
其次,根据步骤303,选择的待处理进程包括进程A、进程B、进程C及进程D,待处理的各进程满足公式三。
接着,根据步骤202,得到第一d1内,满足公式四的待排序进程包括进程B、进程A及进程C(或进程D),按空闲时间从小到大的顺序排序结果为:进程B、进程A及进程C。第二d1内,满足公式四的待排序进程包括进程B,进程A及进程D,按空闲时间从小到大的顺序排序结果为:进程B、进程A及进程D。完整调度顺序为:进程B、进程A、进程C、进程B、进程A及进程D,调度关系图如图4B所示。
一实施例中,按图2所示步骤设计好完整调度顺序后可交付用户使用,若用户根据需要想插入新的待处理进程,该新的待处理进程可以是对应着新的传感器数据采集端口的进程,也可以是已选择的待处理进程中来自相同传感器采集端口。
通过如下公式五判断是否可插入新的待处理进程,如果满足公式五,则可插入新的待处理进程:
Figure BDA0001220340040000082
其中,为新的待处理进程的数据采集周期,为新的待处理进程的数据采集时间,
Figure BDA0001220340040000091
为新的待处理进程的数据发送区时间,m2为已选择的待处理进程个数,t″'k,1为第k个已选择的待处理进程的数据采集时间,t″'k,2为第k个已选择的待处理进程的数据发送区时间,dj为已选择的任一待处理进程j的数据采集周期。
本申请一实施例中,若感知节点处理速度允许,还提供一种操作系统进程控制方法,如图5所示,包括:
步骤501:选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期。
待处理进程的确定方法已在上述实施例中进行了说明,此处不再赘述。
该步骤执行前,感知节点加电后通过先运行配置文件,引导计算机加载和运行操作系统,即通过寄存器将地址指向操作系统存储模块。
步骤502:利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间。
步骤503:根据待处理进程的数据采集周期确定数据采集周期的最小值。
步骤504:每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度。
详细的说,待排序进程的有效工作时间之和小于等于最小数据采集周期,待排序进程的确定方法已在上述实施例中进行了说明,此处不再赘述。
本申请中,每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度,能够使感知节点对采集数据进行实时处理,有效地使用感知节点有限的资源,以尽可能好的品质提供感知和控制服务,同时尽可能减少节点能源消耗。采用本申请,可以更合理地配置感知节点进程管理,有效提高感知节点服务品质、降低感知节点能源消耗。
基于同一发明构思,本申请实施例中还提供了一种操作系统进程调度顺序确定装置及操作系统进程控制装置,如下面的实施例所述。由于该调度顺序确定装置及该控制装置解决问题的原理与上述方法相似,因此该调度顺序确定装置及该控制装置的实施可以参见操作系统进程调度顺序确定方法及控制方法的实施,重复之处不再赘述。
如图6所示,图6为本申请实施例操作系统进程调度顺序确定装置结构图。该装置适用于传感器网络中的感知节点,可以通过逻辑电路实现运行于智能终端,例如手机、电脑等设备中,或者以功能模块的方式由软件实现各部件的功能,运行于所述智能终端上。具体的,该装置包括:
选择模块601,用于选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期。
第一计算模块602,用于利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间。
第二计算模块603:根据待处理进程的数据采集周期确定数据采集周期的最小值。
排序模块604,每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,待所有待处理进程都至少排序过一次序之后停止确定待排序进程。
调度顺序确定模块605,用于根据各排序结果得到完整调度顺序。
如图7所示,图7为本申请实施例操作系统进程控制装置结构图。该装置适用于传感器网络中的感知节点,可以通过逻辑电路实现运行于感知节点,或者以功能模块的方式由软件实现各部件的功能,运行于所述感知节点上。具体的,该装置包括:
选择模块701,选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期。
第一计算模块702,用于利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间。
第二计算模块703:根据待处理进程的数据采集周期确定数据采集周期的最小值。
进程调度处理模块704,每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度。
本申请操作系统进程调度顺序确定装置及控制装置可应用于复杂感知环境,进程管理的优化设计使得感知节点的实时性能接近全局最优,能够保证传感器节点信息采集与处理的时效性及节能性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅用于说明本申请的技术方案,任何本领域普通技术人员均可在不违背本申请的精神及范畴下,对上述实施例进行修饰与改变。因此,本申请的权利保护范围应视权利要求范围为准。

Claims (9)

1.一种操作系统进程调度顺序确定方法,其特征在于,适用于传感器网络中的感知节点,所述方法包括:
选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期;
利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间;
根据待处理进程的数据采集周期确定数据采集周期的最小值;
每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,待所有待处理进程都至少排序过一次序之后停止确定待排序进程;
根据各排序结果得到完整调度顺序;
其中,选择感知节点所需完成的待处理进程进一步包括:
从备选进程中筛选出数据采集周期及空闲时间都最小的进程;
判断预筛选出的进程是否满足如下公式二,如果满足,则筛选出该进程:
Figure FDA0002182337530000011
其中,
Figure FDA0002182337530000012
为预筛选出的进程的数据采集周期,
Figure FDA0002182337530000013
为预筛选出的进程的数据采集时间,
Figure FDA0002182337530000014
为预筛选出的进程的数据发送区时间,m为已筛选出的进程个数,tk,1为第k个已筛选出的进程的数据采集时间,tk,2为第k个已筛选出的进程的数据发送区时间,dj为已筛选出的任一进程j的数据采集周期,
Figure FDA0002182337530000015
表示
Figure FDA0002182337530000016
是dj的整数倍;
将筛选出的进程选择为感知节点所需完成的待处理进程。
2.如权利要求1所述的操作系统进程调度顺序确定方法,其特征在于,各进程的数据采集周期为整数倍关系。
3.如权利要求2所述的操作系统进程调度顺序确定方法,其特征在于,所述有效工作时间包括数据采集时间及数据发送区时间。
4.如权利要求3所述的操作系统进程调度顺序确定方法,其特征在于,每个排序结果中,第一个进程的开始执行时间为进程的初始时间,第一个进程之后进程的开始执行时间通过如下公式一确定:
Figure FDA0002182337530000021
其中,ti为第i个进程开始执行时间,di为第i个进程的数据采集周期,ti,1为第i个进程的数据采集时间,ti,2为第i个进程的数据发送区时间,tk-1,1为第k-1个进程的数据采集时间,tk-1,2为第k-1个进程的数据发送区时间。
5.如权利要求1所述的操作系统进程调度顺序确定方法,其特征在于,若筛选出的某进程不满足如下公式三:
Figure FDA0002182337530000022
其中,dmin为数据采集周期最小值,
Figure FDA0002182337530000023
为该某进程的数据采集时间,
Figure FDA0002182337530000024
为该某进程的数据发送区时间,m0为排在最小数据采集周期内的进程个数,t'k,1为第k个排在最小数据采集周期内的进程的数据采集时间,t'k,2为第k个排在最小数据采集周期内的进程的数据发送区时间;
则按如下原则将该某进程拆分成多个进程,以使拆分后的至少一进程满足公式三:
其中,n为拆分成的进程个数,
Figure FDA0002182337530000026
为该某进程的数据采集周期,ti,1,j为拆分为的第j个进程的数据采集时间,ti,2,j为拆分的第j个进程的数据发送区时间,di,j为拆分为的第j个进程的数据采集周期。
6.如权利要求5所述的操作系统进程调度顺序确定方法,其特征在于,该某进程的数据采集周期均匀的拆分为多个最小数据采集周期。
7.如权利要求3所述的操作系统进程调度顺序确定方法,其特征在于,通过如下公式四确定待排序进程:
Figure FDA0002182337530000027
其中,dmin为数据采集周期最小值,
Figure FDA0002182337530000028
为待判断的进程的数据采集时间,为待判断的进程的数据发送区时间,m1为已判断出的待排序进程个数,t”k,1为第k个已判断出的待排序进程的数据采集时间,t”k,2为第k个已判断出的待排序进程的数据发送区时间。
8.如权利要求3所述的操作系统进程调度顺序确定方法,其特征在于,得到完整调度顺序后还包括:
通过如下公式五判断是否可插入新的待处理进程,如果满足,则可插入新的待处理进程:
Figure FDA0002182337530000031
其中,为新的待处理进程的数据采集周期,
Figure FDA0002182337530000033
为新的待处理进程的数据采集时间,
Figure FDA0002182337530000034
为新的待处理进程的数据发送区时间,m2为已选择的待处理进程个数,t”'k,1为第k个已选择的待处理进程的数据采集时间,t”'k,2为第k个已选择的待处理进程的数据发送区时间,dj为已选择的任一待处理进程j的数据采集周期。
9.一种操作系统进程控制方法,其特征在于,适用于传感器网络中的感知节点,所述方法包括:
选择感知节点所需完成的待处理进程并获取各进程的有效工作时间及数据采集周期;
利用进程的数据采集周期减去进程的有效工作时间得到进程的空闲时间;
根据待处理进程的数据采集周期确定数据采集周期的最小值;
每间隔数据采集周期最小值的时间,确定一次待排序进程,按进程的空闲时间从小到大的顺序排序待排序进程,根据排序结果进行进程调度;
其中,选择感知节点所需完成的待处理进程进一步包括:
从备选进程中筛选出数据采集周期及空闲时间都最小的进程;
判断预筛选出的进程是否满足如下公式二,如果满足,则筛选出该进程:
Figure FDA0002182337530000035
其中,
Figure FDA0002182337530000036
为预筛选出的进程的数据采集周期,
Figure FDA0002182337530000037
为预筛选出的进程的数据采集时间,为预筛选出的进程的数据发送区时间,m为已筛选出的进程个数,tk,1为第k个已筛选出的进程的数据采集时间,tk,2为第k个已筛选出的进程的数据发送区时间,dj为已筛选出的任一进程j的数据采集周期,
Figure FDA0002182337530000041
表示
Figure FDA0002182337530000042
是dj的整数倍;
将筛选出的进程选择为感知节点所需完成的待处理进程。
CN201710064237.XA 2017-02-04 2017-02-04 一种操作系统进程调度顺序确定方法及控制方法 Active CN106874129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710064237.XA CN106874129B (zh) 2017-02-04 2017-02-04 一种操作系统进程调度顺序确定方法及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710064237.XA CN106874129B (zh) 2017-02-04 2017-02-04 一种操作系统进程调度顺序确定方法及控制方法

Publications (2)

Publication Number Publication Date
CN106874129A CN106874129A (zh) 2017-06-20
CN106874129B true CN106874129B (zh) 2020-01-10

Family

ID=59165677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710064237.XA Active CN106874129B (zh) 2017-02-04 2017-02-04 一种操作系统进程调度顺序确定方法及控制方法

Country Status (1)

Country Link
CN (1) CN106874129B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566235B (zh) * 2017-09-28 2020-07-28 北京新能源汽车股份有限公司 一种报文数据传输方法、装置及电动汽车
CN109800067A (zh) * 2018-12-15 2019-05-24 中国平安人寿保险股份有限公司 基于云监控的数据库连接优化方法、装置及相关设备
CN112286675A (zh) * 2019-12-29 2021-01-29 中建材信息技术股份有限公司 一种Docker虚拟服务网络负载均衡方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013165450A1 (en) * 2012-05-01 2013-11-07 Concurix Corporation Process scheduling using scheduling graph to minimize managed elements
CN106293918A (zh) * 2016-08-11 2017-01-04 浪潮(北京)电子信息产业有限公司 一种调度进程的方法、系统及计算机
CN106354555A (zh) * 2016-08-26 2017-01-25 昆明理工大学 一种操作系统进程调度算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010716A1 (en) * 2009-06-12 2011-01-13 Arvind Raghuraman Domain Bounding for Symmetric Multiprocessing Systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013165450A1 (en) * 2012-05-01 2013-11-07 Concurix Corporation Process scheduling using scheduling graph to minimize managed elements
CN106293918A (zh) * 2016-08-11 2017-01-04 浪潮(北京)电子信息产业有限公司 一种调度进程的方法、系统及计算机
CN106354555A (zh) * 2016-08-26 2017-01-25 昆明理工大学 一种操作系统进程调度算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式实时操作系统中优先级反转问题的研究;刘俞 等;《齐齐哈尔大学学报》;20170131;第33卷(第1期);全文 *

Also Published As

Publication number Publication date
CN106874129A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
KR102427067B1 (ko) 이종 스레드 스케줄링
US8943252B2 (en) Latency sensitive software interrupt and thread scheduling
CN101258469B (zh) 信息处理设备
CN113535367B (zh) 任务调度方法及相关装置
CN104035818A (zh) 多任务调度的方法及装置
CN105683939A (zh) 用于在诸如fpga的动态可重新配置硬件装置以及诸如cpu的指令集处理器上同时执行进程的计算平台、可重新配置硬件装置和方法、以及相关的计算机可读介质
GB2425628A (en) Programming distributed system using data flow diagrams
WO2005072444A3 (en) Intelligent memory device
CN106874129B (zh) 一种操作系统进程调度顺序确定方法及控制方法
CN105786600A (zh) 任务调度方法和装置
US9104491B2 (en) Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources
CN115454589A (zh) 一种任务调度方法、装置及Kubernetes调度器
US10083066B2 (en) Processing data by using simultaneous multithreading
CN113157379A (zh) 集群节点资源调度方法及装置
US6434708B1 (en) Programmable timer & methods for scheduling time slices executed by a controller circuit
CN116954873A (zh) 异构计算系统及其算力节点选择方法、装置、设备、介质
EP2482189A1 (en) Utilization-based threshold for choosing dynamically between eager and lazy scheduling strategies in RF resource allocation
EP2960787A1 (en) A method of executing an application on a computer system, a resource manager and a high performance computer system
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
CN111767121B (zh) 运算方法、装置及相关产品
CN111158875A (zh) 基于多模块的多任务处理方法、装置及系统
CN109426556B (zh) 一种进程调度方法和装置
CN115344370A (zh) 任务调度方法、装置、设备及存储介质
CN104021041B (zh) 一种多任务操作环境状态的计算机调度方法
CN115309517A (zh) 任务调度训练方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant