CN116775269A - 一种处理方法、装置、设备和存储介质 - Google Patents

一种处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116775269A
CN116775269A CN202211491913.9A CN202211491913A CN116775269A CN 116775269 A CN116775269 A CN 116775269A CN 202211491913 A CN202211491913 A CN 202211491913A CN 116775269 A CN116775269 A CN 116775269A
Authority
CN
China
Prior art keywords
cpu
task
information
determining
resource
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.)
Pending
Application number
CN202211491913.9A
Other languages
English (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202211491913.9A priority Critical patent/CN116775269A/zh
Publication of CN116775269A publication Critical patent/CN116775269A/zh
Pending legal-status Critical Current

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种处理方法、装置、设备和存储介质。其中,所述方法应用于包括至少一个中央处理器(CPU)的物联网系统,所述方法包括:获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;基于所述配置信息和所述属性信息确定所述第一任务的调度策略;根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。

Description

一种处理方法、装置、设备和存储介质
技术领域
本发明涉及物联网操作系统技术领域,尤其涉及一种处理方法、装置、设备和存储介质。
背景技术
OneOS是一款轻量级实时操作系统,具有低功耗、可裁剪等特点,支持当前主流的中央处理器(CPU,Central Processing Unit)架构,兼容线程库编程接口(POSIX,PortableOperating System Interface)、微控制器软件接口标准(CMSIS,Cortex MicrocontrollerSoftware Interface Standard)等标准接口,被广泛的应用于智慧路灯、智慧农业等项目。
现有的OneOS实时操作系统,主要是针对单CPU进行平台的适配开发,而诸如Linux等大型的操作系统,对于对称多处理(SMP,Symmetrical Multi-Processing)、非统一内存访问架构(NUMA,Non Uniform Memory Access)等都已经实现了完美地支持,如何使OneOS系统在多处理器平台运行,扩展系统性能,提升运行效率,尚无有效解决方案。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种处理方法、装置、设备和存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明提供一种处理方法,应用于包括至少一个中央处理器CPU的物联网系统,所述方法包括:
获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
上述方案中,所述获取第一任务的属性信息,包括:
获取所述第一任务的状态信息和匹配信息;
将所述状态信息、所述匹配信息作为所述属性信息。
上述方案中,所述基于所述配置信息和所述属性信息确定所述第一任务的调度策略,包括:
在所述状态信息表征所述第一任务处于第一状态的情况下,通过所述第一CPU对所述匹配信息进行判断,得到判断结果;
基于所述判断结果确定所述第一任务的调度策略。
上述方案中,所述基于所述判断结果确定所述第一任务的调度策略,包括:
在所述判断结果表明所述第一任务已匹配目标CPU的情况下,确定所述调度策略为将所述第一任务调入所述目标CPU的策略;
在所述判断结果表明所述第一任务未匹配目标CPU的情况下,确定所述调度策略为向所述至少一个CPU中的每个CPU发送第一消息的策略;所述第一消息用于指示所述至少一个CPU中断正在执行的任务。
上述方案中,所述属性信息还包括优先级信息;所述确定所述调度策略为将所述第一任务调入所述目标CPU的策略之后,所述方法还包括:
基于所述优先级信息确定所述目标CPU执行所述第一任务或所述第一任务被等待执行。
上述方案中,所述方法还包括:
获取第二任务的第一请求信息;
基于所述第一请求信息从所述物联网系统中确定与所述第一请求信息对应的第一资源。
上述方案中,所述方法还包括:
获取第三任务的第二请求信息;
基于所述第二请求信息从所述物联网系统中确定与所述第二请求信息对应的第二资源;
在所述第一资源与所述第二资源相同的情况下,确定所述第一资源被释放的时间参数;
利用所述时间参数接入所述第二资源。
第二方面,本发明还提供一种处理装置,应用于包括至少一个中央处理器CPU的物联网系统,所述装置包括:
获取单元,用于获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
确定单元,用于基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
控制单元,用于根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
第三方面,本发明还提供一种处理设备,所述处理设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述任一项所述方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
本发明实施例提供一种处理方法、装置、设备和存储介质。其中,所述方法应用于包括至少一个中央处理器CPU的物联网系统,所述方法包括:获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;基于所述配置信息和所述属性信息确定所述第一任务的调度策略;根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。采用本发明实施例的技术方案,通过获取第一CPU的配置信息和第一任务的属性信息,基于配置信息和属性信息确定第一任务的调度策略,根据调度策略控制第一任务的执行,可以使物联网系统兼容单CPU和多CPU的状态,实现多CPU场景下的任务调度处理,扩展系统性能。
附图说明
图1为本发明实施例提供的一种处理方法的流程示意图;
图2为本发明实施例提供的一种物联网系统执行流程的示意图;
图3为本发明实施例提供的一种任务就绪时的处理流程示意图;
图4为本发明实施例提供的一种新任务选择的流程示意图;
图5为本发明实施例提供的一种自旋锁接口逻辑设计的示意图;
图6为本发明实施例提供的一种处理装置的结构示意图;
图7为本发明实施例处理设备的一种硬件结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面结合附图和实施例对本公开的技术方案进一步详细阐述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
本公开所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
下面结合附图及具体实施例对本发明作进一步详细的说明。
本发明实施例提供一种处理方法,图1为本发明实施例提供的一种处理方法的流程示意图,应用于包括至少一个中央处理器CPU的物联网系统,所述方法包括如下步骤:
S101:获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
需要说明的是,本公开实施例的处理方法应用于包括至少一个中央处理器CPU的物联网系统。其中,物联网系统可以是任意应用于物联网领域的系统,在此不做限定,示例性的,物联网系统可以是OneOS系统;至少一个CPU可以为一个或多个,在此不做限定,示例性的,至少一个CPU可以是4个,分别为CPU0、CPU1、CPU2、CPU3;第一CPU可以为至少一个CPU中的任一CPU,例如:CPU0。
在本实施例中,物联网系统中通常存在多个任务,即系统中的不同线程,为了更好的管理和区分不同的任务,系统会将任务分为不同的运行状态,例如:就绪态,指任务可以随时被调度执行但因未分配CPU所以等待执行;运行态,指任务正在被执行。第一任务可以是任一在物联网系统中的任务,在此不做限定。CPU通常用于执行任务、管理信息等,为了便于区分,在至少一个CPU的场景下,可以将第一CPU作为主CPU。
配置信息可以是与物联网系统配置有关的任意信息,在此不做限定,示例性的,配置信息可以包括任务调度信息、资源管理信息等。其中,任务调度信息可以包括用于放置任务的任务队列。例如,全局任务就绪队列和局部任务就绪队列,全局就绪任务队列可以理解为物联网系统中所有处于就绪状态的任务队列,局部任务就绪队列可以理解为各CPU上处于就绪状态的任务队列。资源管理信息可以包括系统的资源信息,例如:内存空间、磁盘等。
在实际应用中,获取第一CPU的配置信息可以理解为系统将配置信息通过第一CPU运行和管理,获取第一任务的属性信息可以理解系统获取第一任务的状态信息等。
S102:基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
需要说明的是,调度策略可以为与第一任务执行有关的任意调度策略,在此不做限定,示例性的,调度策略可以为优先执行第一任务的策略。
在实际应用中,基于配置信息和属性信息确定第一任务的调度策略可以理解为物联网系统根据任务调度信息和第一任务的属性信息确定第一任务的调度策略。
S103:根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
需要说明的是,将第一CPU作为主CPU,第二CPU可以理解为从CPU,物联网系统中只有一个主CPU,其他CPU均为从CPU,主从仅为方便区分,两者在执行系统任务时并无区别。
在实际应用中,根据调度策略控制第一任务在第一CPU或第二CPU的执行策略可以理解为物联网系统根据调度策略将第一任务分配给主CPU或从CPU执行。
本发明实施例提供的一种处理方法,物联网系统通过主CPU执行和管理任务调度信息,获取第一任务的属性信息,确定第一任务的调度策略,控制调度第一任务在主CPU或从CPU上执行,实现了多CPU场景下的任务调度处理,兼容单CPU和多CPU,提升了物联网系统的扩展性能。
在本发明的一种可选实施例中,所述获取第一任务的属性信息,包括:
获取所述第一任务的状态信息和匹配信息;
将所述状态信息、所述匹配信息作为所述属性信息。
需要说明的是,属性信息可以是任何与第一任务有关的信息,在此不做限定,示例性的,属性信息可以包括优先级信息、匹配信息和状态信息。其中,优先级信息可以理解为任务执行的优先级等级信息;状态信息可以理解为任务运行状态的信息;匹配信息可以理解为是否匹配执行该任务的CPU。
在实际应用中,获取第一任务的状态信息和匹配信息可以理解为物联网系统获取第一任务的运行状态信息和是否匹配CPU的信息。
在本发明的一种可选实施例中,所述基于所述配置信息和所述属性信息确定所述第一任务的调度策略,包括:
在所述状态信息表征所述第一任务处于第一状态的情况下,通过所述第一CPU对所述匹配信息进行判断,得到判断结果;
基于所述判断结果确定所述第一任务的调度策略。
需要说明的是,第一状态可以是与第一任务的任意运行状态,在此不作限定,示例性的,第一状态可以为就绪态。
在实际应用中,在状态信息表征第一任务处于第一状态的情况下可以理解为当第一任务处于就绪态时,物联网系统通过主CPU判断第一任务是否匹配CPU,得到判断结果,根据判断结果确定第一任务的调度策略。
在本发明的一种可选实施例中,所述基于所述判断结果确定所述第一任务的调度策略,包括:
在所述判断结果表明所述第一任务已匹配目标CPU的情况下,确定所述调度策略为将所述第一任务调入所述目标CPU的策略;
在所述判断结果表明所述第一任务未匹配目标CPU的情况下,确定所述调度策略为向所述至少一个CPU中的每个CPU发送第一消息的策略;所述第一消息用于指示所述至少一个CPU中断正在执行的任务。
需要说明的是,目标CPU可以是物联网系统中至少一个CPU中的任一CPU,在此不作限定,示例性的,目标CPU可以是第一任务在创建时所匹配的物联网系统中的CPU;第一消息可以是任意消息,在此不作限定,示例性的,第一消息可以是中断的通知消息。
在实际应用中,判断结果表明第一任务已匹配目标CPU的情况下可以理解为物联网系统根据第一任务的匹配信息确定第一任务已匹配目标CPU,此种情况下,调度策略为将第一任务调入第一任务匹配的CPU;判断结果表明第一任务未匹配目标CPU的情况下可以理解为物联网系统根据第一任务的匹配信息确定第一任务未匹配目标CPU,调度策略为向物联网系统中的每个CPU发送中断的通知消息,指示每个CPU中断自身正在执行的任务。
在本发明的一种可选实施例中,所述属性信息还包括优先级信息;所述确定所述调度策略为将所述第一任务调入所述目标CPU的策略之后,所述方法还包括:
基于所述优先级信息确定所述目标CPU执行所述第一任务或所述第一任务被等待执行。
需要说明的是,优先级信息是与任务执行优先级等级有关的信息,在任务创建时,就有对应的优先级信息。
在实际应用中,基于优先级信息确定目标CPU执行第一任务或第一任务被等待执行可以理解为物联网系统将第一任务与目标CPU上的待执行的其他任务进行优先级比较,若第一任务的优先级最高,则执行第一任务,若存在其他优先级更高的任务,则执行优先级更高的任务,将第一任务放入目标CPU的任务队列中,等待被执行,以此可以确保优先级高的任务优先执行。
为了方便理解,下面结合图2、图3和图4进行说明,本发明实施例示例一种处理方法,图2为本发明实施例提供的一种物联网系统执行流程的示意图,系统在多核场景下上电后,主CPU会先进行系统的相关初始化工作,涉及串口、定时器、中断、内存管理单元(MMU,Memory Management Unit)等,而后便会进行调度器的初始化,一切准备就绪,便会唤醒其他等待的从CPU,以完成各自相关的硬件初始化,并开启多核的任务调度工作。在系统框架中,单核和多核属于兼容状态,当有多核存在时会通过打开配置文件OS_USING_SMP,以使得系统能够进行多核的适配。多核的主CPU运行基本和单核运行相似,进行了相关初始化之后,最终都会创建main线程和idle线程。不同的在于,多核需要设计如下模块:多核调度、中断处理、核间资源保护。这也是系统设计的几个重要部分,下面将分别对其进行阐述:
1、多核调度设计。
任务的运行状态分为:
就绪态OS_TASK_READY:是指任务可以随时被CPU调度运行,但因暂未分配到CPU所以在就绪态链表中等待运行;
运行态OS_TASK_RUNNING:是指任务正在被CPU调度运行;
阻塞态OS_TASK_SUSPEND:是指运行条件不被满足(如等待超时等)而不能被调度运行;
关闭态OS_TASK_CLOSE:是指任务已经被系统删除,等待被回收。
在系统正常运行时,每个CPU都能独立进行中断处理、调度器运行。同一时刻、一个任务只能在一个CPU上运行。每个CPU互斥地访问全局调度器数据,以确定将要在当前CPU上运行的任务。并且可以将任务绑定在某一个CPU上运行。
2、就绪队列设计与通知。
系统调度器实现了两种就绪任务队列:
全局就绪队列表os_thread_ready_table[],用于放置没有绑定CPU的就绪任务;
局部就绪队列表cpu_ready_table[],与每个CPU都对应的,用于放置绑定对应CPU的就绪任务。
当系统进行任务切换时,调度器会查找系统中优先级最高的就绪队列运行,但当全局就绪队列和局部就绪队列优先级相同,优先选择后者。相应的,如果一个任务变为就绪态,则进行如下操作:
如果任务不被CPU绑定,则将其放入全局就绪队列,并向其他CPU发送核间中断,通知它们检查是否需要进行任务切换,以保证高优先级任务先被执行;如果任务被CPU绑定,则检查其优先级在当前CPU就绪队列是否最高,如果是则需要发生抢占,如果不是则将其放置当前CPU的就绪队列表中,其具体流程如3所示。
3、调度器运行。
调度器的作用就是选取当前最高优先级的任务进行执行,在保证各CPU正常运行任务的同时,也能够实时的进行任务的切换与抢占。当没有任务运行时,每个CPU都会去运行各自的idle任务,以等待新任务的到来。主要的函数实现在os_scheduler(),针对新进程的选择,其流程设计如图4所示。
4、多核时钟。
在多核场景中,需要设计时钟的处理,因为这涉及到任务调度的时间片切换。这里采用的方式是每个核去维护自己的时钟,利用自身的时钟进行tick更新,涉及任务运行计时及时间片的计算。系统时钟则是由主CPU去维护,并提供系统定时器的功能。
设计上,在初始化次级CPU的过程中,每个CPU都需要使能各自的tick定时器,并注册相应的tick中断处理函数,接口定义为os_hw_timer_init()。这个tick定时器使能的操作是与具体的硬件平台有关,在实现过程中,tick中断处理函数需要完成如下两个操作:
设置定时器tick的状态;
增加当前CPU的tick计数。
5、中断、内存处理。
多核场景下的中断,也涉及硬件中断(SPI,Shared Peripheral Interrupts)、时钟中断(PPI,Private Peripheral Interrupts)和响应核间中断(SGI,SoftwareGenerated Interrupts),这里在设计时会由主CPU来处理SPI,各个次级CPU处理PPI和SGI。由于跟架构相关,所以设计API接口时会定义os_hw_ipi_send(),为向CPU MASK集合发送核间中断,以实现对其他CPU进行唤醒、同步等功能。
至于内存处理,则还是采用统一的编址方式,虚拟地址和物理地址之间还是等值映射,即使是多核场景下的MMU表也共用同一份拷贝。
在本发明的一种可选实施例中,所述方法还包括:
获取第二任务的第一请求信息;
基于所述第一请求信息从所述物联网系统中确定与所述第一请求信息对应的第一资源。
需要说明的是,第二任务可以是物联网系统中的任一任务,可以与第一任务相同,也可以与第一任务不同,在此不做限定;第一请求信息可以是任意与第二任务有关的请求信息,在此不作限定,示例性的,第一请求信息可以是系统资源请求信息;第一资源可以是物联网系统中的任意资源,在此不作限定,示例性的,第一资源可以是存储空间等。
在实际应用中,获取第二任务的第一请求信息可以理解为物联网系统根据第二任务的第一请求信息,确定第二任务所请求的系统资源。
在本发明的一种可选实施例中,所述方法还包括:
获取第三任务的第二请求信息;
基于所述第二请求信息从所述物联网系统中确定与所述第二请求信息对应的第二资源;
在所述第一资源与所述第二资源相同的情况下,确定所述第一资源被释放的时间参数;
利用所述时间参数接入所述第二资源。
需要说明的是,第三任务可以是物联网系统中的任一任务,第二任务与第三任务不同;时间参数可以是第二任务使用第一资源的时长、时间节点等,在此不作限定。在物联网系统中,任务的执行通常涉及系统资源的调用,如访问磁盘,而当多个任务在多个CPU上执行时,多个任务可能会请求同一资源,而此时CPU之间会产生资源抢占的冲突,因此,系统中通常会引入锁的设计解决该冲突,例如:自旋锁,互斥锁等。
在实际应用中,获取第三任务的第二请求信息可以理解为物联网系统根据第三任务的第二请求信息,确定第三任务请求的系统资源,当第二任务与第三任务请求的系统资源相同时,只能有一个任务获得该资源,资源在被该任务占用期间,无法被其他任务获得,即其他任务只能等待资源,资源被使用完毕后将会由对应的任务释放,系统将在资源被释放的时间节点之后重新将资源调配给请求该资源的任务。
为了方便理解,下面结合图5进行说明,图5为本发明实施例示例提供的一种自旋锁接口逻辑设计的示意图,在单核系统中,并不需要考虑资源的抢占情形,因此在很多情况下,通过关中断能解决很多问题。但是在多核系统中,则需要考虑共享资源在多核场景下的保护,故此引入自旋锁功能。在任何时刻,自旋锁最多只能有一个保持者,它不会引起申请者睡眠,而是循环查询该自旋锁是否释放。
在系统设计中,自旋锁功能的核心接口是os_spin_lock()/os_spin_unlock(),在SMP模式下,通过这两个接口,针对中断状态的保存,还扩展了另外两个接口os_spin_lock_irqsave()/os_spin_unlock_irqrestore(),前者是保存中断状态,禁止本地中断,并获取自旋锁。后者是将中断状态恢复到以前的状态,并且激活本地中断,释放自旋锁。
基于与前述相同的发明构思,图6为本发明实施例提供的一种处理装置的结构示意图,所述装置600应用于包括至少一个中央处理器CPU的物联网系统,所述装置600包括:
获取单元601,用于获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
确定单元602,用于基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
控制单元603,用于根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
在一些实施例中,所述获取单元601,还用于获取所述第一任务的状态信息和匹配信息;
将所述状态信息、所述匹配信息作为所述属性信息。
在一些实施例中,所述装置600还包括:判断单元,用于在所述状态信息表征所述第一任务处于第一状态的情况下,通过所述第一CPU对所述匹配信息进行判断,得到判断结果;
所述确定单元602,还用于基于所述判断结果确定所述第一任务的调度策略。
在一些实施例中,所述确定单元602,还用于在所述判断结果表明所述第一任务已匹配目标CPU的情况下,确定所述调度策略为将所述第一任务调入所述目标CPU的策略;
在所述判断结果表明所述第一任务未匹配目标CPU的情况下,确定所述调度策略为向所述至少一个CPU中的每个CPU发送第一消息的策略;所述第一消息用于指示所述至少一个CPU中断正在执行的任务。
在一些实施例中,所述确定单元602,还用于基于所述优先级信息确定所述目标CPU执行所述第一任务或所述第一任务被等待执行。
在一些实施例中,所述获取单元601,还用于获取第二任务的第一请求信息;
所述确定单元602,还用于基于所述第一请求信息从所述物联网系统中确定与所述第一请求信息对应的第一资源。
在一些实施例中,所述获取单元601,还用于获取第三任务的第二请求信息;
所述确定单元602,还用于基于所述第二请求信息从所述物联网系统中确定与所述第二请求信息对应的第二资源;
在所述第一资源与所述第二资源相同的情况下,确定所述第一资源被释放的时间参数;
所述装置600还包括:接入单元,用于利用所述时间参数接入所述第二资源。
图7为本发明实施例处理设备的一种硬件结构示意图,该处理设备70包括:至少一个处理器701、存储器702,可选的,处理设备70还可进一步包括至少一个通信接口703,处理设备70中的各个组件通过总线系统704耦合在一起,可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,Ferromagnetic Random Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,Sync Link Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器702用于存储各种类型的数据以支持处理设备70的操作。这些数据的示例包括:用于在处理设备70上操作的任何计算机程序,实现本发明实施例方法的程序可以包含在存储器702中。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,处理设备70可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行上述方法。
本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述任一项所述方法的步骤。计算机可读存储介质可以是磁性随机存取存储器(FRAM,ferromagnetic random access memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-OnlyMemory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种处理方法,其特征在于,应用于包括至少一个中央处理器CPU的物联网系统,所述方法包括:
获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
2.根据权利要求1所述的方法,其特征在于,所述获取第一任务的属性信息,包括:
获取所述第一任务的状态信息和匹配信息;
将所述状态信息、所述匹配信息作为所述属性信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述配置信息和所述属性信息确定所述第一任务的调度策略,包括:
在所述状态信息表征所述第一任务处于第一状态的情况下,通过所述第一CPU对所述匹配信息进行判断,得到判断结果;
基于所述判断结果确定所述第一任务的调度策略。
4.根据权利要求3所述的方法,其特征在于,所述基于所述判断结果确定所述第一任务的调度策略,包括:
在所述判断结果表明所述第一任务已匹配目标CPU的情况下,确定所述调度策略为将所述第一任务调入所述目标CPU的策略;
在所述判断结果表明所述第一任务未匹配目标CPU的情况下,确定所述调度策略为向所述至少一个CPU中的每个CPU发送第一消息的策略;所述第一消息用于指示所述至少一个CPU中断正在执行的任务。
5.根据权利要求4所述的方法,其特征在于,所述属性信息还包括优先级信息;所述确定所述调度策略为将所述第一任务调入所述目标CPU的策略之后,所述方法还包括:
基于所述优先级信息确定所述目标CPU执行所述第一任务或所述第一任务被等待执行。
6.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取第二任务的第一请求信息;
基于所述第一请求信息从所述物联网系统中确定与所述第一请求信息对应的第一资源。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取第三任务的第二请求信息;
基于所述第二请求信息从所述物联网系统中确定与所述第二请求信息对应的第二资源;
在所述第一资源与所述第二资源相同的情况下,确定所述第一资源被释放的时间参数;
利用所述时间参数接入所述第二资源。
8.一种处理装置,其特征在于,应用于包括至少一个中央处理器CPU的物联网系统,所述装置包括:
获取单元,用于获取第一CPU的配置信息和第一任务的属性信息;所述第一CPU为所述至少一个CPU中的任一CPU;
确定单元,用于基于所述配置信息和所述属性信息确定所述第一任务的调度策略;
控制单元,用于根据所述调度策略控制所述第一任务在所述第一CPU或第二CPU上执行;所述第二CPU为所述至少一个CPU中除所述第一CPU以外的任一CPU。
9.一种处理设备,其特征在于,所述处理设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法中的步骤。
CN202211491913.9A 2022-11-25 2022-11-25 一种处理方法、装置、设备和存储介质 Pending CN116775269A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211491913.9A CN116775269A (zh) 2022-11-25 2022-11-25 一种处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211491913.9A CN116775269A (zh) 2022-11-25 2022-11-25 一种处理方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN116775269A true CN116775269A (zh) 2023-09-19

Family

ID=87993686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211491913.9A Pending CN116775269A (zh) 2022-11-25 2022-11-25 一种处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116775269A (zh)

Similar Documents

Publication Publication Date Title
CN100524223C (zh) 基于pmi和smi的调度执行框架中用于并发处理程序执行的方法
US8136111B2 (en) Managing execution of mixed workloads in a simultaneous multi-threaded (SMT) enabled system
US7698540B2 (en) Dynamic hardware multithreading and partitioned hardware multithreading
US6732138B1 (en) Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process
CA2724853C (en) Protected mode scheduling of operations
KR100708952B1 (ko) 병렬 처리 시스템, 병렬 처리 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체 및 병렬 처리 방법
US10671426B2 (en) Data processing
US20180150322A1 (en) Data processing
TW201447766A (zh) 使用具有客作業系統及虛擬處理器之超管理器之系統及方法
JPH0640324B2 (ja) マルチプロセッサ・システムおよびそのプロセス同期方法
CN108885559B (zh) 在多个处理器之间快速转移工作负载
EP1880289A1 (en) Transparent support for operating system services
CN103329102A (zh) 多处理器系统
Mistry et al. Adapting FreeRTOS for multicores: An experience report
CN115981833A (zh) 一种任务处理方法及装置
US8219992B2 (en) Data processing system having a plurality of processors and operating systems
JP3546694B2 (ja) マルチスレッド計算機システム及びマルチスレッド実行制御方法
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作系统
US11301304B2 (en) Method and apparatus for managing kernel services in multi-core system
KR102003721B1 (ko) Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
JP2002529850A (ja) システムにおける要求のスケジューリング
CN116775269A (zh) 一种处理方法、装置、设备和存储介质
CN115964150A (zh) 一种基于双实时内核的业务处理方法、系统、设备及介质
JPH07141208A (ja) マルチタスク処理装置
US11314686B2 (en) Hardware for supporting time triggered load anticipation in the context of a real time OS

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