电子设备的控制方法、控制装置及电子设备的制作方法

文档序号:6639082阅读:115来源:国知局
电子设备的控制方法、控制装置及电子设备的制作方法
【专利摘要】本发明公开了电子设备的控制方法,在接收到开机指令后,启动安卓操作系统的内核,在内核完成启动之后,利用硬盘中保存的内存镜像恢复系统,完成安卓操作系统的启动。由于开机过程中只需要对安卓操作系统的内核和驱动进行初始化,其他重要进程均从硬盘中直接映射到内存中,而硬盘读取映射所耗费的时间要远小于进程初始化所耗费的时间,因此,基于本发明公开的控制方法,能够缩短安卓操作系统的启动时间,从而加快电子设备的启动速度。另外,本发明公开的控制方法中,是在完成系统驱动初始化之后,才利用硬盘中的内存镜像恢复系统,因此在缩短安卓操作系统启动时间的同时,又不会对系统的稳定性造成影响。本发明还公开了电子设备及其控制装置。
【专利说明】电子设备的控制方法、控制装置及电子设备

【技术领域】
[0001]本发明属于安卓【技术领域】,尤其涉及电子设备的控制方法、控制装置及电子设备。

【背景技术】
[0002]随着科技的发展,安卓(Android)操作系统在电子设备上的应用日趋广泛。作为目前最流行的移动设备操作系统之一,安卓操作系统的开机速度一直困扰各大厂商。尤其是现在不仅手机、平板电脑和智能电视采用安卓操作系统,智能手表、智能眼镜等智能穿戴式设备也采用安卓操作系统,用户对这类电子设备的开机速度要求更高。
[0003]如何提高采用安卓操作系统的电子设备的开机速度,是本领域技术人员亟待解决的问题。


【发明内容】

[0004]有鉴于此,本发明的目的在于提供电子设备的控制方法和控制装置,以提高电子设备的开机速度。本发明同时提供相应的电子设备。
[0005]为实现上述目的,本发明提供如下技术方案:
[0006]本发明公开一种电子设备的控制方法,所述电子设备采用安卓操作系统,所述控制方法包括:
[0007]在接收到开机指令后,启动安卓操作系统的内核;
[0008]在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像,所述内存镜像在关机过程中创建;
[0009]在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务;
[0010]在完成系统驱动初始化之后,利用所述硬盘中的内存镜像恢复系统,完成安卓操作系统的启动。
[0011]优选的,上述控制方法还包括:在接收到关机指令后,触发挂起到硬盘(STD)关机命令,在电子设备的硬盘中创建内存镜像。
[0012]优选的,上述控制方法中,所述在电子设备的硬盘中创建内存镜像,包括:通过内存页面磁盘置换回收冗余内存;在电子设备的硬盘中创建当前内存的内存镜像。
[0013]优选的,上述控制方法中,在检测电子设备的硬盘中是否存在内存镜像之后,还包括:在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。
[0014]本发明还公开一种电子设备的控制装置,所述电子设备采用安卓操作系统,所述控制装置包括:
[0015]启动单元,用于在接收到开机指令后启动安卓操作系统的内核;
[0016]检测单元,用于在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像,所述内存镜像在关机过程中创建;
[0017]第一处理单元,用于在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务;
[0018]恢复单元,用于在完成系统驱动初始化之后,利用所述硬盘中的内存镜像恢复系统,完成安卓操作系统的启动;
[0019]内存镜像创建单元,用于在接收到关机指令后,触发STD关机命令,在电子设备的硬盘中创建内存镜像。
[0020]优选的,上述控制装置中,所述内存镜像创建单元包括:冗余内存回收模块,用于通过内存页面磁盘置换回收冗余内存;内存镜像创建模块,用于在所述冗余内存回收模块回收冗余内存之后,在电子设备的硬盘中创建当前内存的内存镜像。
[0021]优选的,上述控制装置还包括:第二处理单元,用于在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。
[0022]本发明还公开一种电子设备,所述电子设备采用安卓操作系统,并且所述电子设备包括上述任意一种控制装置。
[0023]由此可见,本发明的有益效果为:
[0024]本发明公开的电子设备的控制方法,在接收到开机指令后,启动安卓操作系统的内核,在内核完成启动之后,利用硬盘中保存的内存镜像恢复系统,完成安卓操作系统的启动。由于开机过程中只需要对安卓操作系统的内核和驱动进行初始化,其他重要进程(如安卓操作系统的核心进程zygote)均从硬盘中直接映射到内存中,而硬盘读取映射所耗费的时间要远小于进程初始化所耗费的时间,因此,基于本发明公开的控制方法,能够缩短安卓操作系统的启动时间,从而加快电子设备的开机速度。另外,本发明公开的控制方法中,是在完成系统驱动初始化之后,才利用硬盘中的内存镜像恢复系统,因此可以避免出现内存错位的风险,在缩短安卓操作系统启动时间的同时,又不会对系统的稳定性造成影响。

