電子設(shè)備的控制方法、控制裝置及電子設(shè)備的制作方法
【專利摘要】本發(fā)明公開(kāi)了電子設(shè)備的控制方法,在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核,在內(nèi)核完成啟動(dòng)之后,利用硬盤(pán)中保存的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。由于開(kāi)機(jī)過(guò)程中只需要對(duì)安卓操作系統(tǒng)的內(nèi)核和驅(qū)動(dòng)進(jìn)行初始化,其他重要進(jìn)程均從硬盤(pán)中直接映射到內(nèi)存中,而硬盤(pán)讀取映射所耗費(fèi)的時(shí)間要遠(yuǎn)小于進(jìn)程初始化所耗費(fèi)的時(shí)間,因此,基于本發(fā)明公開(kāi)的控制方法,能夠縮短安卓操作系統(tǒng)的啟動(dòng)時(shí)間,從而加快電子設(shè)備的啟動(dòng)速度。另外,本發(fā)明公開(kāi)的控制方法中,是在完成系統(tǒng)驅(qū)動(dòng)初始化之后,才利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),因此在縮短安卓操作系統(tǒng)啟動(dòng)時(shí)間的同時(shí),又不會(huì)對(duì)系統(tǒng)的穩(wěn)定性造成影響。本發(fā)明還公開(kāi)了電子設(shè)備及其控制裝置。
【專利說(shuō)明】電子設(shè)備的控制方法、控制裝置及電子設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于安卓【技術(shù)領(lǐng)域】,尤其涉及電子設(shè)備的控制方法、控制裝置及電子設(shè)備。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,安卓(Android)操作系統(tǒng)在電子設(shè)備上的應(yīng)用日趨廣泛。作為目前最流行的移動(dòng)設(shè)備操作系統(tǒng)之一,安卓操作系統(tǒng)的開(kāi)機(jī)速度一直困擾各大廠商。尤其是現(xiàn)在不僅手機(jī)、平板電腦和智能電視采用安卓操作系統(tǒng),智能手表、智能眼鏡等智能穿戴式設(shè)備也采用安卓操作系統(tǒng),用戶對(duì)這類(lèi)電子設(shè)備的開(kāi)機(jī)速度要求更高。
[0003]如何提高采用安卓操作系統(tǒng)的電子設(shè)備的開(kāi)機(jī)速度,是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提供電子設(shè)備的控制方法和控制裝置,以提高電子設(shè)備的開(kāi)機(jī)速度。本發(fā)明同時(shí)提供相應(yīng)的電子設(shè)備。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0006]本發(fā)明公開(kāi)一種電子設(shè)備的控制方法,所述電子設(shè)備采用安卓操作系統(tǒng),所述控制方法包括:
[0007]在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核;
[0008]在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像,所述內(nèi)存鏡像在關(guān)機(jī)過(guò)程中創(chuàng)建;
[0009]在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù);
[0010]在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用所述硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。
[0011]優(yōu)選的,上述控制方法還包括:在接收到關(guān)機(jī)指令后,觸發(fā)掛起到硬盤(pán)(STD)關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0012]優(yōu)選的,上述控制方法中,所述在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像,包括:通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存;在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
[0013]優(yōu)選的,上述控制方法中,在檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像之后,還包括:在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。
[0014]本發(fā)明還公開(kāi)一種電子設(shè)備的控制裝置,所述電子設(shè)備采用安卓操作系統(tǒng),所述控制裝置包括:
[0015]啟動(dòng)單元,用于在接收到開(kāi)機(jī)指令后啟動(dòng)安卓操作系統(tǒng)的內(nèi)核;
[0016]檢測(cè)單元,用于在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像,所述內(nèi)存鏡像在關(guān)機(jī)過(guò)程中創(chuàng)建;
[0017]第一處理單元,用于在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù);
[0018]恢復(fù)單元,用于在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用所述硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng);
[0019]內(nèi)存鏡像創(chuàng)建單元,用于在接收到關(guān)機(jī)指令后,觸發(fā)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0020]優(yōu)選的,上述控制裝置中,所述內(nèi)存鏡像創(chuàng)建單元包括:冗余內(nèi)存回收模塊,用于通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存;內(nèi)存鏡像創(chuàng)建模塊,用于在所述冗余內(nèi)存回收模塊回收冗余內(nèi)存之后,在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
[0021]優(yōu)選的,上述控制裝置還包括:第二處理單元,用于在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。
[0022]本發(fā)明還公開(kāi)一種電子設(shè)備,所述電子設(shè)備采用安卓操作系統(tǒng),并且所述電子設(shè)備包括上述任意一種控制裝置。
[0023]由此可見(jiàn),本發(fā)明的有益效果為:
[0024]本發(fā)明公開(kāi)的電子設(shè)備的控制方法,在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核,在內(nèi)核完成啟動(dòng)之后,利用硬盤(pán)中保存的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。由于開(kāi)機(jī)過(guò)程中只需要對(duì)安卓操作系統(tǒng)的內(nèi)核和驅(qū)動(dòng)進(jìn)行初始化,其他重要進(jìn)程(如安卓操作系統(tǒng)的核心進(jìn)程zygote)均從硬盤(pán)中直接映射到內(nèi)存中,而硬盤(pán)讀取映射所耗費(fèi)的時(shí)間要遠(yuǎn)小于進(jìn)程初始化所耗費(fèi)的時(shí)間,因此,基于本發(fā)明公開(kāi)的控制方法,能夠縮短安卓操作系統(tǒng)的啟動(dòng)時(shí)間,從而加快電子設(shè)備的開(kāi)機(jī)速度。另外,本發(fā)明公開(kāi)的控制方法中,是在完成系統(tǒng)驅(qū)動(dòng)初始化之后,才利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),因此可以避免出現(xiàn)內(nèi)存錯(cuò)位的風(fēng)險(xiǎn),在縮短安卓操作系統(tǒng)啟動(dòng)時(shí)間的同時(shí),又不會(huì)對(duì)系統(tǒng)的穩(wěn)定性造成影響。
【專利附圖】
【附圖說(shuō)明】
[0025]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0026]圖1為本發(fā)明公開(kāi)的一種電子設(shè)備的控制方法的流程圖;
[0027]圖2為本發(fā)明公開(kāi)的另一種電子設(shè)備的控制方法的流程圖;
[0028]圖3為本發(fā)明公開(kāi)的一種電子設(shè)備的控制裝置的結(jié)構(gòu)示意圖;
[0029]圖4為本發(fā)明公開(kāi)的另一種電子設(shè)備的控制裝置的結(jié)構(gòu)示意圖;
[0030]圖5為本發(fā)明公開(kāi)的另一種電子設(shè)備的控制裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0032] 申請(qǐng)人:通過(guò)分析安卓操作系統(tǒng)的啟動(dòng)過(guò)程發(fā)現(xiàn):傳統(tǒng)的安卓操作系統(tǒng)啟動(dòng)過(guò)程中,每次系統(tǒng)啟動(dòng)都要對(duì)內(nèi)核、驅(qū)動(dòng),系統(tǒng)虛擬機(jī)、系統(tǒng)的各種服務(wù)等進(jìn)程進(jìn)行初始化,初始化的時(shí)間非常長(zhǎng)。并且,安卓操作系統(tǒng)的啟動(dòng)時(shí)間大部分浪費(fèi)在應(yīng)用層,安卓操作系統(tǒng)的內(nèi)核以及其底層所耗費(fèi)的時(shí)間相對(duì)較短,因此,如何縮短安卓操作系統(tǒng)中應(yīng)用層的啟動(dòng)時(shí)間,是縮短安卓操作系統(tǒng)的啟動(dòng)時(shí)間的關(guān)鍵。
[0033]本發(fā)明公開(kāi)一種電子設(shè)備的控制方法,該電子設(shè)備采用安卓操作系統(tǒng),可以為手機(jī)、平板電腦、智能電視,也可以為穿戴式設(shè)備,如智能手表和智能眼鏡?;诒景l(fā)明公開(kāi)的控制方法,能夠提高電子設(shè)備的開(kāi)機(jī)速度,從而提高用戶體驗(yàn)。
[0034]參見(jiàn)圖1,圖1為本發(fā)明公開(kāi)的一種電子設(shè)備的控制方法的流程圖。該控制方法包括:
[0035]步驟S11:在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核。
[0036]在用戶通過(guò)按下電源鍵或者其他控制方式執(zhí)行開(kāi)機(jī)操作之后,安卓操作系統(tǒng)的內(nèi)核(linux kernel)開(kāi)始啟動(dòng)。
[0037]步驟S12:在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像。
[0038]其中,init是安卓操作系統(tǒng)的內(nèi)核進(jìn)入文件系統(tǒng)后第一個(gè)運(yùn)行的程序。這里需要說(shuō)明的是,如果采用普通方式關(guān)閉電子設(shè)備,則不會(huì)在硬盤(pán)中創(chuàng)建內(nèi)存鏡像,本發(fā)明對(duì)關(guān)機(jī)過(guò)程進(jìn)行改進(jìn),關(guān)機(jī)過(guò)程中在硬盤(pán)創(chuàng)建內(nèi)存鏡像。
[0039]步驟S13:在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù)。
[0040]本發(fā)明中,對(duì)現(xiàn)有的標(biāo)準(zhǔn)啟動(dòng)腳本進(jìn)行裁剪,去除安卓操作系統(tǒng)啟動(dòng)過(guò)程中不必要的進(jìn)程及服務(wù),形成縮減版啟動(dòng)腳本。通過(guò)運(yùn)行縮減版啟動(dòng)腳本,僅啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù),這些被啟動(dòng)的進(jìn)程及服務(wù)是保證安卓操作系統(tǒng)能夠運(yùn)行的最少進(jìn)程及服務(wù)。
[0041]步驟S14:在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。
[0042]利用內(nèi)存鏡像恢復(fù)系統(tǒng)的過(guò)程,與現(xiàn)有的電子設(shè)備從STD (suspend to disk,掛起到硬盤(pán))狀態(tài)被喚醒的過(guò)程相同。另外,利用內(nèi)存鏡像恢復(fù)系統(tǒng)的時(shí)間點(diǎn)選在系統(tǒng)驅(qū)動(dòng)初始化完成之后,這樣可以避免出現(xiàn)內(nèi)存錯(cuò)位的風(fēng)險(xiǎn)。
[0043]本發(fā)明公開(kāi)的電子設(shè)備的控制方法,在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核,在內(nèi)核完成啟動(dòng)之后,利用硬盤(pán)中保存的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。由于開(kāi)機(jī)過(guò)程中只需要對(duì)安卓操作系統(tǒng)的內(nèi)核和驅(qū)動(dòng)進(jìn)行初始化,其他重要進(jìn)程(如安卓操作系統(tǒng)的核心進(jìn)程zygote)均從硬盤(pán)中直接映射到內(nèi)存中,而硬盤(pán)讀取映射所耗費(fèi)的時(shí)間要遠(yuǎn)小于進(jìn)程初始化所耗費(fèi)的時(shí)間,因此,基于本發(fā)明公開(kāi)的控制方法,能夠縮短安卓操作系統(tǒng)的啟動(dòng)時(shí)間,從而加快電子設(shè)備的開(kāi)機(jī)速度。另外,本發(fā)明公開(kāi)的控制方法中,是在完成系統(tǒng)驅(qū)動(dòng)初始化之后,才利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),因此可以避免出現(xiàn)內(nèi)存錯(cuò)位的風(fēng)險(xiǎn),在縮短安卓操作系統(tǒng)啟動(dòng)時(shí)間的同時(shí),又不會(huì)對(duì)系統(tǒng)的穩(wěn)定性造成影響。
[0044]本發(fā)明上述著重對(duì)電子設(shè)備的開(kāi)機(jī)過(guò)程進(jìn)行說(shuō)明,本發(fā)明同時(shí)也對(duì)電子設(shè)備的關(guān)機(jī)過(guò)程進(jìn)行改進(jìn),以便在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0045]具體的:
[0046]在接收到關(guān)機(jī)指令后,觸發(fā)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0047]這里需要說(shuō)明的是,在采用安卓操作系統(tǒng)的電子設(shè)備中,傳統(tǒng)的關(guān)機(jī)動(dòng)作如下:安卓操作系統(tǒng)上層調(diào)用native Shutdown函數(shù)關(guān)閉電源。本發(fā)明中的關(guān)機(jī)動(dòng)作是采用STD關(guān)機(jī)命令觸發(fā):
[0048]echo di sk>/sys/power/state//觸發(fā)關(guān)機(jī)命令
[0049]另外,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像,可以是針對(duì)關(guān)機(jī)時(shí)刻的內(nèi)存創(chuàng)建內(nèi)存鏡像,也就是在觸發(fā)STD關(guān)機(jī)命令之后,將當(dāng)前內(nèi)存中的數(shù)據(jù)全部鏡像到硬盤(pán)。
[0050]但是,在電子設(shè)備運(yùn)行過(guò)程中,電子設(shè)備的內(nèi)存中除了包含安卓操作系統(tǒng)正在使用的數(shù)據(jù),還包含其他冗余的數(shù)據(jù),例如緩存的數(shù)據(jù),這些數(shù)據(jù)對(duì)于安卓操作系統(tǒng)的啟動(dòng)過(guò)程而言是冗余數(shù)據(jù)。另外,在安卓操作系統(tǒng)啟動(dòng)過(guò)程中,非核心進(jìn)程也是冗余數(shù)據(jù)。如果不加分辨的將內(nèi)存的數(shù)據(jù)全部鏡像到硬盤(pán),一方面會(huì)延長(zhǎng)關(guān)機(jī)時(shí)間,另一方面也會(huì)對(duì)縮短電子設(shè)備的開(kāi)機(jī)時(shí)間造成不利影響。
[0051]為了進(jìn)一步縮短電子設(shè)備的關(guān)機(jī)時(shí)間和開(kāi)機(jī)時(shí)間,本發(fā)明對(duì)在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像進(jìn)行改進(jìn)。
[0052]具體的:
[0053]首先,通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存;
[0054]之后,在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
[0055]實(shí)施中,先誘發(fā)安卓操作系統(tǒng)的內(nèi)核發(fā)生一次內(nèi)存溢出(Out Of Memory killer,00M killer),具體的:在安卓操作系統(tǒng)中主動(dòng)申請(qǐng)大塊內(nèi)存(申請(qǐng)的內(nèi)存空間超過(guò)系統(tǒng)剩余的內(nèi)存空間),從而使得內(nèi)核關(guān)閉一些非核心進(jìn)程,強(qiáng)制釋放非核心進(jìn)程占用的內(nèi)存,這樣從閑置內(nèi)存頁(yè)就可以置換到存儲(chǔ)設(shè)備上,生成的內(nèi)存鏡像就會(huì)減小。
[0056]基于上述方式,在接收關(guān)機(jī)指令、觸發(fā)STD關(guān)機(jī)命令之后,首先回收冗余內(nèi)存,也就是釋放內(nèi)存中對(duì)安卓操作系統(tǒng)的啟動(dòng)過(guò)程無(wú)效的數(shù)據(jù),例如釋放非核心進(jìn)程占用的內(nèi)存空間和緩存數(shù)據(jù)占用的內(nèi)存空間,之后再針對(duì)進(jìn)行冗余回收之后的內(nèi)存進(jìn)行鏡像處理,在硬盤(pán)創(chuàng)建內(nèi)存鏡像。由于創(chuàng)建內(nèi)存鏡像過(guò)程中,不需要針對(duì)冗余內(nèi)存進(jìn)行鏡像處理,因此減小了需要鏡像的數(shù)據(jù)量,從而縮短了關(guān)機(jī)時(shí)間,另外,在利用內(nèi)存鏡像恢復(fù)系統(tǒng)的過(guò)程中,由于需要映射到內(nèi)存的數(shù)據(jù)量較小,因此縮短了安卓操作系統(tǒng)的啟動(dòng)時(shí)間。
[0057]另外需要說(shuō)明的是,在執(zhí)行步驟S12檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像之后,還包括:在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。在這種情況下,用戶既可以采用傳統(tǒng)方式進(jìn)行關(guān)機(jī),相應(yīng)的,電子設(shè)備以傳統(tǒng)方式開(kāi)機(jī),用戶也可以通過(guò)觸發(fā)STD關(guān)機(jī)命令進(jìn)行關(guān)機(jī),相應(yīng)的,電子設(shè)備能夠快速開(kāi)機(jī)。
[0058]為了更清楚的說(shuō)明本發(fā)明保護(hù)的控制方法,下面結(jié)合圖2進(jìn)行更為詳細(xì)的說(shuō)明。包括:
[0059]步驟S21:接收到關(guān)機(jī)指令后,觸發(fā)STD關(guān)機(jī)命令,在硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0060]步驟S22:接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核。
[0061]步驟S23:在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)硬盤(pán)中是否存在內(nèi)存鏡像,根據(jù)檢測(cè)結(jié)果執(zhí)行步驟S24或者步驟S26。
[0062]步驟S24:當(dāng)硬盤(pán)中存在內(nèi)存鏡像時(shí),讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù),執(zhí)行步驟S25。
[0063]步驟S25:在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。
[0064]步驟S26:在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像時(shí),讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。
[0065]本發(fā)明上述公開(kāi)了電子設(shè)備的控制方法,相應(yīng)的,本發(fā)明還公開(kāi)電子設(shè)備的控制裝置,以實(shí)現(xiàn)該控制方法。
[0066]參見(jiàn)圖3,圖3為本發(fā)明公開(kāi)的一種電子設(shè)備的控制裝置的結(jié)構(gòu)示意圖。該控制裝置包括啟動(dòng)單元10、檢測(cè)單元20、第一處理單元30、恢復(fù)單元40和內(nèi)存鏡像創(chuàng)建單元50。
[0067]其中:
[0068]啟動(dòng)單元10,用于在接收到開(kāi)機(jī)指令后啟動(dòng)安卓操作系統(tǒng)的內(nèi)核。
[0069]在用戶通過(guò)按下電源鍵或者其他控制方式執(zhí)行開(kāi)機(jī)操作之后,安卓操作系統(tǒng)的內(nèi)核(linux kernel)開(kāi)始啟動(dòng)。
[0070]檢測(cè)單元20,用于在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像。
[0071]其中,init是安卓操作系統(tǒng)的內(nèi)核進(jìn)入文件系統(tǒng)后第一個(gè)運(yùn)行的程序。這里需要說(shuō)明的是,如果采用普通方式關(guān)閉電子設(shè)備,則不會(huì)在硬盤(pán)中創(chuàng)建內(nèi)存鏡像,本發(fā)明對(duì)關(guān)機(jī)過(guò)程進(jìn)行改進(jìn),關(guān)機(jī)過(guò)程中在硬盤(pán)創(chuàng)建內(nèi)存鏡像。
[0072]第一處理單元30,用于在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù)。
[0073]本發(fā)明中,對(duì)現(xiàn)有的標(biāo)準(zhǔn)啟動(dòng)腳本進(jìn)行裁剪,去除安卓操作系統(tǒng)啟動(dòng)過(guò)程中不必要的進(jìn)程及服務(wù),形成縮減版啟動(dòng)腳本。通過(guò)運(yùn)行縮減版啟動(dòng)腳本,僅啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù),這些被啟動(dòng)的進(jìn)程及服務(wù)是保證安卓操作系統(tǒng)能夠運(yùn)行的最少進(jìn)程及服務(wù)。
[0074]恢復(fù)單元40,用于在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。
[0075]恢復(fù)單元40利用內(nèi)存鏡像恢復(fù)系統(tǒng)的過(guò)程,與現(xiàn)有的電子設(shè)備從STD狀態(tài)被喚醒的過(guò)程相同。另外,恢復(fù)單元40利用內(nèi)存鏡像恢復(fù)系統(tǒng)的時(shí)間點(diǎn)選在系統(tǒng)驅(qū)動(dòng)初始化完成之后,這樣可以避免出現(xiàn)內(nèi)存錯(cuò)位的風(fēng)險(xiǎn)。
[0076]內(nèi)存鏡像創(chuàng)建單元50,用于在接收到關(guān)機(jī)指令后,觸發(fā)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
[0077]傳統(tǒng)的關(guān)機(jī)動(dòng)作如下:安卓操作系統(tǒng)上層調(diào)用native Shutdown函數(shù)關(guān)閉電源。本發(fā)明中的關(guān)機(jī)動(dòng)作是采用STD關(guān)機(jī)命令觸發(fā):
[0078]echo di sk>/sys/power/state//觸發(fā)關(guān)機(jī)命令
[0079]本發(fā)明公開(kāi)的電子設(shè)備的控制裝置,在接收到關(guān)機(jī)指令后,觸發(fā)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像;在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核,在內(nèi)核完成啟動(dòng)之后,利用硬盤(pán)中保存的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。由于開(kāi)機(jī)過(guò)程中只需要對(duì)安卓操作系統(tǒng)的內(nèi)核和驅(qū)動(dòng)進(jìn)行初始化,其他重要進(jìn)程(如安卓操作系統(tǒng)的核心進(jìn)程zygote)均從硬盤(pán)中直接映射到內(nèi)存中,而硬盤(pán)讀取映射所耗費(fèi)的時(shí)間要遠(yuǎn)小于進(jìn)程初始化所耗費(fèi)的時(shí)間,因此,基于本發(fā)明公開(kāi)的控制裝置,能夠縮短安卓操作系統(tǒng)的啟動(dòng)時(shí)間,從而加快電子設(shè)備的開(kāi)機(jī)速度。另外,本發(fā)明公開(kāi)的控制裝置,是在完成系統(tǒng)驅(qū)動(dòng)初始化之后,才利用硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),因此可以避免出現(xiàn)內(nèi)存錯(cuò)位的風(fēng)險(xiǎn),在縮短安卓操作系統(tǒng)啟動(dòng)時(shí)間的同時(shí),又不會(huì)對(duì)系統(tǒng)的穩(wěn)定性造成影響。
[0080]實(shí)施中,內(nèi)存鏡像創(chuàng)建單元50在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像,可以是針對(duì)關(guān)機(jī)時(shí)刻的內(nèi)存創(chuàng)建內(nèi)存鏡像,也就是在觸發(fā)STD關(guān)機(jī)命令之后,將當(dāng)前內(nèi)存中的數(shù)據(jù)全部鏡像到硬盤(pán)。
[0081]但是,在電子設(shè)備運(yùn)行過(guò)程中,電子設(shè)備的內(nèi)存中除了包含安卓操作系統(tǒng)正在使用的數(shù)據(jù),還包含其他冗余的數(shù)據(jù),例如緩存的數(shù)據(jù),這些數(shù)據(jù)對(duì)于安卓操作系統(tǒng)的啟動(dòng)過(guò)程而言是冗余數(shù)據(jù)。另外,在安卓操作系統(tǒng)啟動(dòng)過(guò)程中,非核心進(jìn)程也是冗余數(shù)據(jù)。如果不加分辨的將內(nèi)存的數(shù)據(jù)全部鏡像到硬盤(pán),一方面會(huì)延長(zhǎng)關(guān)機(jī)時(shí)間,另一方面也會(huì)對(duì)縮短電子設(shè)備的開(kāi)機(jī)時(shí)間造成不利影響。
[0082]為了進(jìn)一步縮短電子設(shè)備的關(guān)機(jī)時(shí)間和開(kāi)機(jī)時(shí)間,本發(fā)明對(duì)內(nèi)存鏡像創(chuàng)建單元50進(jìn)行改進(jìn),請(qǐng)參見(jiàn)圖4所示控制裝置的結(jié)構(gòu)示意圖。其中,內(nèi)存鏡像創(chuàng)建單元50包括冗余內(nèi)存回收模塊51和內(nèi)存鏡像創(chuàng)建模塊52。
[0083]冗余內(nèi)存回收模塊51,用于通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存。內(nèi)存鏡像創(chuàng)建模塊52,用于在冗余內(nèi)存回收模塊回收冗余內(nèi)存之后,在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
[0084]本發(fā)明圖4所示的控制裝置,在接收關(guān)機(jī)指令、觸發(fā)STD關(guān)機(jī)命令之后,首先回收冗余內(nèi)存,也就是釋放內(nèi)存中對(duì)安卓操作系統(tǒng)的啟動(dòng)過(guò)程無(wú)效的數(shù)據(jù),例如釋放非核心進(jìn)程占用的內(nèi)存空間和緩存數(shù)據(jù)占用的內(nèi)存空間,之后再針對(duì)進(jìn)行冗余回收之后的內(nèi)存進(jìn)行鏡像處理,在硬盤(pán)創(chuàng)建內(nèi)存鏡像。由于創(chuàng)建內(nèi)存鏡像過(guò)程中,不需要針對(duì)冗余內(nèi)存進(jìn)行鏡像處理,因此減小了需要鏡像的數(shù)據(jù)量,從而縮短了關(guān)機(jī)時(shí)間,另外,在利用內(nèi)存鏡像恢復(fù)系統(tǒng)的過(guò)程中,由于需要映射到內(nèi)存的數(shù)據(jù)量較小,因此縮短了安卓操作系統(tǒng)的啟動(dòng)時(shí)間。
[0085]參見(jiàn)圖5,圖5為本發(fā)明公開(kāi)的另一種電子設(shè)備的控制裝置的結(jié)構(gòu)示意圖。該控制裝置包括啟動(dòng)單元10、檢測(cè)單元20、第一處理單元30、恢復(fù)單元40、內(nèi)存鏡像創(chuàng)建單元50和第二處理單元60。
[0086]與圖3所示控制裝置相比,圖5所示控制裝置進(jìn)一步設(shè)置第二處理單元60。該第二處理單元60與檢測(cè)單元20連接,用于在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。當(dāng)然,圖5所示控制裝置中的內(nèi)存鏡像創(chuàng)建單元50可以采用圖4中所示的結(jié)構(gòu)。
[0087]基于圖5所示的電子設(shè)備的控制裝置,用戶既可以采用傳統(tǒng)方式進(jìn)行關(guān)機(jī),相應(yīng)的,電子設(shè)備以傳統(tǒng)方式開(kāi)機(jī),用戶也可以通過(guò)觸發(fā)STD關(guān)機(jī)命令進(jìn)行關(guān)機(jī),相應(yīng)的,電子設(shè)備能夠快速開(kāi)機(jī)。
[0088]本發(fā)明還公開(kāi)一種電子設(shè)備,該電子設(shè)備米用安卓操作系統(tǒng),并且,該電子設(shè)備還包括本發(fā)明上述任意一種控制裝置。本發(fā)明公開(kāi)的電子設(shè)備的開(kāi)機(jī)速度較快。
[0089]另外,本發(fā)明公開(kāi)的電子設(shè)備可以為采用安卓操作系統(tǒng)的手機(jī)、平板電腦、智能電視、智能眼鏡和智能手表。
[0090]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0091]本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
[0092]對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。
【權(quán)利要求】
1.一種電子設(shè)備的控制方法,所述電子設(shè)備采用安卓操作系統(tǒng),其特征在于,所述控制方法包括: 在接收到開(kāi)機(jī)指令后,啟動(dòng)安卓操作系統(tǒng)的內(nèi)核; 在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像,所述內(nèi)存鏡像在關(guān)機(jī)過(guò)程中創(chuàng)建; 在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù); 在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用所述硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng)。
2.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,還包括: 在接收到關(guān)機(jī)指令后,觸發(fā)掛起到硬盤(pán)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
3.根據(jù)權(quán)利要求2所述的控制方法,其特征在于,所述在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像,包括: 通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存; 在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
4.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,在檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像之后,還包括: 在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。
5.一種電子設(shè)備的控制裝置,所述電子設(shè)備采用安卓操作系統(tǒng),其特征在于,所述控制裝置包括: 啟動(dòng)單元,用于在接收到開(kāi)機(jī)指令后啟動(dòng)安卓操作系統(tǒng)的內(nèi)核; 檢測(cè)單元,用于在安卓操作系統(tǒng)的內(nèi)核完成啟動(dòng)之后,啟動(dòng)init進(jìn)程,檢測(cè)電子設(shè)備的硬盤(pán)中是否存在內(nèi)存鏡像,所述內(nèi)存鏡像在關(guān)機(jī)過(guò)程中創(chuàng)建; 第一處理單元,用于在電子設(shè)備的硬盤(pán)中存在內(nèi)存鏡像的情況下,讀取并運(yùn)行縮減版啟動(dòng)腳本,以啟動(dòng)預(yù)設(shè)進(jìn)程及服務(wù); 恢復(fù)單元,用于在完成系統(tǒng)驅(qū)動(dòng)初始化之后,利用所述硬盤(pán)中的內(nèi)存鏡像恢復(fù)系統(tǒng),完成安卓操作系統(tǒng)的啟動(dòng); 內(nèi)存鏡像創(chuàng)建單元,用于在接收到關(guān)機(jī)指令后,觸發(fā)掛起到硬盤(pán)STD關(guān)機(jī)命令,在電子設(shè)備的硬盤(pán)中創(chuàng)建內(nèi)存鏡像。
6.根據(jù)權(quán)利要求5所述的控制裝置,其特征在于,所述內(nèi)存鏡像創(chuàng)建單元包括: 冗余內(nèi)存回收模塊,用于通過(guò)內(nèi)存頁(yè)面磁盤(pán)置換回收冗余內(nèi)存; 內(nèi)存鏡像創(chuàng)建模塊,用于在所述冗余內(nèi)存回收模塊回收冗余內(nèi)存之后,在電子設(shè)備的硬盤(pán)中創(chuàng)建當(dāng)前內(nèi)存的內(nèi)存鏡像。
7.根據(jù)權(quán)利要求6所述的控制裝置,其特征在于,還包括: 第二處理單元,用于在電子設(shè)備的硬盤(pán)中不存在內(nèi)存鏡像的情況下,讀取并運(yùn)行標(biāo)準(zhǔn)啟動(dòng)腳本,以完成安卓操作系統(tǒng)的啟動(dòng)。
8.—種電子設(shè)備,所述電子設(shè)備采用安卓操作系統(tǒng),其特征在于,所述電子設(shè)備包括如權(quán)利要求5至7中任一項(xiàng)所述的控制裝置。
【文檔編號(hào)】G06F11/00GK104461643SQ201410784664
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】王留欣, 趙鴻飛 申請(qǐng)人:中科創(chuàng)達(dá)軟件股份有限公司