The embodiment of this application provides a method and device for micro-kernel scheduling, which is applied to software platforms, including receiving scheduling instructions for current micro-kernels and switching current micro-kernels to target micro-kernels. In this example, the micro-kernel is switched directly by scheduling instructions, without the need for software platform threads to complete the above process. The problem of high cost and poor real-time performance of micro-kernel switching caused by matching the micro-kernel and the software platform threads in the existing technology is solved.
【技术实现步骤摘要】
一种微内核调度的方法和装置
本申请涉及通信
,特别是涉及一种微内核调度的方法和一种微内核调度的装置。
技术介绍
随着物联网(InternetofThings,简称IoT)的兴起,应用于物联网的MCU(MicroControllerUnit,微控制单元)软件越来越复杂,针对MCU软件的开发调试工作也就显得越来越重要。但是,传统的打log(日志)的方式已经不再适用于当前的物联网开发;另一方面,由于受到MCU设备资源的限制,一些复杂的程序调试(debug)工具也无法直接在MCU上运行。因此,通过将IoT微内核运行在Linux系统上,复用Linux系统的开发工具进行软件的开发调试便成为了一个明智的选择。现有技术中,当微内核在Linux系统上运行时,每一个微内核对应一个Linux线程,微内核的调度与Linux的线程调度混合在一起,统一由Linux系统控制各个微内核之间的切换,切换成本较高,实时性较差。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种微内核调度的方法和相应的一种微内核调度的装置。为了解决上述问题,本申请公开了一种微内核调度的方法,应用于软件平台,所述方法包括:接收针对当前微内核的调度指令;将当前微内核切换为目标微内核。可选地,所述软件平台运行有主线程和/或基于内核的虚拟机KVM,所述微内核运行于所述主线程和/或所述KVM中。可选地,各个微内核具有对应的微内核控制单元,各个微内核控制单元分别具有相应的控制数值,所述将当前微内核切换为目标微内核的步骤包括:确定目标微内核对应的第一控制数值;采用所述目 ...
【技术保护点】
1.一种微内核调度的方法,其特征在于,应用于软件平台,所述方法包括:接收针对当前微内核的调度指令;将当前微内核切换为目标微内核。
【技术特征摘要】
1.一种微内核调度的方法,其特征在于,应用于软件平台,所述方法包括:接收针对当前微内核的调度指令;将当前微内核切换为目标微内核。2.根据权利要求1所述的方法,其特征在于,所述软件平台运行有主线程和/或基于内核的虚拟机KVM,所述微内核运行于所述主线程和/或所述KVM中。3.根据权利要求1所述的方法,其特征在于,各个微内核具有对应的微内核控制单元,各个微内核控制单元分别具有相应的控制数值,所述将当前微内核切换为目标微内核的步骤包括:确定目标微内核对应的第一控制数值;采用所述目标微内核对应的第一控制数值替换所述当前微内核对应的第二控制数值。4.根据权利要求1或2或3所述的方法,其特征在于,所述调度指令包括针对setjmp函数和longjmp函数的指令。5.根据权利要求4所述的方法,其特征在于,所述接收针对当前微内核的调度指令的步骤包括:接收由外部设备输入的调度指令;依据所述调度指令,调用setjmp函数和longjmp函数。6.根据权利要求1所述的方法,其特征在于,还包括:采用所述目标微内核模拟软件运行。7.根据权利要求1所述的方法,其特征在于,还包括:接收软件平台发送的事件消息。8.根据权利要求7所述的方法,其特征在于,所述软件平台还运行有主线程,以及代理线程或代理进程,所述接收软件平台发送的事件消息的步骤包括:软件平台发送事件消息至代理线程或代理进程;所述代理线程或代理进程转发所述事件消息至主线程;所述主线程将所述事件消息转换为中断事件;接收所述主线程发送的所述中断事件。9.根据权利要求8所述的方法,其特征在于,所述软件平台发送事件消息至代理线程或代理进程的步骤包括:软件平台接收外部设备输入的信息;所述软件平台将所述信息转换为事件消息并发送至代理线程或代理进程。10.根据权利要求7或8或9所述的方法,其特征在于,还包括:向软件平台发送微内核事件消息。11.根据权利要求10所述的方法,其特征在于,所述向软件平台发送微内核事件消息的步骤包括:向代理线程或代理进程发送微内核事件消息;所述代理线程或代理进程将所述微内核事件消息转发至所述软件平台。12.根据权利要求1所述的方法,其特征在于,所述软件平台为Linux平台。13.根据权利要求3所述的方法,其特征在于,所述微内核控制单元为CPU寄存器,所述控制数值为寄存器数值。14.根据权利要求8所述的方法,其特征在于,所述代理线程或代理进程具有对应的实体,所述实体包括网卡或虚拟网卡。15.一种微内核调度的装置,其特征在于,应用于软件平台,所述装置包括:接收模块,用于接收针对当前微内核的调度指令;切换模块,用于将当前微内核切换为目...
【专利技术属性】
技术研发人员:蔡俊杰,曾旭,朱亮亮,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。