[发明专利]一种实时安卓操作系统中的实时Binder处理避免非实时Binder竞争的方法有效
申请号: | 201910356823.0 | 申请日: | 2019-04-29 |
公开(公告)号: | CN110196777B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 杨百涛 | 申请(专利权)人: | 杨百涛 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 深圳市徽正知识产权代理有限公司 44405 | 代理人: | 奉烨 |
地址: | 610000 四川省广元*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 操作系统 中的 binder 处理 避免 竞争 方法 | ||
1.一种实时安卓操作系统中的实时Binder处理避免非实时Binder竞争的方法,其特征在于,包括以下步骤:
s1:判定Binder请求的性质,属于实时Binder请求还是普通Binder请求,若是实时Binder请求则执行步骤S2;
S2:Binder驱动向IPCThreadState类实例请求线程,SPAWN出硬实时或软实时线程以用于处理实时Binder请求;
S3:Binder驱动公平对待所有实时Binder或将实时Binder请求有序的插入队列中;
还包括分离于普通Binder机制的模式和/或内嵌于普通Binder的模式;
分离于普通Binder机制的模式是指系统中有两个Binder驱动和对应的设备文件,分别为原生Binder驱动和实时Binder驱动;一个用户进程存在两个IPCThreadState类的实例,分别为普通的IPCThreadState类的实例和实时的IPCThreadState类的实例,为其运行包括以下步骤:
S1a:上层的Binder服务类和接口类,以及Binder核心类可以区分出Binder请求性质,若是实时Binder请求则找到实时的IPCThreadState类实例,若是普通Binder请求则找到普通的IPCThreadState类实例;
S2a:实时Binder请求通过实时的IPCThreadState类实例将请求发送给实时Binder驱动;实时Binder驱动请求实时的IPCThreadState类实例SPAWN出硬实时或软实时线程以用于处理实时Binder请求;
S3a:实时Binder驱动公平对待所有实时Binder请求或者按优先级把它们有序地插入到对应的一个或多个进程的FIFO队列中;
内嵌于普通Binder的模式,系统中只存一个Binder驱动,每个用户进程也只有一个IPCThreadState类的实例,Binder库中有特定于实时Binder请求的接口或接口附加的参数,以区分是实时Binder请求还是普通Binder请求,其运行包括以下过程:
S1b:由Binder库中的特殊接口或接口参数标明Binder请求是一个实时Binder请求;
S2b:Binder驱动向IPCThreadState类实例请求SPAWN线程时,通过特定参数或是Binder协议中特定的命令,指明需要创建的线程是硬实时或软实时线程,IPCThreadState类实例将创建相应的线程以在这样线程中处理实时Binder请求;
Sb3:在每个用户进程对应的binder_proc结构中,为实时Binder请求专门维护了实时Binder的等待队列rt_wait_queue和实时Binder的FIFO队列rt_todo_list。
2.根据权利要求1所述的一种实时安卓操作系统中的实时Binder处理避免非实时Binder竞争的方法,其特征在于,当系统同时配置上述两种模式时,软件调用一个特定的接口可选择两种模式中的一种,如果不调用,缺省的认为选择分离于普通Binder的模式。
3.根据权利要求2所述的一种实时安卓操作系统中的实时Binder处理避免非实时Binder竞争的方法,其特征在于,当在运行分离于普通Binder机制的模式或内嵌于普通Binder机制的模式之前还包括以下过程:
读取配置或由用户调用的接口获得用户选用哪种模式,若选用分离于普通Binder机制的模式,则分离于普通Binder机制的模式运行;若选用内嵌于普通Binder机制的模式,则内嵌于普通Binder机制的模式运行。
4.根据权利要求3所述的一种实时安卓操作系统中的实时Binder处理避免非实时Binder竞争的方法,其特征在于,在分离于普通Binder的模式下,不同的实时Binder请求之间的竞争,有两种处理方式,第一种,所有实时Binder请求公平对待,第二种,实时Binder请求根据优先级排序;两种方式用户可通过特定配置或特定接口选择;在第二种方式中,优先级缺省地设为硬实时或软实时的线程优先级,当某Binder请求发起后,到达实时Binder驱动,在不打断正在处理的Binder请求的前提下,按优先级排序插入到FIFO队列的相应位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杨百涛,未经杨百涛许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910356823.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:负载均衡方法、系统、可读存储介质和设备
- 下一篇:一种消息转换方法及装置