公共安全标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210170874.6 (22)申请日 2022.02.23 (71)申请人 北京字节跳动网络技 术有限公司 地址 100041 北京市石景山区实兴大街3 0 号院3号楼 2层B-0035房间 (72)发明人 李翔  (74)专利代理 机构 北京国昊天诚知识产权代理 有限公司 1 1315 专利代理师 姜凤岩 (51)Int.Cl. G06F 9/445(2018.01) G06F 9/54(2006.01) (54)发明名称 多系统兼容方法及装置、 电子设备、 存储介 质 (57)摘要 本申请是关于一种多系统兼容方法及 装置、 电子设备、 存储介质。 所述方法包括: 响应于启动 指令, 基于SystemCall接口启动内核, 由所述内 核查找第一系统的第一进程, 并启动所述第一进 程; 通过所述第一进程挂载所述第一系统的文件 系统, 启动所述第一系统的基础服务; 通过所述 第一系统中的命名空间NameSpace机制, 创建硬 件抽象层HAL容器; 通过所述HAL容器运行所述第 二系统的第二进程, 引导所述第二系统的文件系 统挂载以及核心服务Service和HAL  service的 启动; 在所述HAL容器中service启动的情况下, 所述第一系统的第一进程启动后续的系统 Service和系 统应用, 将所述第二系统部署于所 述第一系统中。 本申请通过将第一系统和第二系 统相互隔离, 实现了多系统 兼容。 权利要求书2页 说明书9页 附图2页 CN 115016856 A 2022.09.06 CN 115016856 A 1.一种多系统 兼容方法, 其特 征在于, 所述方法包括: 响应于启动指令, 基于系统调用SystemCall接口启动内核, 由所述内核查找第一系统 的第一进程, 并启动所述第一进程; 通过所述第一进程 挂载所述第一系统的文件系统, 启动所述第一系统的基础服 务; 通过所述第一系统中的命名空间NameSpace机制, 创建硬件抽象层HAL 容器; 通过所述HAL容器运行所述第二系统的第二进程, 引导所述第二系统的文件系统挂载 以及核心服 务Service和HAL  service的启动; 在所述HAL容器中service启动的情况下, 所述第一系统的第一进程启动后续的系统 Service和系统应用, 将所述第二系统部署于所述第一系统中。 2.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括: 响应于针对所述第一系统的第一动态连接库中的第一函数function的调用指令, 调用 所述第一动态连接库, 使所述第一动态连接库初始化, 并调用兼容连接器; 通过所述兼容连接器调用所述第二系统的HAL服务, 对所述第二系统的第二动态连接 库中的对应于所述第一function的第二function进行调用, 运行所述第二function并向所 述第一系统响应。 3.根据权利 要求2所述的方法, 其特征在于, 所述运行所述第二function并向所述第一 系统响应, 包括: 在确定所述第二function与所述第一系统的C函数库接口冲突的情况下, 通过所述兼 容连接器查找所述第一系统的C函数库中的对应于所述第一function的第三function, 运 行所述第三functi on。 4.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括: 响应于针对所述第一系统的第四function的调用指令, 通过所述第二系统的HAL服务 调用所述第二系统的兼容封装库; 触发所述兼容封装库基于进程间通信机制binder, 查询对应于所述第四function的 binder服务Servic e的第一客户端client实例; 确定所述第一client实例对应于HAL服务的 第一调用方式; 所述第一系统基于所述第一调用方式调用所述第一client 实例, 触发所述第二系统中 的相应Service运行 所述第一cl ient实例, 得到运行 结果; 所述兼容封装库将所述第一cl ient实例的运行 结果向所述第一系统的调用指令反馈 。 5.根据权利要求1至4任一项所述的方法, 其特征在于, 所述第一系统包括GNU/Linux操 作系统; 所述GNU/L inux操作系统包括以下至少之一: Ubuntu、 Debian、 RedHat。 6.根据权利 要求1至4任一项所述的方法, 其特征在于, 所述第二系统包括Android操作 系统、 Andro id开放源代码项目AOS P和基于AOS P的衍生系统; 所述衍生系统包括以下至少之一: MIUI、 E MUI、 One UI。 7.一种多系统 兼容装置, 其特 征在于, 所述装置包括: 第一启动单元, 用于响应于启动指令, 基于S ystemCall接口启动内核, 由所述 内核查找 第一系统的第一进程, 并启动所述第一进程; 第二启动单元, 用于通过所述第一进程挂载所述第一系统的文件系统, 启动所述第一权 利 要 求 书 1/2 页 2 CN 115016856 A 2系统的基础服 务; 创建单元, 用于通过 所述第一系统中的NameSpace机制, 创建HAL 容器; 第三启动单元, 用于通过所述HAL容器运行所述第二系统的第 二进程, 引导所述第二系 统的文件系统挂载以及核心服 务Service和HAL  service的启动; 第四启动单元, 用于在所述HAL容器中service启动的情况下, 所述第一系统的第一进 程启动后续的系统Service和系统应用, 将所述第二系统部署于所述第一系统中。 8.根据权利要求7 所述的装置, 其特 征在于, 所述装置还 包括: 第一调用单元, 用于响应于针对所述第一系统的第一动态连接库中的第一函数 function的调用指令, 调用所述第一动态连接库, 使 所述第一动态连接库初始 化, 并调用兼 容连接器; 第二调用单元, 用于通过所述兼容连接器调用所述第二系统的HAL服务, 对所述第二系 统的第二动态连接库中的对应于所述第一function的第二function进行调用, 运行所述第 二functi on并向所述第一系统响应。 9.根据权利要求8所述的装置, 其特 征在于, 所述第二调用单 元, 还用于: 在确定所述第二function与所述第一系统的C函数库接口冲突的情况下, 通过所述兼 容连接器查找所述第一系统的C函数库中的对应于所述第一function的第三function, 运 行所述第三functi on。 10.根据权利要求7 所述的装置, 其特 征在于, 所述装置还 包括: 第三调用单元, 用于响应于针对所述第一系统的第四function的调用指令, 通过所述 第二系统的HAL 服务调用所述第二系统的兼容封装库; 第一触发单元, 用于触发所述兼容封装库基于进程间通信机制binder, 查询对应于所 述第四function的binder服务Service的第 一客户端client实例; 确定所述第 一client实 例对应于 HAL服务的第一调用方式; 第二触发单元, 用于使所述第一系统基于所述第一调用 方式调用所述第一client实 例, 触发所述第二系统中的相应Service运行 所述第一cl ient实例, 得到运行 结果; 第三触发单元, 用于触发所述兼容封装库将所述第一client 实例的运行结果向所述第 一系统的调用指令反馈 。 11.根据权利要求7至10任一项所述的装置, 其特征在于, 所述第一系统包括GNU/Linux 操作系统; 所述GNU/L inux操作系统包括以下至少之一: Ubuntu、 Debian、 RedHat。 12.根据权利 要求7至10任一项所述的装置, 其特征在于, 所述第二系统包括Android操 作系统、 Andro id开放源代码项目AOS P和基于AOS P的衍生系统; 所述衍生系统包括以下至少之一: MIUI、 E MUI、 One UI。 13.一种电子设备, 其特征在于, 包括处理器, 存储器及存储在所述存储器上并可在所 述处理器上运行的程序或指 令, 所述程序或指 令被所述处理器执行时实现权利要求 1至6中 任一项所述的多系统 兼容方法的步骤。 14.一种可读非暂时性存储介质, 其特征在于, 所述存储介质上存储程序或指令, 所述 程序或指令被处 理器执行时实现权利要求1至 6中任一项所述的多系统 兼容方法的步骤。权 利 要 求 书 2/2 页 3 CN 115016856 A 3

.PDF文档 专利 多系统兼容方法及装置、电子设备、存储介质

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 多系统兼容方法及装置、电子设备、存储介质 第 1 页 专利 多系统兼容方法及装置、电子设备、存储介质 第 2 页 专利 多系统兼容方法及装置、电子设备、存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 16:03:25上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。