System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 系统加载方法及装置、存储介质、计算机程序产品和芯片制造方法及图纸_技高网

系统加载方法及装置、存储介质、计算机程序产品和芯片制造方法及图纸

技术编号:40158434 阅读:4 留言:0更新日期:2024-01-26 23:33
本发明专利技术提出了一种系统加载方法及装置、存储介质、计算机程序产品和芯片,涉及计算机技术领域。操作系统加载方法包括:对操作系统的系统符号表进行编码,得到编码后的系统符号表;打包编码后的系统符号表、操作系统的应用逻辑和程序加载组件,得到系统固件;编译生成二进制文件,并对二进制文件进行局部静态链接,得到待加载的程序文件;根据系统固件加载程序文件;其中,系统符号表的编码方式包括哈夫曼编码、香农编码和费诺编码中的至少一种。

【技术实现步骤摘要】

本专利技术涉及计算机,具体而言,涉及一种系统加载方法及装置、存储介质、计算机程序产品和芯片


技术介绍

1、操作系统的二进制加载技术是指将可执行文件(如程序)从磁盘加载到内存中,并将控制权转移到该程序的入口点,使其开始执行。

2、然而,目前的二进制加载技术大都是面向大型操作系统,如windows、linux等操作系统,对于小型操作系统如rtos(real time operating system,实时操作系统)嵌入式操作系统,其固件统一,业务代码更新慢,并且内存小,没有虚拟地址的映射,大型操作系统的动态加载方案不适用该小型操作系统。


技术实现思路

1、本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。

2、为此,本专利技术的第一个方面在于提出一种操作系统加载方法。

3、本专利技术的第二个方面在于提出一种操作系统加载装置。

4、本专利技术的第三个方面在于提出一种电子设备。

5、本专利技术的第四个方面在于提出一种可读存储介质。

6、本专利技术的第五个方面在于提出一种计算机程序产品。

7、本专利技术的第六个方面在于提出一种芯片。

8、有鉴于此,根据本专利技术的一个方面,提出了一种操作系统加载方法,该方法包括:对操作系统的系统符号表进行编码,得到编码后的系统符号表;打包编码后的系统符号表、操作系统的应用逻辑和程序加载组件,得到系统固件;编译生成二进制文件,并对二进制文件进行局部静态链接,得到待加载的程序文件;根据系统固件加载程序文件;其中,系统符号表的编码方式包括哈夫曼编码、香农编码和费诺编码中的至少一种。

9、本专利技术提供的操作系统加载方法的技术方案的执行主体可以为电子设备,还可以为操作系统加载装置,还可以根据实际使用需求进行确定,在此不作具体限定。为了更加清楚地描述本专利技术提供的操作系统加载方法,下面以操作系统加载方法的执行主体为操作系统加载装置进行说明。

10、具体地,本专利技术提出的操作系统加载方法包括系统固件准备阶段、程序文件生成阶段以及程序文件执行阶段。在本专利技术所提供的操作系统加载方法中,在对操作系统进行加载的过程中,在系统固件准备阶段,操作系统加载装置确定并获取操作系统需要导出的系统符号表,以及获取操作系统基本的系统应用逻辑和用于加载执行程序文件的解析加载组件即程序加载组件。在此基础上,操作系统加载装置通过对获取到的系统符号表进行编码,对获取到的系统符号表进行压缩优化,以得到编码后的系统符号表。进一步地,操作系统加载装置对操作系统基本的系统应用逻辑、编码后的系统符号表以及程序文件的解析加载组件进行打包,以打包得到操作系统的系统固件。此时,操作系统的系统固件包含有操作系统基本的系统应用逻辑、压缩优化后的系统符号表以及程序文件的解析加载组件。这样,对系统符号表进行压缩优化后再基于系统符号表确定系统固件,减小了固件端二进制文件的大小,以及减小了程序文件的大小,且能够提高后续查找目标系统符号的效率。

11、进一步地,在程序文件生成阶段,操作系统加载装置基于操作系统的开发环境开发应用程序,并在开发应用程序之后,通过操作系统的编译工具对应用源码进行编译,并把编译结果输出合并,从而编译得到对应的二进制文件,该二进制文件为可执行程序。进一步地,操作系统加载装置基于局部静态链接方法,对合并后的可执行程序即二进制文件进行预链接,输出得到待加载的程序文件。

12、进一步地,在程序文件执行阶段,操作系统加载装置基于系统固件中的系统符号表,通过系统固件中的程序文件的解析加载组件对得到的程序文件进行加载,以将程序文件加载到操作系统的内存中,并将控制权转移到该程序文件的入口点,使该程序文件开始在操作系统内执行。这样,实现了小型操作系统上的二进制加载技术,使得小型操作系统可完成二进制文件的加载和执行。并且,对操作系统的工作环境进行了优化,使得操作系统能够在固件不变的情况下,能够快速、高效地执行本地更新存储的或者网络下发的二进制可执行文件,能够使得操作系统的业务代码更新摆脱对设备ota(over-the-air technology,空中下载技术)的依赖,满足了操作系统的应用业务代码的快速更新和执行,提高了操作系统的工作效率。

13、根据本专利技术的上述操作系统加载方法,还可以具有以下附加技术特征:

