Linux系统启动加速方法、装置及可读存储介质与流程

文档序号:27754262发布日期:2021-12-03 21:17阅读:115来源:国知局
Linux系统启动加速方法、装置及可读存储介质与流程
linux系统启动加速方法、装置及可读存储介质
技术领域
1.本发明涉及计算机操作系统领域,具体涉及了一种linux系统启动加速方法、装置及可读存储介质。


背景技术:

2.linux操作系统被广泛应用于各类嵌入式应用领域,比如智能硬件、行车监控等。在这些产品领域,启动速度是一项重要指标,影响着整体用户体验。如何提升产品的启动速度,是各个芯片和方案厂商需要解决的问题。
3.参考图1,传统方法中,与linux启动相关的步骤分为:编译阶段、烧写阶段、uboot阶段、linux运行阶段,其中,编译阶段对原始linux内核进行压缩,生成压缩版linux内核;烧写阶段将压缩版linux内核烧写到存储介质;uboot阶段从存储介质上读取压缩版linux内核,跳转到内核入口地址运行;linux运行阶段首先执行自解压程序,得到原始linux内核,然后执行内核。
4.参考图2,其中的自解压程序包括两个步骤:首先进行内核重定位,将内核压缩包、自解压程序拷贝到内存中靠后的区域,以免与解压后的内核区域重叠;然后运行自解压程序,通过cpu将内核压缩包解压到linux内核的起始运行地址。
5.传统方法linux内核自解压过程中,其内存数据分布如图3。对于内核重定位阶段,将自解压代码和内核压缩包拷贝到start_addr2位置,以免与解压后的原始linux内核区域重叠;然后执行自解压程序,将内核压缩包解压到start_addr位置。
6.传统方法linux内核解压过程完全由cpu执行,由于数据运算量大,所以比较耗时;另外内核重定位需要进行数据拷贝,也会消耗一定的时间。


技术实现要素:

7.本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种linux系统启动加速方法、装置及可读存储介质提升了,linux内核解压运行效率,提高了linux系统启动速度。
8.本发明的技术方案包括一种linux系统启动加速方法,其特征在于,包括以下步骤:s100,执行linux内核的编译,得到压缩linux内核,所述压缩linux内核包括自解压程序及linux内核压缩包;s200,将所述压缩linux内核及所述linux内核压缩包的物理信息烧写至存储介质;s300,从所述存储介质读取所述压缩linux内核,以及,通过所述自解压程序执行解压;s400,将解压后的所述压缩linux内核跳转至内核接口并进行运行。
9.根据所述的linux系统启动加速方法,其中物理信息包括所述压缩linux内核的偏移、大小及第一起始运行地址。
10.根据所述的linux系统启动加速方法,其中s300包括:s310,从所述存储介质读取所述压缩linux内核,获取所述压缩linux内核的偏移、大小及第一起始运行地址;s320,从第二起始位置读取所述压缩linux内核的数据,并将所述压缩linux内核解压至第一起始位
置。
11.根据所述的linux系统启动加速方法,其中第一起始位置与所述第二起始位置不重叠且相隔距离超过设置阈值。
12.根据所述的linux系统启动加速方法,其中该方法还包括:调用硬件引擎对所述压缩linux内核进行解压。
13.根据所述的linux系统启动加速方法,其中s400包括:在linux运行阶段,直接执行解压后的原始linux内核,所述原始linux内核通过所述压缩linux内核解压得到。
14.本发明的技术方案包括一种linux系统启动加速装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
15.本发明的技术方案包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一所述的方法步骤。
16.本发明的有益效果为:获取取压缩版linux内核时,直接读到不重叠的位置,避免了内核重定位的拷贝操作;其次,自解压过程通过硬件引擎来加速,大大提升了解压效率。解压完成后,跳转到linux内核直接运行,提高了linux系统的启动速度。
附图说明
17.下面结合附图和实施例对本发明进一步地说明;
18.图1所示为现有方法的linux启动流程图。
19.图2所示为现有方法linux内核自解压流程。
20.图3所示为现有方法linux自解压过程中的内存数据分布。
21.图4所示为根据本发明实施方式的流程图。
22.图5所示为根据本发明实施方式的linux启动的各阶段流程图。
23.图6所示为根据本发明实施方式的装置图。
具体实施方式
24.本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
25.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
26.在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。
27.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
28.术语解释:
29.offset,偏移;
30.start_addr1及start_addr2,第一起始地址及第二起始地址;
31.size,内核大小。
32.图4所示为根据本发明实施方式的流程图。该流程包括:s100,执行linux内核的编译,得到压缩linux内核,压缩linux内核包括自解压程序及linux内核压缩包;s200,将压缩linux内核及linux内核压缩包的物理信息烧写至存储介质;s300,从存储介质读取压缩linux内核,以及,通过自解压程序执行解压;s400,将解压后的压缩linux内核跳转至内核接口并进行运行。
33.图5所示为根据本发明实施方式的linux启动的各阶段流程图。其包括:
34.在固件烧写阶段,将压缩版linux内核烧写到存储介质,同时将内核压缩包的偏移(offset)和大小(size)、以及内核的起始运行地址(start_addr)等信息也烧写到存储介质。
35.在uboot阶段,从存储介质读取压缩版linux内核到物理内存靠后的区域(起始地址记为start_addr2),使之与linux原始内核的运行区域不发生重叠,同时读取offset、size、start_addr等信息;然后从内存中start_addr2+offset的位置读取内核压缩包的数据,长度为size;最后通过硬件引擎将内核压缩包数据解压到start_addr的位置,并跳转到linux内核起始运行地址执行。
36.在linux运行阶段,直接执行解压后的原始linux内核。
37.图6所示为根据本发明方式的装置图。装置包括存储器100及处理器200,其中处理器200存储有计算机程序,计算机程序用于执行:执行linux内核的编译,得到压缩linux内核,压缩linux内核包括自解压程序及linux内核压缩包;将压缩linux内核及linux内核压缩包的物理信息烧写至存储介质;从存储介质读取压缩linux内核,以及,通过自解压程序执行解压;将解压后的压缩linux内核跳转至内核接口并进行运行。
38.应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
39.此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
40.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不
同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
41.计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如消费者。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括消费者上产生的物理和有形对象的特定视觉描绘。
42.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1