CN104731614A - 一种在开机过程中快速加载数据的方法及装置 - Google Patents
一种在开机过程中快速加载数据的方法及装置 Download PDFInfo
- Publication number
- CN104731614A CN104731614A CN201510098550.6A CN201510098550A CN104731614A CN 104731614 A CN104731614 A CN 104731614A CN 201510098550 A CN201510098550 A CN 201510098550A CN 104731614 A CN104731614 A CN 104731614A
- Authority
- CN
- China
- Prior art keywords
- initialization
- data
- loading tasks
- loading
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000008676 import Effects 0.000 claims description 20
- 230000026676 system process Effects 0.000 claims description 16
- 210000004940 nucleus Anatomy 0.000 abstract 5
- 230000001737 promoting effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012297 crystallization seed Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种在开机过程中快速加载数据的方法及装置。其中,所述方法包括:在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;根据所述数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;启用初始化后的各个CPU核,进行数据加载。本发明实施例提供的技术方案,能够缩短对数据的加载时长,加快开机速度,提升用户的开机体验。
Description
技术领域
本发明实施例涉及电子技术领域,尤其涉及一种在开机过程中快速加载数据的方法及装置。
背景技术
随着电子技术的发展,安装有操作***的各式各样的电子设备(例如智能手机、平板电脑)蜂拥而现。人们可以使用电子设备来玩游戏、听音乐、看视频、浏览新闻等,电子设备逐渐成为人们生活当中所必不可少的一部分。
目前,对于安装有操作***的电子设备而言,在***开机启动的过程中,对数据的加载往往耗时较长,从而使得开机速度较慢,严重影响了用户的开机体验。
发明内容
本发明实施例提供一种在开机过程中快速加载数据的方法及装置,以缩短对数据的加载时长,加快开机速度,提升用户的开机体验。
一方面,本发明实施例提供了一种在开机过程中快速加载数据的方法,该方法包括:
在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;
根据所述数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
启用初始化后的各个CPU核,进行数据加载。
另一方面,本发明实施例还提供了一种在开机过程中快速加载数据的装置,该装置包括:
CPU核数量获取模块,用于在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;
CPU核确定和初始化模块,用于根据所述CPU核数量获取模块得到的数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
数据加载模块,用于启用初始化后的各个CPU核,进行数据加载。
在本发明实施例中,在终端进入运行操作***内核的开机阶段后,可以启用多个初始化后的CPU核,以并行的方式同时进行数据加载,相较于仅启用单个CPU核来顺次加载诸多数据的方案而言,本发明实施例提供的技术方案可以缩短对数据的加载时长,加快开机速度,提升用户的开机体验。
附图说明
图1是本发明实施例一提供的一种在开机过程中快速加载数据的方法的流程示意图;
图2是本发明实施例二提供的一种在开机过程中快速加载数据的方法的流程示意图;
图3是本发明实施例三提供的一种在开机过程中快速加载数据的方法的流程示意图;
图4是本发明实施例四提供的一种在开机过程中快速加载数据的装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法,当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种在开机过程中快速加载数据的方法的流程示意图。该方法可以由在开机过程中快速加载数据的装置来执行,所述装置由软件实现,可被内置在诸如智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理之类的终端上。其中,所述终端安装有操作***且处理芯片中包含多个CPU核。参见图1,本实施例提供的在开机过程中快速加载数据的方法具体包括如下操作:
操作110、在终端进入运行操作***内核的开机阶段后,获取终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1。
操作120、根据所述数量,确定待启用的终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化。
操作130、启用初始化后的各个CPU核,进行数据加载。
目前,在终端被触发开机后,会先执行引导加载程序(bootloader),以加载操作***内核(kernel)至终端的内存中,启动操作***内核运行;随后,运行操作***内核;进而,运行操作***进程模型(Zygotelnit)。也即,在终端的开机过程中会依次经历如下三个开机阶段:终端运行引导加载程序的开机阶段(第一阶段),终端运行操作***内核的开机阶段(第二阶段),以及终端运行操作***进程模型的开机阶段(第三阶段)。其中,在上述第二阶段运行操作***内核的过程中,会完成对终端上处理芯片中的CPU核的初始化。
在现有技术中,在上述第二阶段和第三阶段,均需执行相应的加载任务,以完成阶段所需的待加载数据的加载。如果仅初始化一个CPU核,进而启用该CPU核以串行方式顺次进行数据的加载,则会使得加载过程较慢,耗时较长。例如,在终端运行操作***进程模型的开机阶段,需要加载N(N为大于1的自然数)个文件所包含的所有数据,如果仅启动一个线程,一个文件一个文件的进行加载,则执行该阶段下数据的加载任务所耗费的时间T为:其中,Ti为加载所述N个文件中的第i个文件所耗费的时间。显然,该加载方式会使得开机速度较慢,严重影响用户的开机体验。
基于上述考虑,本实施例在终端进入运行操作***内核的开机阶段后,执行对多个CPU核的初始化,进而可以启用多个CPU核以并行方式同时进行不同数据的加载。优选的,同时启用终端上处理芯片中全部的CPU核进行不同数据的加载,可以使得加载速度最快。例如,初始化后的CPU核的数量是4,共有4种数据需要加载,则可设初始化后的第j个CPU核执行第j种数据的加载任务,因此执行所述4种数据的加载任务所耗费的时间T′为:T′=max(Tj),j=1,2,3,4。其中Tj表示初始化后的第j个CPU核执行第j种数据的加载任务所耗费的时间。
但是,随着终端上处理芯片中被启用的CPU核的数量的增多,终端所消耗的功率也会越来越大。当被启用的CPU核的数量过多,而使得终端的功耗超过某个阈值时,终端会自动断电。为此,可预先设定终端上的处理芯片中能够同时启动的CPU核的数量。在终端进入运行操作***内核的开机阶段后,先获取所述数量,再按照所述数量确定可以启用哪些CPU核来进行数据加载。其中,所确定的待启用的CPU核的数量应大于1,小于或等于预先设定的数量。如果所确定的待启用的CPU核的数量超过预先设定的数量,很可能会使得终端的功耗超过某个阈值,造成断电,导致开机失败。
在本实施例中,预先设定的数量可以是人工根据经验得到的一个值,也可以预先通过多次试验得到的一个值。例如,终端上的处理芯片中共有6个CPU核,预先设定终端上的处理芯片中能够同时启动的CPU核的数量为4,则所确定的待启用的CPU核的数量应为2、3或4。
在确定完毕待启用的终端上处理芯片中的至少两个CPU核之后,可对所确定的至少两个CPU核进行初始化,进而启用初始化后的各个CPU核,进行所需数据的加载。示例性的,在终端运行操作***进程模型的开机阶段,由于待启用的多个CPU核已经被初始化完毕,则可先对该开机阶段待加载数据的加载任务进行划分得到多个子加载任务;然后,按照多个子加载任务与初始化后的多个CPU核之间的对应关系,或者以随机的方式,将各个子加载任务对应分配给初始化后的各个CPU核,以指示初始化后的各CPU核执行对应的子加载任务。其中,不同的CPU核所对应的子加载任务不同,同一个CPU核可以对应一个或多个子加载任务。
由于在终端运行操作***内核的开机阶段,对所确定的至少两个CPU核进行初始化后,被初始化的各个CPU核可以被用来使用,所以在该开机阶段的后续过程当中,同样可以采用多核方式,进行该开机阶段剩余的待加载数据的加载,其加载过程与上述在终端运行操作***进程模型的开机阶段采用多核方式进行数据加载的过程类似,在此不再赘述。
在本实施例中,在终端进入运行操作***内核的开机阶段后,可以启用多个初始化后的CPU核,以并行的方式同时进行数据加载,相较于仅启用单个CPU核来顺次加载诸多数据的方案而言,本发明实施例提供的技术方案可以缩短对数据的加载时长,加快开机速度,提升用户的开机体验。
实施例二
图2是本发明实施例二提供的一种在开机过程中快速加载数据的方法的流程示意图。本实施例在上述实施例一的基础上,对“启用初始化后的各个CPU核,进行数据加载”的操作进行优化,以使得可以在终端运行操作***进程模型的开机阶段,以并行的方式同时启用处理芯片中的多个CPU核来进行数据加载。参见图2,本实施例提供的在开机过程中快速加载数据的方法具体包括如下操作:
操作210、在终端进入运行操作***内核的开机阶段后,获取终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1。
在本实施例的一种优选的实施方式中,可以预先在引导加载程序中增设一个用于描述能够同时启动的CPU核的数量的变量,并赋予该变量一个值。从而,在终端开机过程中,在引导加载程序启动操作***内核运行时,将该变量的值传递给操作***内核。这样,在进入运行操作***内核的开机阶段后,可以直接读取该变量的值,作为能够同时启动的CPU核的数量。
具体的,在终端进入运行操作***内核的开机阶段后,获取终端上的处理芯片中能够同时启动的CPU核的数量之前,还包括:在终端运行引导加载程序的开机阶段,获取根据终端上的处理芯片中CPU核的功耗情况,所确定的能够同时启动的CPU核的数量,并将所述数量传递给操作***内核。
其中,对于能够同时启动的CPU核的数量而言,可以是预先通过人工或智能的方式,根据终端上的处理芯片中CPU核的功耗情况所确定的。示例性的,以智能的方式,来确定所述数量的过程包括:
预先创建一个变量,设其初始值为0;
启用终端上的处理芯片中的第一个CPU核工作,读取此情况下电池的输出电流,根据该电流计算启用一个CPU核所产生的功耗P1;
如果该功耗P1小于所允许的额定功耗,则将所创建的变量的值加1,继续启用第二个CPU核工作,在第二个CPU核正常工作的情况下,读取此情况下电池的输出电流,根据该电流计算启用两个CPU核所产生的功耗P2;
如果该功耗P2小于所允许的额定功耗,则将所创建的变量的值再加1,继续启用第三个CPU核工作,如此依次进行下去,直到所启用的CPU核所产生的功耗Pi大于所允许的额定功耗,造成断电。断电时,所创建的变量的值,即为终端上的处理芯片中能够同时启动的CPU核的数量。
操作220、根据所述数量,确定待启用的终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化。
操作230、在终端运行操作***进程模型的开机阶段,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核。
操作240、根据分配结果,启用初始化后的各个CPU核执行对待加载数据的加载。
其中,上述操作230和操作240,是对“启用初始化后的各个CPU核,进行数据加载”操作的进一步优化。
在本实施例中,在终端开机过程中,在终端进入运行操作***进程模型的开机阶段后,可以先将该开机阶段所需的待加载数据的加载任务,划分为多个子加载任务,进而将这些子加载任务对应分配给初始化后的多个CPU核,指示CPU核执行对应的子加载任务。其中,对子加载任务的划分方式和分配方式可以是预先设定的一种划分方式和分配方式,本实施例对此不作具体限定。
示例性的,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核,包括:
根据该开机阶段所需的待加载数据的种类,和/或初始化后的至少两个CPU核的数量,对待加载数据的加载任务进行子加载任务的划分;
将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
例如,可以根据初始化后的至少两个CPU核的数量,来划分和分配子加载任务。举例而言,以随机的方式将待加载数据的加载任务划分为L个子加载任务,其中L为初始化后的至少两个CPU核的数量。之后,可以逐一将各子加载任务分别分配给不同的CPU核。此分配方式使得各个子加载任务与各个CPU核之间具有一对一关系。
再例如,可以按照加载任务中所要加载数据的种类,来划分和分配子加载任务。举例而言,共初始化了3个CPU核,该开机阶段所需的待加载数据为如下4个文件:第一文件、第二文件、第三文件和第四文件的数据。其中,所述4个文件中的数据分别属于不同种类型。其中的一种子加载任务的划分及其分配方式,可以是:将属于第一种类型的第一文件的数据的加载任务,作为一个子加载任务,分配给其中的一个CPU核;将属于第二种类型的第二文件的数据的加载任务,作为一个子加载任务,分配给其中的另一个CPU核;将属于第三种类型的第三文件的数据的加载任务,作为一个子加载任务,分配给剩余的一个CPU核;将属于第四种类型的第四文件的数据的加载任务,作为一个子加载任务,随机分配给其中的任意一个CPU核,或者,分配给其中加载负担最小的一个CPU核。
当然,如果可以预知待加载数据的容量大小,则还可以结合该容量大小,开机阶段所需的待加载数据的种类,以及初始化后的至少两个CPU核的数量,进行子加载任务的划分。优选的,在本实施例中,对子加载任务的分配原则为:尽量使得所启用的各个CPU核要加载的数据的容量趋于均衡。
实施例三
图3为本发明实施例三提供的一种在开机过程中快速加载数据的方法的流程示意图。本实施例可以以上述所有实施例为基础,提供一种优选实例。该方法可以由在开机过程中快速加载数据的装置来执行,所述装置由软件实现,被内置安装有安卓(Android)操作***的终端上。
在本实施例中,在终端运行操作***进程模型的开机阶段,待加载数据包括如下三种数据:类(Classes)、资源(Resources)和图形程序接口OpenGL。将“按照该开机阶段所需的待加载数据的种类,对待加载数据的加载任务进行子加载任务的划分”的操作,优化为:将待加载数据中类的加载任务,划分为N个子加载任务,其述N+2等于初始化后的至少两个CPU核的数量;将待加载数据中资源的加载任务,作为一个子加载任务;将待加载数据中OpenGL的加载任务,作为一个子加载任务;将“将得到的各个子加载任务,分配给初始化后的至少两个CPU核”的操作,优化为:建立得到的各个子加载任务与初始化后的至少两个CPU核中的各个CPU核之间的一对一关系;按照所述一对一关系,将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
参见图3,本实施例提供的在开机过程中快速加载数据的方法具体包括如下操作:
操作310、在终端进入运行操作***内核的开机阶段后,获取终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1。
操作320、根据所述数量,确定待启用的终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化。
操作330、在终端运行操作***进程模型的开机阶段,将该开机阶段所需的待加载数据中类的加载任务,划分为N个子加载任务,其中所述N+2等于初始化后的至少两个CPU核的数量。
操作340、将待加载数据中资源的加载任务,作为一个子加载任务。
操作350、将待加载数据中OpenGL的加载任务,作为一个子加载任务。
操作360、建立得到的各个子加载任务与初始化后的至少两个CPU核中的各个CPU核之间的一对一关系。
举例而言,共初始化了5个CPU核,终端运行操作***进程模型的开机阶段所需的待加载数据,共包含12个类、资源和OpenGL,则可建立如下表1所示的一对一关系:
表1
划分得到的各个子加载任务 | 初始化后的各CPU核 |
子加载任务1 | 第一个CPU核 |
子加载任务2 | 第二个CPU核 |
子加载任务3 | 第三个CPU核 |
子加载任务4 | 第四个CPU核 |
子加载任务5 | 第五个CPU核 |
其中,第一个CPU核执行子加载任务1,以完成对待加载数据中资源的加载;第二个CPU核执行子加载任务2,以完成对待加载数据中OpenGL的加载;第三个CPU核执行子加载任务3,以完成对待加载数据中第1至4个类的加载;第四个CPU核执行子加载任务4,以完成对待加载数据中第5至8个类的加载;第五个CPU核执行子加载任务5,以完成对待加载数据中第9至12个类的加载。
操作370、按照所述一对一关系,将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
操作380、根据分配结果,启用初始化后的各个CPU核执行对待加载数据的加载。
优选的,针对每个CPU核,还可以采用多线程模式进行数据加载。运用本实施例提供的技术方案,可以在不同手机开机过程中快速加载类、资源和数据库,大幅度提升终端的开机速度。
实施例四
图4是本发明实施例四提供的一种在开机过程中快速加载数据的装置的结构示意图。参见图4,该装置的具体结构如下:
CPU核数量获取模块41,用于在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;
CPU核确定和初始化模块42,用于根据所述CPU核数量获取模块41得到的数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
数据加载模块43,用于启用初始化后的各个CPU核,进行数据加载。
示例性的,所述数据加载模块43,包括:
加载任务分配单元431,用于在终端运行操作***进程模型的开机阶段,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核;
加载执行单元432,用于根据所述加载任务分配单元431得到的分配结果,启用初始化后的各个CPU核执行对所述待加载数据的加载。
示例性的,所述加载任务分配单元431,包括:
划分子单元4311,用于在终端运行操作***进程模型的开机阶段,根据该开机阶段所需的待加载数据的种类,和/或初始化后的至少两个CPU核的数量,对所述待加载数据的加载任务进行子加载任务的划分;
分配子单元4312,用于将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
示例性的,所述待加载数据包括如下三种数据:类、资源和图形程序接口OpenGL;
所述划分子单元4311,具体用于:
将所述待加载数据中类的加载任务,划分为N个子加载任务,其中所述N+2等于初始化后的至少两个CPU核的数量;
将所述待加载数据中资源的加载任务,作为一个子加载任务;
将所述待加载数据中OpenGL的加载任务,作为一个子加载任务;
所述分配子单元4312,具体用于:
建立得到的各个子加载任务与初始化后的至少两个CPU核中的各个CPU核之间的一对一关系;
按照所述一对一关系,将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
在上述技术方案的基础上,本实施例提供的装置还包括:
CPU核数量传递模块40,用于在所述终端运行引导加载程序的开机阶段,获取根据所述终端上的处理芯片中CPU核的功耗情况,所确定的能够同时启动的CPU核的数量,并将所述数量传递给所述操作***内核。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种在开机过程中快速加载数据的方法,其特征在于,包括:
在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;
根据所述数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
启用初始化后的各个CPU核,进行数据加载。
2.根据权利要求1所述的方法,其特征在于,启用初始化后的各个CPU核,进行数据加载,包括:
在终端运行操作***进程模型的开机阶段,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核;
根据分配结果,启用初始化后的各个CPU核执行对所述待加载数据的加载。
3.根据权利要求2所述的方法,其特征在于,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核,包括:
根据该开机阶段所需的待加载数据的种类,和/或初始化后的至少两个CPU核的数量,对所述待加载数据的加载任务进行子加载任务的划分;
将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
4.根据权利要求3所述的方法,其特征在于,所述待加载数据包括如下三种数据:类、资源和图形程序接口OpenGL;
根据该开机阶段所需的待加载数据的种类,和/或初始化后的至少两个CPU核的数量,对所述待加载数据的加载任务进行子加载任务的划分,包括:
将所述待加载数据中类的加载任务,划分为N个子加载任务,其中所述N+2等于初始化后的至少两个CPU核的数量;
将所述待加载数据中资源的加载任务,作为一个子加载任务;
将所述待加载数据中OpenGL的加载任务,作为一个子加载任务;
将得到的各个子加载任务,分配给初始化后的至少两个CPU核,包括:
建立得到的各个子加载任务与初始化后的至少两个CPU核中的各个CPU核之间的一对一关系;
按照所述一对一关系,将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量之前,还包括:
在所述终端运行引导加载程序的开机阶段,获取根据所述终端上的处理芯片中CPU核的功耗情况,所确定的能够同时启动的CPU核的数量,并将所述数量传递给所述操作***内核。
6.一种在开机过程中快速加载数据的装置,其特征在于,包括:
CPU核数量获取模块,用于在终端进入运行操作***内核的开机阶段后,获取所述终端上的处理芯片中能够同时启动的CPU核的数量,其中所述数量大于1;
CPU核确定和初始化模块,用于根据所述CPU核数量获取模块得到的数量,确定待启用的所述终端上处理芯片中的至少两个CPU核,并对所述至少两个CPU核进行初始化;
数据加载模块,用于启用初始化后的各个CPU核,进行数据加载。
7.根据权利要求6所述的装置,其特征在于,所述数据加载模块,包括:
加载任务分配单元,用于在终端运行操作***进程模型的开机阶段,将该开机阶段所需的待加载数据的加载任务,分配给初始化后的至少两个CPU核;
加载执行单元,用于根据所述加载任务分配单元得到的分配结果,启用初始化后的各个CPU核执行对所述待加载数据的加载。
8.根据权利要求7所述的装置,其特征在于,所述加载任务分配单元,包括:
划分子单元,用于在终端运行操作***进程模型的开机阶段,根据该开机阶段所需的待加载数据的种类,和/或初始化后的至少两个CPU核的数量,对所述待加载数据的加载任务进行子加载任务的划分;
分配子单元,用于将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
9.根据权利要求8所述的装置,其特征在于,所述待加载数据包括如下三种数据:类、资源和图形程序接口OpenGL;
所述划分子单元,具体用于:
将所述待加载数据中类的加载任务,划分为N个子加载任务,其中所述N+2等于初始化后的至少两个CPU核的数量;
将所述待加载数据中资源的加载任务,作为一个子加载任务;
将所述待加载数据中OpenGL的加载任务,作为一个子加载任务;
所述分配子单元,具体用于:
建立得到的各个子加载任务与初始化后的至少两个CPU核中的各个CPU核之间的一对一关系;
按照所述一对一关系,将得到的各个子加载任务,分配给初始化后的至少两个CPU核。
10.根据权利要求6-9中任一项所述的装置,其特征在于,还包括:
CPU核数量传递模块,用于在所述终端运行引导加载程序的开机阶段,获取根据所述终端上的处理芯片中CPU核的功耗情况,所确定的能够同时启动的CPU核的数量,并将所述数量传递给所述操作***内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510098550.6A CN104731614B (zh) | 2015-03-05 | 2015-03-05 | 一种在开机过程中快速加载数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510098550.6A CN104731614B (zh) | 2015-03-05 | 2015-03-05 | 一种在开机过程中快速加载数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731614A true CN104731614A (zh) | 2015-06-24 |
CN104731614B CN104731614B (zh) | 2018-03-23 |
Family
ID=53455532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510098550.6A Expired - Fee Related CN104731614B (zh) | 2015-03-05 | 2015-03-05 | 一种在开机过程中快速加载数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731614B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126241A (zh) * | 2016-06-29 | 2016-11-16 | 上海友衷科技有限公司 | 一种Linux***启动方法及*** |
CN106354535A (zh) * | 2016-08-31 | 2017-01-25 | 福建联迪商用设备有限公司 | 一种提高支付终端启动速度的方法及装置 |
CN110557682A (zh) * | 2019-09-26 | 2019-12-10 | 四川长虹电器股份有限公司 | 基于双核启动的智能电视快速开机方法及双核智能电视 |
CN112764822A (zh) * | 2021-02-07 | 2021-05-07 | 中国第一汽车股份有限公司 | 操作***启动方法、装置、设备及介质 |
CN112860352A (zh) * | 2021-03-17 | 2021-05-28 | 惠州Tcl移动通信有限公司 | 一种应用程序的加载方法、装置、存储介质及终端 |
CN115794243A (zh) * | 2023-02-09 | 2023-03-14 | 无锡昆态科技有限公司 | 一种触摸屏在线显示启动***、方法和显示*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228971A1 (en) * | 2007-03-13 | 2008-09-18 | Rothman Michael A | Device modeling in a multi-core environment |
CN102012832A (zh) * | 2010-12-14 | 2011-04-13 | Tcl集团股份有限公司 | 一种加速Android***启动的方法及装置 |
CN102043648A (zh) * | 2009-10-23 | 2011-05-04 | 中兴通讯股份有限公司 | 多核***及其启动方法 |
CN102955549A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种多核cpu的电源管理方法、***及cpu |
CN103473095A (zh) * | 2013-09-10 | 2013-12-25 | 江苏中科梦兰电子科技有限公司 | Cpu二级缓存的加速初始化方法 |
CN103677192A (zh) * | 2012-09-12 | 2014-03-26 | 宏达国际电子股份有限公司 | 具有电源管理机制的电子装置及其电源管理方法 |
-
2015
- 2015-03-05 CN CN201510098550.6A patent/CN104731614B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080228971A1 (en) * | 2007-03-13 | 2008-09-18 | Rothman Michael A | Device modeling in a multi-core environment |
CN102043648A (zh) * | 2009-10-23 | 2011-05-04 | 中兴通讯股份有限公司 | 多核***及其启动方法 |
CN102012832A (zh) * | 2010-12-14 | 2011-04-13 | Tcl集团股份有限公司 | 一种加速Android***启动的方法及装置 |
CN102955549A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种多核cpu的电源管理方法、***及cpu |
CN103677192A (zh) * | 2012-09-12 | 2014-03-26 | 宏达国际电子股份有限公司 | 具有电源管理机制的电子装置及其电源管理方法 |
CN103473095A (zh) * | 2013-09-10 | 2013-12-25 | 江苏中科梦兰电子科技有限公司 | Cpu二级缓存的加速初始化方法 |
Non-Patent Citations (2)
Title |
---|
CHRISTOPHER HALLINAN: "《嵌入式LINUX基础教程》", 30 November 2009 * |
匿名: "android启动速度优化", 《CSDN网站》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126241A (zh) * | 2016-06-29 | 2016-11-16 | 上海友衷科技有限公司 | 一种Linux***启动方法及*** |
CN106354535A (zh) * | 2016-08-31 | 2017-01-25 | 福建联迪商用设备有限公司 | 一种提高支付终端启动速度的方法及装置 |
WO2018040970A1 (zh) * | 2016-08-31 | 2018-03-08 | 福建联迪商用设备有限公司 | 一种提高支付终端启动速度的方法及装置 |
CN110557682A (zh) * | 2019-09-26 | 2019-12-10 | 四川长虹电器股份有限公司 | 基于双核启动的智能电视快速开机方法及双核智能电视 |
CN112764822A (zh) * | 2021-02-07 | 2021-05-07 | 中国第一汽车股份有限公司 | 操作***启动方法、装置、设备及介质 |
CN112860352A (zh) * | 2021-03-17 | 2021-05-28 | 惠州Tcl移动通信有限公司 | 一种应用程序的加载方法、装置、存储介质及终端 |
CN115794243A (zh) * | 2023-02-09 | 2023-03-14 | 无锡昆态科技有限公司 | 一种触摸屏在线显示启动***、方法和显示*** |
Also Published As
Publication number | Publication date |
---|---|
CN104731614B (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731614A (zh) | 一种在开机过程中快速加载数据的方法及装置 | |
CN107436762B (zh) | 一种寄存器代码文件生成方法、装置和电子设备 | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN111880807A (zh) | 深度学习编译方法、装置、设备及存储介质 | |
CN104732151A (zh) | 一种Linux***下远程安全批量更新BIOS的方法 | |
Kan et al. | Accelerating the SCE‐UA Global Optimization Method Based on Multi‐Core CPU and Many‐Core GPU | |
CN1313957C (zh) | 使用综合用于有效数据加载和下载的基于分组的协议的逻辑的硬件辅助的设计验证*** | |
CN113157379A (zh) | 集群节点资源调度方法及装置 | |
US20110218795A1 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
CN106295670A (zh) | 数据处理方法及数据处理装置 | |
Marszałkowski et al. | Time and energy performance of parallel systems with hierarchical memory | |
CN116954873A (zh) | 异构计算***及其算力节点选择方法、装置、设备、介质 | |
CN108427584A (zh) | 快速启动的具有并行计算核的芯片及该芯片的配置方法 | |
CN110955380A (zh) | 访存数据生成方法、存储介质、计算机设备和装置 | |
WO2015183268A1 (en) | Voltage selectors coupled to processor cores | |
CN103678545A (zh) | 进行网络资源聚类的方法及装置 | |
CN103049325A (zh) | 基于tc1767平台的csa节点管理器的实现方法 | |
WO2018228528A1 (zh) | 一种批量化电路仿真方法和*** | |
CN111475998A (zh) | 延迟获取远程资源的电子设计自动化(eda)过程的混合执行 | |
CN107808031B (zh) | 一种基于fpga的可重构计算***实现方法 | |
CN109710314A (zh) | 一种基于图结构分布式并行模式构建图的方法 | |
US8997123B2 (en) | Runtime modification of property names in advanced configuration and power interface (ACPI) tables | |
Foucher et al. | Online codesign on reconfigurable platform for parallel computing | |
CN103309746A (zh) | 调研环境的搭建方法及装置 | |
KR102457154B1 (ko) | 가속기에서 실행되는 프로그램에 대한 중간표현을 생성하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180323 |
|
CF01 | Termination of patent right due to non-payment of annual fee |