14、在一些技术方案中,可选地,对操作系统的系统符号表进行编码,得到编码后的系统符号表,包括:获取系统符号表中的多个第一元组,一个第一元组对应一个系统符号,每个第一元组中包括系统符号的符号名称和物理地址;对每个第一元组中的符号名称进行编码,得到第一编码表;对多个第一元组进行分级,得到多级符号表;对多级符号表中的符号名称进行编码,得到第二编码表;根据第一编码表和第二编码表确定编码后的系统符号表。

15、在该技术方案中,操作系统加载装置读取系统符号表,以得到系统符号表中的多个第一元组。其中,一个第一元组对应一个系统符号,每个第一元组中包括其对应的一个系统符号的物理地址以及符号名称,系统符号的物理地址具体为系统符号对应的函数地址。也即,在第一元组中,各个系统符号以{符号名称-函数地址}的形式存在。

16、进一步地,对于每个第一元组中的符号名称,操作系统加载装置对每个符号名称进行编码,以对每个符号名称进行压缩优化,得到第一编码表。进一步地,操作系统加载装置基于每个第一元组中符号名称的前缀信息,对上述多个第一元组进行多级检索分级,以将多个第一元组划分至不同层级的不同元组,从而得到多级符号表。进一步地,操作系统加载装置按照与第一元组中的符号名称相同的编码方式,对多级符号表中的每个符号名称进行编码,得到第二编码表。在此基础上,操作系统加载装置将得到的第二编码表以及第一编码表确定为上述编码后的系统符号表。这样,有别于直接的“符号-地址”的保存方式,通过编码的方式对系统符号表进行压缩优化,并对系统符号表中的系统符号进行多级检索分级,提高了通过系统符号表查找符号的效率,从而提高了后续查找目标系统符号的效率,提高了程序文件的执行加载效率。

17、在一些技术方案中,可选地,对多个第一元组进行分级,得到多级符号表,包括:根据多个第一元组的前缀信息,对多个第一元组进行分组,得到第一层级的多个第二元组,每个第二元组包括至少一个系统符号和每个系统符号的物理地址;根据多个第二元组的前缀信息,对多个第二元组进行分组,得到第二层级的多个第三元组,每个第三元组包括至少一个第二元组和每个第二元组的物理地址;根据多个第三元组的前缀信息继续对多个第三元组进行递归分组,直至递归分组的结果满足递归停止条件时停止递归,得到多级符号表,其中,n为正整数。

18、在该技术方案中,操作系统加载装置获取每个第一元组的前缀信息,并将前缀信息相同的第一元组划分至同一个第二元组,以完成对多个第一元组的分组,得到第一层级的多个第二元组。其中,一个第二元组对应至少一个第一元组,每个第二元组中包括其对应的至少一个第一元组中的系统符号本文档来自技高网...

【技术保护点】

1.一种操作系统加载方法,其特征在于,所述加载方法包括:

2.根据权利要求1所述的操作系统加载方法,其特征在于,所述对操作系统的系统符号表进行编码,得到编码后的系统符号表,包括:

3.根据权利要求2所述的操作系统加载方法,其特征在于,所述对多个所述第一元组进行分级,得到多级符号表,包括:

4.根据权利要求3所述的操作系统加载方法,其特征在于,所述递归停止条件包括以下至少一项:递归分组得到的第N层级中的元组数量位于预设范围之内、递归次数大于或等于次数阈值;其中,N为正整数。

5.根据权利要求1至4中任一项所述的操作系统加载方法,其特征在于,所述根据所述系统固件加载所述程序文件,包括:

6.根据权利要求1至4中任一项所述的操作系统加载方法,其特征在于,所述对所述二进制文件进行局部静态链接,得到待加载的程序文件,包括:

7.一种操作系统加载装置,其特征在于,所述加载装置包括:

8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6中任一项所述的操作系统加载方法的步骤。

9.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的操作系统加载方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的操作系统加载方法的步骤。

11.一种芯片,其特征在于,所述芯片包括程序或指令,当所述芯片运行时,用于实现如权利要求1至6中任一项所述的操作系统加载方法的步骤。

...

【技术特征摘要】

1.一种操作系统加载方法,其特征在于,所述加载方法包括:

2.根据权利要求1所述的操作系统加载方法,其特征在于,所述对操作系统的系统符号表进行编码,得到编码后的系统符号表,包括:

3.根据权利要求2所述的操作系统加载方法,其特征在于,所述对多个所述第一元组进行分级,得到多级符号表,包括:

4.根据权利要求3所述的操作系统加载方法,其特征在于,所述递归停止条件包括以下至少一项:递归分组得到的第n层级中的元组数量位于预设范围之内、递归次数大于或等于次数阈值;其中,n为正整数。

5.根据权利要求1至4中任一项所述的操作系统加载方法,其特征在于,所述根据所述系统固件加载所述程序文件,包括:

6.根据权利要求1至4中任一项所述的操作系统加载方法,其特征在于,所述对所述二进制文件进行局部静态链接,得到待加...

【专利技术属性】
技术研发人员:何伟宏尹江荣伍云云刘志平叶楚汉
申请(专利权)人:美智纵横科技有限责任公司
类型:发明
国别省市:

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

1