在android运行虚拟化,一种运行于Linux操作系统上的Android虚拟化系统的制作方法...
技术特征:1.一种运行于linux操作系统上的android虚拟化系统,其特征在于:包括dockdroid层以及各个docker容器;docker容器用于构建安卓系统,并在安卓系统的hal层中安装有安卓应用所需要的opengles库;dockdroid层用于提供hal层传输指令的高速通道以及opengles指令转换所需要的translator库;在hal层和dockdroid层之间通过编号来标记指
技术特征:
1.一种运行于linux操作系统上的android虚拟化系统,其特征在于:包括dockdroid层以及各个docker容器;
docker容器用于构建安卓系统,并在安卓系统的hal层中安装有安卓应用所需要的opengles库;
dockdroid层用于提供hal层传输指令的高速通道以及opengles指令转换所需要的translator库;
在hal层和dockdroid层之间通过编号来标记指令,在hal层传输指令时,指令的参数也一并通过高速通道传输到dockdroid层中,dockdroid层从高速通道中读取指令的编号和参数;
在dockdroid层中设置有用于与mesa驱动交互的translator库,在translator库中设置有将opengles指令转换为mesa驱动可识别的opengl指令;
在dockdroid层读取指令的编号和参数后,对读取的编号和指令进行解析,并根据解析结果调用translator库转换指令;
hal层调用dockdroid层提供的opengles库时,由translator库将hal层发送的opengles指令转化为显卡驱动的opengl指令,实现使用gpu的加速。
2.根据权利要求1所述的运行于linux操作系统上的android虚拟化系统,其特征在于:在docker容器中启动进程利用linuxnamespace机制隔离出一部分系统资源,通过clone系统调用创建子进程并指定flags参数来标记共享/隔离的系统资源。
3.根据权利要求2所述的运行于linux操作系统上的android虚拟化系统,其特征在于:flags参数包括主机名与域名隔离参数、消息与共享内存隔离参数、进程编号隔离参数、网络隔离参数、挂载点隔离参数以及用户与用户组隔离参数。
4.根据权利要求1所述的运行于linux操作系统上的android虚拟化系统,其特征在于:docker容器通过linuxcgroups机制对进程资源限制、控制和统计,在启动docker容器时加上cpu核数、内存大小以及网络带宽来实现资源的限制。
5.根据权利要求1所述的运行于linux操作系统上的android虚拟化系统,其特征在于:各个docker容器均对应有一个binder设备设置于宿主机中,binder设备通过对binder驱动进行修改生成;binder驱动修改点包括:修改驱动注册到内核为字符设备、添加设备保护锁、添加num_devices参数控制生成的设备数目、修改init_binder_device函数以及修改设备号。
6.根据权利要求1所述的运行于linux操作系统上的android虚拟化系统,其特征在于:docker容器是通过设备挂载方式将ashmem驱动以及binder驱动与宿主机进行映射。
更多推荐
所有评论(0)