[发明专利]一种运行于Linux操作系统上的Android虚拟化系统有效
| 申请号: | 202011285918.7 | 申请日: | 2020-11-17 |
| 公开(公告)号: | CN112099923B | 公开(公告)日: | 2021-02-05 |
| 发明(设计)人: | 郑智冰;周军;喻鑫;张李秋;刘铮 | 申请(专利权)人: | 江苏北弓智能科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 南京北辰联和知识产权代理有限公司 32350 | 代理人: | 于忠洲 |
| 地址: | 210019 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 运行 linux 操作系统 android 虚拟 系统 | ||
1.一种运行于Linux操作系统上的Android虚拟化系统,其特征在于:包括Dockdroid层以及各个Docker容器;
Docker容器用于构建Android虚拟化系统,并在Android虚拟化系统的HAL层中安装有安卓应用所需要的open GL ES库;
Dockdroid层用于提供HAL层传输指令的高速通道以及open GL ES指令转换所需要的translator库;
在HAL层和Dockdroid层之间通过编号来标记指令,在HAL层传输指令时,指令的参数也一并通过高速通道传输到Dockdroid层中,Dockdroid层从高速通道中读取指令的编号和参数;
在Dockdroid层中设置有用于与mesa驱动交互的translator库,在translator库中设置有将open GL ES指令转换为mesa驱动可识别的open GL指令;
在Dockdroid层读取指令的编号和参数后,对读取的编号和指令进行解析,并根据解析结果调用translator库转换指令;
HAL层调用Dockdroid层提供的open GL ES库时,由translator库将HAL层发送的openGL ES指令转化为mesa驱动的open GL指令,从而利用GPU进行加速。
2.根据权利要求1所述的运行于Linux操作系统上的Android虚拟化系统,其特征在于:在Docker容器中启动进程利用Linux Namespace机制隔离出一部分系统资源,通过clone系统调用创建子进程并指定flags参数来标记共享/隔离的系统资源。
3.根据权利要求2所述的运行于Linux操作系统上的Android虚拟化系统,其特征在于:flags参数包括主机名与域名隔离参数、消息与共享内存隔离参数、进程编号隔离参数、网络隔离参数、挂载点隔离参数以及用户与用户组隔离参数。
4.根据权利要求1所述的运行于Linux操作系统上的Android虚拟化系统,其特征在于:Docker容器通过Linux Cgroups机制对进程资源限制、控制和统计,在启动Docker容器时加上CPU核数、内存大小以及网络带宽来实现资源的限制。
5.根据权利要求1所述的运行于Linux操作系统上的Android虚拟化系统,其特征在于:各个Docker容器均对应有一个binder设备设置于宿主机中,binder设备通过对binder驱动进行修改生成;binder驱动修改点包括:修改驱动注册到内核为字符设备、添加设备保护锁、添加num_devices参数控制生成的设备数目、修改init_binder_device函数以及修改设备号。
6.根据权利要求1所述的运行于Linux操作系统上的Android虚拟化系统,其特征在于:Docker容器是通过设备挂载方式将ashmem驱动以及binder驱动与宿主机进行映射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏北弓智能科技有限公司,未经江苏北弓智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011285918.7/1.html,转载请声明来源钻瓜专利网。





