[发明专利]函数调用方法、装置、介质及嵌入式设备和操作系统在审
申请号: | 202011042662.7 | 申请日: | 2020-09-28 |
公开(公告)号: | CN114281431A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 杨文成;尹鑫 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/48;G06F9/54;G06F21/52 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 孙明子;刘戈 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 调用 方法 装置 介质 嵌入式 设备 操作系统 | ||
本发明实施例提供一种函数调用方法、装置、介质及嵌入式设备和操作系统,该函数调用方法包括:操作系统内核接收用户态的应用程序通过第一系统调用指令而注册的回调函数的相关信息,存储所述回调函数的相关信息,该回调函数与操作系统内核中的设定事件对应;响应于该设定事件的触发,操作系统内核将回调函数的相关信息发送至应用程序,以使应用程序在用户态执行该回调函数。
技术领域
本发明涉及计算机技术领域,尤其涉及一种函数调用方法、装置、介质及嵌入式设备和操作系统。
背景技术
回调函数就是一个通过函数指针调用的函数。如果将提供函数实现的一方称为被调用者,该被调用者可以定义一个回调函数,并将该回调函数的函数指针注册给调用者。当特定的事件或条件发生时,调用者使用该函数指针调用回调函数以对该事件或条件进行响应。
目前,很多电子设备中都会使用到嵌入式操作系统,嵌入式操作系统中一般会包括诸如处理器、存储器、通用设备接口等硬件,以及操作系统内核、用户的应用程序等软件。
在嵌入式操作系统中,将用户可以操作和访问的空间称为用户空间,在用户空间中存储用户的应用程序、数据等。将操作系统内核操作的空间称为内核空间,在内核空间中存储操作系统内核的函数、接口等。嵌入式操作系统提供了两种运行级别:用户态和内核态。当进程在用户空间下执行用户自己的代码时,将这种状态称为用户态;当进程执行系统调用而陷入内核代码中执行时,将这种状态称为内核态。
在应用程序设计中,经常会涉及到回调函数的注册,等特定的事件发生后,调用执行该回调函数。但是,在嵌入式操作系统中,如果应用程序注册回调函数到操作系统内核,等到操作系统内核中的特定事件发生后,操作系统内核回调执行该应用程序在用户态注册的回调函数,这种方式是嵌入式操作系统不允许的。
发明内容
本发明实施例提供一种函数调用方法、装置、介质及嵌入式设备和操作系统,用以实现在用户态回调执行应用程序注册到操作系统内核中的回调函数。
第一方面,本发明实施例提供一种函数调用方法,应用于运行在内核态的操作系统内核,该方法包括:
接收用户态的应用程序通过第一系统调用指令注册的回调函数的相关信息,所述回调函数与操作系统内核中的设定事件对应;
存储所述回调函数的相关信息;
响应于所述设定事件的触发,将所述回调函数的相关信息发送至所述应用程序,以使所述应用程序在用户态执行所述相关信息对应的回调函数。
第二方面,本发明实施例提供一种函数调用装置,部署于运行在内核态的操作系统内核,该装置包括:
接收模块,用于接收用户态的应用程序通过第一系统调用指令注册的回调函数的相关信息,所述回调函数与操作系统内核中的设定事件对应;
存储模块,用于存储所述回调函数的相关信息;
处理模块,用于响应于所述设定事件的触发,将所述回调函数的相关信息发送至所述应用程序,以使所述应用程序在用户态执行所述相关信息对应的回调函数。
第三方面,本发明实施例提供一种嵌入式设备,包括处理器、存储器、操作系统内核,其中,所述存储器上存储有与操作系统内核对应的可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的函数调用方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被嵌入式设备的处理器执行时,使所述处理器至少可以实现第一方面中的函数调用方法。
第五方面,本发明实施例提供一种函数调用方法,应用于运行在用户态的应用程序,该方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011042662.7/2.html,转载请声明来源钻瓜专利网。