【专利附图】

【附图说明】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026]图1为本发明公开的一种电子设备的控制方法的流程图;
[0027]图2为本发明公开的另一种电子设备的控制方法的流程图;
[0028]图3为本发明公开的一种电子设备的控制装置的结构示意图;
[0029]图4为本发明公开的另一种电子设备的控制装置的结构示意图;
[0030]图5为本发明公开的另一种电子设备的控制装置的结构示意图。

【具体实施方式】
[0031]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 申请人:通过分析安卓操作系统的启动过程发现:传统的安卓操作系统启动过程中,每次系统启动都要对内核、驱动,系统虚拟机、系统的各种服务等进程进行初始化,初始化的时间非常长。并且,安卓操作系统的启动时间大部分浪费在应用层,安卓操作系统的内核以及其底层所耗费的时间相对较短,因此,如何缩短安卓操作系统中应用层的启动时间,是缩短安卓操作系统的启动时间的关键。
[0033]本发明公开一种电子设备的控制方法,该电子设备采用安卓操作系统,可以为手机、平板电脑、智能电视,也可以为穿戴式设备,如智能手表和智能眼镜。基于本发明公开的控制方法,能够提高电子设备的开机速度,从而提高用户体验。
[0034]参见图1,图1为本发明公开的一种电子设备的控制方法的流程图。该控制方法包括:
[0035]步骤S11:在接收到开机指令后,启动安卓操作系统的内核。
[0036]在用户通过按下电源键或者其他控制方式执行开机操作之后,安卓操作系统的内核(linux kernel)开始启动。
[0037]步骤S12:在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像。
[0038]其中,init是安卓操作系统的内核进入文件系统后第一个运行的程序。这里需要说明的是,如果采用普通方式关闭电子设备,则不会在硬盘中创建内存镜像,本发明对关机过程进行改进,关机过程中在硬盘创建内存镜像。
[0039]步骤S13:在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务。
[0040]本发明中,对现有的标准启动脚本进行裁剪,去除安卓操作系统启动过程中不必要的进程及服务,形成缩减版启动脚本。通过运行缩减版启动脚本,仅启动预设进程及服务,这些被启动的进程及服务是保证安卓操作系统能够运行的最少进程及服务。
[0041]步骤S14:在完成系统驱动初始化之后,利用硬盘中的内存镜像恢复系统,完成安卓操作系统的启动。
[0042]利用内存镜像恢复系统的过程,与现有的电子设备从STD (suspend to disk,挂起到硬盘)状态被唤醒的过程相同。另外,利用内存镜像恢复系统的时间点选在系统驱动初始化完成之后,这样可以避免出现内存错位的风险。
[0043]本发明公开的电子设备的控制方法,在接收到开机指令后,启动安卓操作系统的内核,在内核完成启动之后,利用硬盘中保存的内存镜像恢复系统,完成安卓操作系统的启动。由于开机过程中只需要对安卓操作系统的内核和驱动进行初始化,其他重要进程(如安卓操作系统的核心进程zygote)均从硬盘中直接映射到内存中,而硬盘读取映射所耗费的时间要远小于进程初始化所耗费的时间,因此,基于本发明公开的控制方法,能够缩短安卓操作系统的启动时间,从而加快电子设备的开机速度。另外,本发明公开的控制方法中,是在完成系统驱动初始化之后,才利用硬盘中的内存镜像恢复系统,因此可以避免出现内存错位的风险,在缩短安卓操作系统启动时间的同时,又不会对系统的稳定性造成影响。
[0044]本发明上述着重对电子设备的开机过程进行说明,本发明同时也对电子设备的关机过程进行改进,以便在电子设备的硬盘中创建内存镜像。
[0045]具体的:
[0046]在接收到关机指令后,触发STD关机命令,在电子设备的硬盘中创建内存镜像。
[0047]这里需要说明的是,在采用安卓操作系统的电子设备中,传统的关机动作如下:安卓操作系统上层调用native Shutdown函数关闭电源。本发明中的关机动作是采用STD关机命令触发:
[0048]echo di sk>/sys/power/state//触发关机命令
[0049]另外,在电子设备的硬盘中创建内存镜像,可以是针对关机时刻的内存创建内存镜像,也就是在触发STD关机命令之后,将当前内存中的数据全部镜像到硬盘。
[0050]但是,在电子设备运行过程中,电子设备的内存中除了包含安卓操作系统正在使用的数据,还包含其他冗余的数据,例如缓存的数据,这些数据对于安卓操作系统的启动过程而言是冗余数据。另外,在安卓操作系统启动过程中,非核心进程也是冗余数据。如果不加分辨的将内存的数据全部镜像到硬盘,一方面会延长关机时间,另一方面也会对缩短电子设备的开机时间造成不利影响。
[0051]为了进一步缩短电子设备的关机时间和开机时间,本发明对在电子设备的硬盘中创建内存镜像进行改进。
[0052]具体的:
[0053]首先,通过内存页面磁盘置换回收冗余内存;
[0054]之后,在电子设备的硬盘中创建当前内存的内存镜像。
[0055]实施中,先诱发安卓操作系统的内核发生一次内存溢出(Out Of Memory killer,00M killer),具体的:在安卓操作系统中主动申请大块内存(申请的内存空间超过系统剩余的内存空间),从而使得内核关闭一些非核心进程,强制释放非核心进程占用的内存,这样从闲置内存页就可以置换到存储设备上,生成的内存镜像就会减小。
[0056]基于上述方式,在接收关机指令、触发STD关机命令之后,首先回收冗余内存,也就是释放内存中对安卓操作系统的启动过程无效的数据,例如释放非核心进程占用的内存空间和缓存数据占用的内存空间,之后再针对进行冗余回收之后的内存进行镜像处理,在硬盘创建内存镜像。由于创建内存镜像过程中,不需要针对冗余内存进行镜像处理,因此减小了需要镜像的数据量,从而缩短了关机时间,另外,在利用内存镜像恢复系统的过程中,由于需要映射到内存的数据量较小,因此缩短了安卓操作系统的启动时间。
[0057]另外需要说明的是,在执行步骤S12检测电子设备的硬盘中是否存在内存镜像之后,还包括:在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。在这种情况下,用户既可以采用传统方式进行关机,相应的,电子设备以传统方式开机,用户也可以通过触发STD关机命令进行关机,相应的,电子设备能够快速开机。
[0058]为了更清楚的说明本发明保护的控制方法,下面结合图2进行更为详细的说明。包括:
[0059]步骤S21:接收到关机指令后,触发STD关机命令,在硬盘中创建内存镜像。
[0060]步骤S22:接收到开机指令后,启动安卓操作系统的内核。
[0061]步骤S23:在安卓操作系统的内核完成启动之后,启动init进程,检测硬盘中是否存在内存镜像,根据检测结果执行步骤S24或者步骤S26。
[0062]步骤S24:当硬盘中存在内存镜像时,读取并运行缩减版启动脚本,以启动预设进程及服务,执行步骤S25。
[0063]步骤S25:在完成系统驱动初始化之后,利用硬盘中的内存镜像恢复系统,完成安卓操作系统的启动。
[0064]步骤S26:在电子设备的硬盘中不存在内存镜像时,读取并运行标准启动脚本,以完成安卓操作系统的启动。
[0065]本发明上述公开了电子设备的控制方法,相应的,本发明还公开电子设备的控制装置,以实现该控制方法。
[0066]参见图3,图3为本发明公开的一种电子设备的控制装置的结构示意图。该控制装置包括启动单元10、检测单元20、第一处理单元30、恢复单元40和内存镜像创建单元50。
[0067]其中:
[0068]启动单元10,用于在接收到开机指令后启动安卓操作系统的内核。
[0069]在用户通过按下电源键或者其他控制方式执行开机操作之后,安卓操作系统的内核(linux kernel)开始启动。
[0070]检测单元20,用于在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像。
[0071]其中,init是安卓操作系统的内核进入文件系统后第一个运行的程序。这里需要说明的是,如果采用普通方式关闭电子设备,则不会在硬盘中创建内存镜像,本发明对关机过程进行改进,关机过程中在硬盘创建内存镜像。
[0072]第一处理单元30,用于在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务。
[0073]本发明中,对现有的标准启动脚本进行裁剪,去除安卓操作系统启动过程中不必要的进程及服务,形成缩减版启动脚本。通过运行缩减版启动脚本,仅启动预设进程及服务,这些被启动的进程及服务是保证安卓操作系统能够运行的最少进程及服务。
[0074]恢复单元40,用于在完成系统驱动初始化之后,利用硬盘中的内存镜像恢复系统,完成安卓操作系统的启动。
[0075]恢复单元40利用内存镜像恢复系统的过程,与现有的电子设备从STD状态被唤醒的过程相同。另外,恢复单元40利用内存镜像恢复系统的时间点选在系统驱动初始化完成之后,这样可以避免出现内存错位的风险。
[0076]内存镜像创建单元50,用于在接收到关机指令后,触发STD关机命令,在电子设备的硬盘中创建内存镜像。
[0077]传统的关机动作如下:安卓操作系统上层调用native Shutdown函数关闭电源。本发明中的关机动作是采用STD关机命令触发:
[0078]echo di sk>/sys/power/state//触发关机命令
[0079]本发明公开的电子设备的控制装置,在接收到关机指令后,触发STD关机命令,在电子设备的硬盘中创建内存镜像;在接收到开机指令后,启动安卓操作系统的内核,在内核完成启动之后,利用硬盘中保存的内存镜像恢复系统,完成安卓操作系统的启动。由于开机过程中只需要对安卓操作系统的内核和驱动进行初始化,其他重要进程(如安卓操作系统的核心进程zygote)均从硬盘中直接映射到内存中,而硬盘读取映射所耗费的时间要远小于进程初始化所耗费的时间,因此,基于本发明公开的控制装置,能够缩短安卓操作系统的启动时间,从而加快电子设备的开机速度。另外,本发明公开的控制装置,是在完成系统驱动初始化之后,才利用硬盘中的内存镜像恢复系统,因此可以避免出现内存错位的风险,在缩短安卓操作系统启动时间的同时,又不会对系统的稳定性造成影响。
[0080]实施中,内存镜像创建单元50在电子设备的硬盘中创建内存镜像,可以是针对关机时刻的内存创建内存镜像,也就是在触发STD关机命令之后,将当前内存中的数据全部镜像到硬盘。
[0081]但是,在电子设备运行过程中,电子设备的内存中除了包含安卓操作系统正在使用的数据,还包含其他冗余的数据,例如缓存的数据,这些数据对于安卓操作系统的启动过程而言是冗余数据。另外,在安卓操作系统启动过程中,非核心进程也是冗余数据。如果不加分辨的将内存的数据全部镜像到硬盘,一方面会延长关机时间,另一方面也会对缩短电子设备的开机时间造成不利影响。
[0082]为了进一步缩短电子设备的关机时间和开机时间,本发明对内存镜像创建单元50进行改进,请参见图4所示控制装置的结构示意图。其中,内存镜像创建单元50包括冗余内存回收模块51和内存镜像创建模块52。
[0083]冗余内存回收模块51,用于通过内存页面磁盘置换回收冗余内存。内存镜像创建模块52,用于在冗余内存回收模块回收冗余内存之后,在电子设备的硬盘中创建当前内存的内存镜像。
[0084]本发明图4所示的控制装置,在接收关机指令、触发STD关机命令之后,首先回收冗余内存,也就是释放内存中对安卓操作系统的启动过程无效的数据,例如释放非核心进程占用的内存空间和缓存数据占用的内存空间,之后再针对进行冗余回收之后的内存进行镜像处理,在硬盘创建内存镜像。由于创建内存镜像过程中,不需要针对冗余内存进行镜像处理,因此减小了需要镜像的数据量,从而缩短了关机时间,另外,在利用内存镜像恢复系统的过程中,由于需要映射到内存的数据量较小,因此缩短了安卓操作系统的启动时间。
[0085]参见图5,图5为本发明公开的另一种电子设备的控制装置的结构示意图。该控制装置包括启动单元10、检测单元20、第一处理单元30、恢复单元40、内存镜像创建单元50和第二处理单元60。
[0086]与图3所示控制装置相比,图5所示控制装置进一步设置第二处理单元60。该第二处理单元60与检测单元20连接,用于在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。当然,图5所示控制装置中的内存镜像创建单元50可以采用图4中所示的结构。
[0087]基于图5所示的电子设备的控制装置,用户既可以采用传统方式进行关机,相应的,电子设备以传统方式开机,用户也可以通过触发STD关机命令进行关机,相应的,电子设备能够快速开机。
[0088]本发明还公开一种电子设备,该电子设备米用安卓操作系统,并且,该电子设备还包括本发明上述任意一种控制装置。本发明公开的电子设备的开机速度较快。
[0089]另外,本发明公开的电子设备可以为采用安卓操作系统的手机、平板电脑、智能电视、智能眼镜和智能手表。
[0090]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0091]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0092]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种电子设备的控制方法,所述电子设备采用安卓操作系统,其特征在于,所述控制方法包括: 在接收到开机指令后,启动安卓操作系统的内核; 在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像,所述内存镜像在关机过程中创建; 在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务; 在完成系统驱动初始化之后,利用所述硬盘中的内存镜像恢复系统,完成安卓操作系统的启动。
2.根据权利要求1所述的控制方法,其特征在于,还包括: 在接收到关机指令后,触发挂起到硬盘STD关机命令,在电子设备的硬盘中创建内存镜像。
3.根据权利要求2所述的控制方法,其特征在于,所述在电子设备的硬盘中创建内存镜像,包括: 通过内存页面磁盘置换回收冗余内存; 在电子设备的硬盘中创建当前内存的内存镜像。
4.根据权利要求1所述的控制方法,其特征在于,在检测电子设备的硬盘中是否存在内存镜像之后,还包括: 在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。
5.一种电子设备的控制装置,所述电子设备采用安卓操作系统,其特征在于,所述控制装置包括: 启动单元,用于在接收到开机指令后启动安卓操作系统的内核; 检测单元,用于在安卓操作系统的内核完成启动之后,启动init进程,检测电子设备的硬盘中是否存在内存镜像,所述内存镜像在关机过程中创建; 第一处理单元,用于在电子设备的硬盘中存在内存镜像的情况下,读取并运行缩减版启动脚本,以启动预设进程及服务; 恢复单元,用于在完成系统驱动初始化之后,利用所述硬盘中的内存镜像恢复系统,完成安卓操作系统的启动; 内存镜像创建单元,用于在接收到关机指令后,触发挂起到硬盘STD关机命令,在电子设备的硬盘中创建内存镜像。
6.根据权利要求5所述的控制装置,其特征在于,所述内存镜像创建单元包括: 冗余内存回收模块,用于通过内存页面磁盘置换回收冗余内存; 内存镜像创建模块,用于在所述冗余内存回收模块回收冗余内存之后,在电子设备的硬盘中创建当前内存的内存镜像。
7.根据权利要求6所述的控制装置,其特征在于,还包括: 第二处理单元,用于在电子设备的硬盘中不存在内存镜像的情况下,读取并运行标准启动脚本,以完成安卓操作系统的启动。
8.—种电子设备,所述电子设备采用安卓操作系统,其特征在于,所述电子设备包括如权利要求5至7中任一项所述的控制装置。
【文档编号】G06F11/00GK104461643SQ201410784664
【公开日】2015年3月25日 申请日期:2014年12月16日 优先权日:2014年12月16日
【发明者】王留欣, 赵鸿飞 申请人:中科创达软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1