The present invention provides a method and device for starting terminal equipment system, the method of multiple program module is divided into several task groups, the program module of a program module and other task group has depended on the existence of at least each task group, and between each task group within each program module has no dependence. The above grouping makes the dependency system within the program, each program module is more clear, in the program module according to the actual needs and decrease the need to start, can directly adjust relevant task group according to the dependency of program modules, which enhances the system startup configurable performance and scalability. In this method, the task group according to the dependency of the corresponding program module in order to start, can ensure the normal start of each task group within the program module; the task group of the program modules in parallel system program start, beneficial to shorten the start-up time, improve the efficiency of system resource.
【技术实现步骤摘要】
一种终端设备系统程序的启动方法及装置
本专利技术涉及终端设备
,尤其涉及一种终端设备系统程序的启动方法及装置。
技术介绍
终端设备操作系统的系统程序通常包括硬件抽象层、中间件层以及外围设备管理模块等多个系统层次,每个系统层次又包括多个具有特定功能的程序模块。通常,系统启动需要各个层次的程序模块参与,由于不同的程序模块分别用于实现不同的功能,因此,程序模块之间可能存在依赖关系。例如,在系统启动过程中,某个程序模块需要调用其它程序模块提供的方法,或者访问其它程序模块中的某些数据成员,这样,存在依赖关系的两个程序模块需要按照被依赖程序模块先启动,依赖程序模块后启动的顺序依次启动。通常,系统层次高的程序模块的启动需要依赖系统层次低的程序模块。例如,外围设备管理模块所处的层次高于中间件层和硬件抽象层的系统层次,因此,若启动外围设备管理模块的某些程序模块,则需要预先启动中间件层和硬件抽象层中相应的程序模块。图1所示的是一种常见的系统程序启动示意图。由图1可见,系统程序中包括N个程序模块,各程序模块以单线程方式依次启动。其中,程序模块1和程序模块2之间存在依赖关系(程序模块2依赖程序模块1),因此,需根据相应的依赖关系顺序启动;程序模块3、程序模块4和程序模块5与其他各程序模块之间不存在依赖关系,可按照随机顺序逐个启动。按照图1所示的单线程启动方式,需要在上一程序模块的启动任务完成后再开始新的程序模块的启动任务,显然,这种系统程序的启动方式时间消耗较多,系统资源的使用效率低。另外,在根据实际需求增减需要启动的程序模块时,还要考虑各程序模块之间的依赖关系重新确定程序 ...
【技术保护点】
一种终端设备系统程序的启动方法,其特征在于,所述方法包括:将系统程序内包含的多个程序模块划分为多个任务组,每个所述任务组中包括至少一个程序模块,具有依赖关系的两个程序模块被分配在不同的任务组,每个所述任务组中的部分或全部程序模块与其它任务组中的程序模块具有依赖关系;根据各任务组之间程序模块的依赖关系,确定各个所述任务组的组间启动顺序;按照所述任务组内各程序模块并行启动,各任务组之间根据所述组间启动顺序依次启动的方式启动系统程序。
【技术特征摘要】
1.一种终端设备系统程序的启动方法,其特征在于,所述方法包括:将系统程序内包含的多个程序模块划分为多个任务组,每个所述任务组中包括至少一个程序模块,具有依赖关系的两个程序模块被分配在不同的任务组,每个所述任务组中的部分或全部程序模块与其它任务组中的程序模块具有依赖关系;根据各任务组之间程序模块的依赖关系,确定各个所述任务组的组间启动顺序;按照所述任务组内各程序模块并行启动,各任务组之间根据所述组间启动顺序依次启动的方式启动系统程序。2.根据权利要求1所述的方法,其特征在于,将系统程序内包含的多个程序模块划分为多个任务组包括:确定系统程序内包含的所述多个程序模块的系统层次;确定属于同一系统层次的各个程序模块之间的依赖关系;将属于同一系统层次的各个程序模块划分为至少一个任务组,其中,属于同一系统层次的具有依赖关系的程序模块被分配在相应系统层次的不同任务组中。3.根据权利要求2所述的方法,其特征在于,确定属于同一系统层次的各个程序模块之间的依赖关系,包括:在同一系统层次内,确定各个程序模块之间所具有的各个依赖关系的依赖级数,其中,所述依赖级数至少为两级,每一级至少对应一个程序模块;将属于同一系统层次的各个程序模块划分为至少一个任务组,包括:将所述各个依赖关系中属于同一级别的程序模块划分为一组。4.根据权利要求3所述的方法,其特征在于,将属于同一系统层次的各个程序模块划分为至少一个任务组,还包括:将与所属系统层次内的程序模块均不具有依赖关系的程序模块,随机划分到所属系统层次的任意一个任务组中。5.根据权利要求3所述的方法,其特征在于,根据各任务组之间程序模块的依赖关系,确定各个所述任务组的组间启动顺序包括:根据各个所述任务组的系统层次,确定不同系统层次的所述各个任务组的组间启动顺序;如果同一系统层次内包括多个任务组,则根据同一系统层次内各个任务组中程序模块的依赖级数,确定...
【专利技术属性】
技术研发人员:王新志,臧晓华,
申请(专利权)人:青岛海信电器股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。