操作系统运行方法及装置、电子设备和存储介质制造方法及图纸

技术编号:32332335 阅读:17 留言:0更新日期:2022-02-16 18:39
本申请是关于一种操作系统运行方法及装置、电子设备、存储介质。所述方法包括:响应于针对第一操作系统的初始启动指令,第二操作系统加载系统资源及系统类而启动第一进程;所述第一进程响应于第二进程的生成请求,生成第二进程;响应于所述第二进程,在所述第二操作系统上生成所述第一操作系统的运行环境,并为所述第一操作系统提供访问外设的能力;所述第二进程派生第二子进程;响应于所述第二子进程,调用所述第一操作系统的文件系统,启动所述第一操作系统。本申请的第一操作系统在第二操作系统上的运行比较便捷,实现了第一操作系统对外设设备的自由访问。外设设备的自由访问。外设设备的自由访问。

【技术实现步骤摘要】
操作系统运行方法及装置、电子设备和存储介质


[0001]本申请实施例涉及操作系统启动技术,具体涉及一种操作系统运行方法及装置、电子设备和可读非暂时性存储介质。

技术介绍

[0002]目前,在Android系统上运行Linux系统时,Android系统仅是提供了Linux命令行支持,Android系统上的Linux系统对于图形、声音、编解码、Camera等硬件外设设备,均无法支持。
[0003]申请内容
[0004]有鉴于此,本申请实施例提供一种操作系统的构建编译方法及装置、电子设备、存储介质,以至少解决现有技术中存在的以上技术问题。
[0005]根据本申请实施例的第一方面,提供一种操作系统运行方法,包括:
[0006]响应于针对第一操作系统的初始启动指令,第二操作系统加载系统资源及系统类而启动第一进程;
[0007]所述第一进程响应于第二进程的生成请求,生成第二进程;
[0008]响应于所述第二进程,在所述第二操作系统上生成所述第一操作系统的运行环境,并为所述第一操作系统提供访问外设的能力;
[0009]所述第二进程派生第二子进程;响应于所述第二子进程,调用所述第一操作系统的文件系统,启动所述第一操作系统。
[0010]在一个实施例中,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:
[0011]获取所述第二操作系统的更改根目录chroot指令的使用权限,调用并执行所述chroot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。
[0012]在一个实施例中,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:
[0013]调用并执行所述第二操作系统的用户空间根Proot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。
[0014]在一个实施例中,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:
[0015]启动第三进程,以读取修改根目录所需的环境配置信息;通过第三进程创建共享文件,并将环境配置信息写入共享文件;通过所述第三进程派生第三子进程,并在所述第三子进程设置环境变量;通过所述第三子进程调用第一函数,并将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,并将函数调用返回的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径。
[0016]在一个实施例中,所述将函数调用传入的文件路径参数由所述第二操作系统的路
径替换为所述第一操作系统的路径,并将函数调用返回的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,包括:
[0017]通过链接器加载动态库,使所述动态库调用第四函数,以通过所述环境变量获取所述环境配置信息,并对与文件路径相关的函数进行保存,其中,所述与文件路径相关的函数包括:传入参数包含文件路径的第五函数和返回结果包含文件路径的第六函数;
[0018]所述第三子进程在需要调用所述第五函数时,调用所述动态库中与所述第五函数对应的第七函数,以将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径;
[0019]所述第三子进程在需要调用所述第六函数时,调用所述动态库中与所述第六函数对应的第八函数,以将函数调用返回结果的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径。
[0020]在一个实施例中,所述第一操作系统初始启动之后,所述方法还包括:
[0021]响应于针对所述第一操作系统的第一启动指令,初始化所述第一操作系统的设备驱动程序和数据结构后,启动用户级程序进程,启动所述第一操作系统的系统服务以及软件框架相关服务,启动所述第一操作系统。
[0022]在一个实施例中,所述为所述第一操作系统提供访问外设的能力,包括:
[0023]所述第二进程为所述第一操作系统提供相应的虚拟设备,并根据所述第二操作系统的应用程序接口API读取与所述虚拟设备的对应的外设设备信息,基于外设设备信配置所述虚拟设备;
[0024]确定所述虚拟设备接收到所述第一操作系统发送的访问请求时,将所述访问请求向所述第二进程发送;
[0025]所述第二进程基于所述访问请求,根据所述访问请求中的虚拟设备的标识信息,通过所述第二操作系统的对应API调用对应的外设设备。
[0026]在一个实施例中,所述为所述第一操作系统提供访问外设的能力,包括:
[0027]所述第一操作系统接收到针对图形库的访问请求后,将所述访问请求向所述第二进程发送;
[0028]所述第二进程获取所述访问请求中调用图形功能的应用二进制接口ABI,通过Java本地接口将所述ABI转换为第二操作系统的Java API,通过所述Java API调用外设设备,向所述第一操作系统响应,实现对外设设备的访问。
[0029]根据本申请实施例的第二方面,提供一种操作系统运行装置,包括:
[0030]第一启动单元,用于响应于针对第一操作系统的初始启动指令,使第二操作系统加载系统资源及系统类而启动第一进程;
[0031]第一生成单元,用于使所述第一进程响应于第二进程的生成请求,生成第二进程;
[0032]第二生成单元,用于响应于所述第二进程,在所述第二操作系统上生成所述第一操作系统的运行环境,并为所述第一操作系统提供访问外设的能力;
[0033]派生单元,用于触发所述第二进程派生第二子进程;
[0034]第二启动单元,用于响应于所述第二子进程,调用所述第一操作系统的文件系统,启动所述第一操作系统。
[0035]在一个实施例中,所述第一启动单元,还用于:
[0036]获取所述第二操作系统的chroot指令的使用权限,调用并执行所述chroot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。
[0037]在一个实施例中,所述第一启动单元,还用于:
[0038]调用并执行所述第二操作系统的Proot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。
[0039]在一个实施例中,所述第一启动单元,还用于:
[0040]启动第三进程,以读取修改根目录所需的环境配置信息;通过第三进程创建共享文件,并将环境配置信息写入共享文件;通过所述第三进程派生第三子进程,并在所述第三子进程设置环境变量;通过所述第三子进程调用第一函数,并将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,并将函数调用返回的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径。
[0041]在一个实施例中,所述第一启动单元,还用于:
[0042]通过链接器加载动态库,使所述动态库调用第四函数,以通过所述环境变量获取所述环境配置信息,并对与文件路径相关的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种操作系统运行方法,其特征在于,所述方法包括:响应于针对第一操作系统的初始启动指令,第二操作系统加载系统资源及系统类而启动第一进程;所述第一进程响应于第二进程的生成请求,生成第二进程;响应于所述第二进程,在所述第二操作系统上生成所述第一操作系统的运行环境,并为所述第一操作系统提供访问外设的能力;所述第二进程派生第二子进程;响应于所述第二子进程,调用所述第一操作系统的文件系统,启动所述第一操作系统。2.根据权利要求1所述的方法,其特征在于,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:获取所述第二操作系统的更改根目录chroot指令的使用权限,调用并执行所述chroot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。3.根据权利要求1所述的方法,其特征在于,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:调用并执行所述第二操作系统的用户空间根Proot指令,由所述第二操作系统切换至所述第一操作系统的文件系统,启动所述第一操作系统。4.根据权利要求1所述的方法,其特征在于,所述调用所述第一操作系统的文件系统,启动所述第一操作系统,包括:启动第三进程,以读取修改根目录所需的环境配置信息;通过第三进程创建共享文件,并将环境配置信息写入共享文件;通过所述第三进程派生第三子进程,并在所述第三子进程设置环境变量;通过所述第三子进程调用第一函数,并将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,并将函数调用返回的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径。5.根据权利要求4所述的方法,其特征在于,所述将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,并将函数调用返回的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径,包括:通过链接器加载动态库,使所述动态库调用第四函数,以通过所述环境变量获取所述环境配置信息,并对与文件路径相关的函数进行保存,其中,所述与文件路径相关的函数包括:传入参数包含文件路径的第五函数和返回结果包含文件路径的第六函数;所述第三子进程在需要调用所述第五函数时,调用所述动态库中与所述第五函数对应的第七函数,以将函数调用传入的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径;所述第三子进程在需要调用所述第六函数时,调用所述动态库中与所述第六函数对应的第八函数,以将函数调用返回结果的文件路径参数由所述第二操作系统的路径替换为所述第一操作系统的路径。6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一操作系统初始启动之后,所述方法还包括:响应于针对所述第一操作系统的第一启动指令,初始化所述第一操作系统的设备驱动程序和数据结构后,启动用户级程序进程,启动所述第一操作系统的系统服务以及软件框
架相关服务,启动所述第一操作系统。7.根据权利要求6所述的方法,其特征在于,所述为所述第一操作系统提供访问外设的能力,包括:所述第二进程为所述第一操作系统提供相应的虚拟设备,并根据所述第二操作系统的应用程序接口API读取与所述虚拟设备的对应的外设设备信息,基于外设设备信配置所述虚拟设备;确定所述虚拟设备接收到所述第一操作系统发送的访问请求时,将所述访问请求向所述第二进程发送;所述第二进程基于所述访问请求,根据所述访问请求中的虚拟设备的标识信息,通过所述第二操作系统的对应API调用对应的外设设备。8.根据权利要求6所述的方法,其特征在于,所述为所述第一操作系统提供访问外设的能力,包括:所述第一操作系统接收到针对图形库的访问请求后,将所述访问请求向所述第二进程发送;所述第二进程获取所述访问请求中调用图形功能的应用二进制接口ABI,通过Java本地接口将所述ABI转换为第二操作系统的Java API,通过所述Java API调用外设设备,向所述第一操作系统响应,实现对外设设备的访问。9.一种操作系统运行装置,其特征在于,所述装置包括:第一启动单元,用于响应于针对第...

【专利技术属性】
技术研发人员:李翔
申请(专利权)人:北京鲸鲮信息系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1