一种在开机过程中快速加载数据的方法及装置的制造方法

文档序号:8412360阅读:232来源:国知局
一种在开机过程中快速加载数据的方法及装置的制造方法
【技术领域】
[0001] 本发明实施例涉及电子技术领域,尤其涉及一种在开机过程中快速加载数据的方 法及装置。
【背景技术】
[0002] 随着电子技术的发展,安装有操作系统的各式各样的电子设备(例如智能手机、 平板电脑)蜂拥而现。人们可以使用电子设备来玩游戏、听音乐、看视频、浏览新闻等,电子 设备逐渐成为人们生活当中所必不可少的一部分。
[0003] 目前,对于安装有操作系统的电子设备而言,在系统开机启动的过程中,对数据的 加载往往耗时较长,从而使得开机速度较慢,严重影响了用户的开机体验。

【发明内容】

[0004] 本发明实施例提供一种在开机过程中快速加载数据的方法及装置,以缩短对数据 的加载时长,加快开机速度,提升用户的开机体验。
[0005] 一方面,本发明实施例提供了一种在开机过程中快速加载数据的方法,该方法包 括:
[0006] 在终端进入运行操作系统内核的开机阶段后,获取所述终端上的处理芯片中能够 同时启动的CPU核的数量,其中所述数量大于1 ;
[0007] 根据所述数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所 述至少两个CPU核进行初始化;
[0008] 启用初始化后的各个CPU核,进行数据加载。
[0009] 另一方面,本发明实施例还提供了一种在开机过程中快速加载数据的装置,该装 置包括:
[0010] CPU核数量获取模块,用于在终端进入运行操作系统内核的开机阶段后,获取所述 终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1 ;
[0011] CPU核确定和初始化模块,用于根据所述CPU核数量获取模块得到的数量,确定待 启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
[0012] 数据加载模块,用于启用初始化后的各个CPU核,进行数据加载。
[0013] 在本发明实施例中,在终端进入运行操作系统内核的开机阶段后,可以启用多个 初始化后的CPU核,以并行的方式同时进行数据加载,相较于仅启用单个CPU核来顺次加载 诸多数据的方案而言,本发明实施例提供的技术方案可以缩短对数据的加载时长,加快开 机速度,提升用户的开机体验。
【附图说明】
[0014] 图1是本发明实施例一提供的一种在开机过程中快速加载数据的方法的流程示 意图;
[0015] 图2是本发明实施例二提供的一种在开机过程中快速加载数据的方法的流程示 意图;
[0016] 图3是本发明实施例三提供的一种在开机过程中快速加载数据的方法的流程示 意图;
[0017] 图4是本发明实施例四提供的一种在开机过程中快速加载数据的装置的结构示 意图。
【具体实施方式】
[0018] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0019] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成 作为流程图描绘的处理或方法,当其操作完成时所述处理可以被终止,但是还可以具有未 包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0020] 实施例一
[0021] 图1是本发明实施例一提供的一种在开机过程中快速加载数据的方法的流程示 意图。该方法可以由在开机过程中快速加载数据的装置来执行,所述装置由软件实现,可被 内置在诸如智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理之类的终端上。其 中,所述终端安装有操作系统且处理芯片中包含多个CPU核。参见图1,本实施例提供的在 开机过程中快速加载数据的方法具体包括如下操作:
[0022] 操作110、在终端进入运行操作系统内核的开机阶段后,获取终端上的处理芯片中 能够同时启动的CPU核的数量,其中所述数量大于1。
[0023] 操作120、根据所述数量,确定待启用的终端上处理芯片中的至少两个CPU核,并 对所述至少两个CPU核进行初始化。
[0024] 操作130、启用初始化后的各个CPU核,进行数据加载。
[0025] 目前,在终端被触发开机后,会先执行引导加载程序(bootloader),以加载操作系 统内核(kernel)至终端的内存中,启动操作系统内核运行;随后,运行操作系统内核;进 而,运行操作系统进程模型(Zygotelnit)。也即,在终端的开机过程中会依次经历如下三个 开机阶段:终端运行引导加载程序的开机阶段(第一阶段),终端运行操作系统内核的开机 阶段(第二阶段),以及终端运行操作系统进程模型的开机阶段(第三阶段)。其中,在上 述第二阶段运行操作系统内核的过程中,会完成对终端上处理芯片中的CPU核的初始化。
[0026] 在现有技术中,在上述第二阶段和第三阶段,均需执行相应的加载任务,以完成阶 段所需的待加载数据的加载。如果仅初始化一个CPU核,进而启用该CPU核以串行方式顺次 进行数据的加载,则会使得加载过程较慢,耗时较长。例如,在终端运行操作系统进程模型 的开机阶段,需要加载N(N为大于1的自然数)个文件所包含的所有数据,如果仅启动一个 线程,一个文件一个文件的进行加载,则执行该阶段下数据的加载任务所耗费的时间T为: Γ = SfL1乃。其中,Ti为加载所述N个文件中的第i个文件所耗费的时间。显然,该加载 方式会使得开机速度较慢,严重影响用户的开机体验。
[0027] 基于上述考虑,本实施例在终端进入运行操作系统内核的开机阶段后,执行对多 个CPU核的初始化,进而可以启用多个CPU核以并行方式同时进行不同数据的加载。优选 的,同时启用终端上处理芯片中全部的CPU核进行不同数据的加载,可以使得加载速度最 快。例如,初始化后的CPU核的数量是4,共有4种数据需要加载,则可设初始化后的第j个 (PU核执行第j种数据的加载任务,因此执行所述4种数据的加载任务所耗费的时间T' 为:T' = max (Tj),j = 1,2, 3, 4。其中Tj表示初始化后的第j个CPU核执行第j种数据的 加载任务所耗费的时间。
[0028] 但是,随着终端上处理芯片中被启用的CPU核的数量的增多,终端所消耗的功率 也会越来越大。当被启用的CPU核的数量过多,而使得终端的功耗超过某个阈值时,终端会 自动断电。为此,可预先设定终端上的处理芯片中能够同时启动的CPU核的数量。在终端 进入运行操作系统内核的开机阶段后,先获取所述数量,再按照所述数量确定可以启用哪 些CPU核来进行数据加载。其中,所确定的待启用的CPU核的数量应大于1,小于或等于预 先设定的数量。如果所确定的待启用的CPU核的数量超过预先设定的数量,很可能会使得 终端的功耗超过某个阈值,造成断电,导致开机失败。
[0029] 在本实施例中,预先设定的数量可以是人工根据经验得到的一个值,也可以预先 通过多次试验得到的一个值。例如,终端上的处理芯片中共有6个CPU核,预先设定终端上 的处理芯片中能够同时启动的CPU核的数量为4,则所确定的待启用的CPU核的数量应为 2、3 或 4。
[0030] 在确定完毕待启用的终端上处理芯片中的至少两个CPU核之后,可对所确定的至 少两个CPU核进行初始化,进而启用初始
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1