專利名稱:電子設(shè)備的文件排布方法、啟動方法及電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,特別涉及電子設(shè)備的文件排布方法、啟動方法及電子設(shè)備。
背景技術(shù):
目前的PC (Personal Computer,個人計算機(jī))終端的硬盤中存儲了大量的系統(tǒng)文件和安裝的軟件,這些系統(tǒng)文件和軟件在硬盤的空余空間內(nèi)隨機(jī)排列,在終端開機(jī)過程中, 操作系統(tǒng)需要讀取大量的資源,包括讀取系統(tǒng)文件到內(nèi)存,以及從硬盤讀取與啟動相關(guān)的軟件到內(nèi)存。發(fā)明人在對現(xiàn)有技術(shù)的研究過程中發(fā)現(xiàn),由于硬盤內(nèi)系統(tǒng)文件和軟件的安裝順序和時間不同,因此其在硬盤中的存儲順序是隨機(jī)的,由此導(dǎo)致操作系統(tǒng)開機(jī)過程中對上述文件的讀取時,需要根據(jù)規(guī)則在硬盤的不同位置上查找這些文件,然后進(jìn)行讀取,這種隨機(jī)讀取的方式將耗費較長的時間,通常至少需要1分鐘,由此導(dǎo)致操作系統(tǒng)開機(jī)過程緩慢。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供電子設(shè)備的文件排布方法、啟動方法及電子設(shè)備, 以解決現(xiàn)有技術(shù)中電子設(shè)備開機(jī)時,開機(jī)過程時間較長的問題;更進(jìn)一步,以解決現(xiàn)有技術(shù)中的電子設(shè)備在開機(jī)過程中所需文件,因在非易失性存儲器上隨機(jī)、不連續(xù)存儲,而造成的在開機(jī)過程中讀取所需的文件需要耗費時間較長的問題。為解決上述技術(shù)問題,本發(fā)明實施例提供如下技術(shù)方案一種電子設(shè)備的文件排布方法,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,包括在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。所述監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息包括分析寫入到易失性存儲介質(zhì)中的多個文件;根據(jù)分析的結(jié)果獲取所述多個文件的文件大小和在所述非易失性存儲介質(zhì)中的文件位置。還包括獲取所述寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。所述根據(jù)所述多個文件在所述非易失性存儲介質(zhì)上的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布包括根據(jù)所述文件大小統(tǒng)計所述多個文件需要占用的所述非易失性存儲介質(zhì)的總空間;
在所述非易失性存儲介質(zhì)內(nèi)查找與所述總空間大小一致的存儲空間,并記錄所述存儲空間的位置;根據(jù)所述多個文件的文件位置從所述非易失性存儲介質(zhì)上獲取所述多個文件所對應(yīng)的數(shù)據(jù);根據(jù)所述存儲空間的位置將所述多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。還包括將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到所述存儲空間后,刪除所述非易失性存儲介質(zhì)上的所述文件位置對應(yīng)的多個文件的數(shù)據(jù)。一種電子設(shè)備的啟動方法,所述方法應(yīng)用在所述電子設(shè)備啟動的過程中,所述方法包括獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,其中,所述多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi);根據(jù)所述多個文件在所述非易失性存儲介質(zhì)上的存儲空間的位置從所述非易失性存儲介質(zhì)上連續(xù)讀取所述多個文件;根據(jù)讀取的所述多個文件完成所述電子設(shè)備的啟動。所述待寫入到易失性存儲介質(zhì)的多個文件具體為所述電子設(shè)備在前一次啟動過程中,對需要從所述非易失性存儲介質(zhì)中寫入到所述易失性存儲介質(zhì)中的文件所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布后而形成的連續(xù)排列在所述第一儲存空間內(nèi)的多個文件。所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi)具體為所述多個文件所對應(yīng)的多個數(shù)據(jù)按照所述多個文件寫入所述易失性存儲介質(zhì)時的先后順序連續(xù)排布在所述第一存儲空間內(nèi)。一種電子設(shè)備的文件排布方法,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的應(yīng)用程序文件,包括在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息;根據(jù)所述多個應(yīng)用程序文件的文件信息將所述多個應(yīng)用程序文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。一種電子設(shè)備,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,包括第一監(jiān)測單元,用于在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;第一排布單元,用于根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。所述監(jiān)測單元包括文件分析單元,用于分析寫入到易失性存儲介質(zhì)中的多個文件;信息獲取單元,用于根據(jù)分析的結(jié)果獲取所述多個文件的文件大小和在所述非易失性存儲介質(zhì)中的文件位置;所述信息獲取單元,還用于獲取所述寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。所述排布單元包括空間統(tǒng)計單元,根據(jù)所述文件大小統(tǒng)計所述多個文件需要占用的所述非易失性存儲介質(zhì)的總空間;空間查找單元,在所述非易失性存儲介質(zhì)內(nèi)查找與所述總空間大小一致的存儲空間,并記錄所述存儲空間的位置;文件獲取單元,根據(jù)所述多個文件的文件位置從所述非易失性存儲介質(zhì)上獲取所述多個文件所對應(yīng)的數(shù)據(jù);文件寫入單元,根據(jù)所述存儲空間的位置將所述多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。還包括刪除單元,用于將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到所述存儲空間后,刪除所述非易失性存儲介質(zhì)上的所述文件位置對應(yīng)的多個文件的數(shù)據(jù)。一種電子設(shè)備,包括獲取單元,用于獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,其中,所述多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi);讀取單元,用于根據(jù)所述多個文件的在所述非易失性存儲介質(zhì)上的存儲空間的位置從所述非易失性存儲介質(zhì)上連續(xù)讀取所述多個文件;啟動單元,用于根據(jù)讀取的所述多個文件完成所述電子設(shè)備的啟動。一種電子設(shè)備,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的應(yīng)用程序文件,包括第二監(jiān)測單元,用于在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息;第二排布單元,用于根據(jù)所述多個應(yīng)用程序文件的文件信息將所述多個應(yīng)用程序文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。由以上本發(fā)明實施例提供的技術(shù)方案可見,本申請實施例中通過監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息,根據(jù)多個文件的文件信息將多個文件在非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使對應(yīng)的數(shù)據(jù)連續(xù)排布在非易失性存儲介質(zhì)上;后續(xù)可以根據(jù)待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,從非易失性存儲介質(zhì)上連續(xù)讀取多個文件。由于本申請實施例中在電子設(shè)備啟動過程,將需要寫入易失性存儲介質(zhì),且原來在非易失性存儲介質(zhì)上隨機(jī)排列的文件重新順序排列,因此再次讀取這些文件時,可以按照其排列順序一次進(jìn)行讀取,由此節(jié)約了電子設(shè)備讀取文件的時間,特別在開機(jī)啟動過程中對于操作系統(tǒng)文件的讀取,可以極大地節(jié)約系統(tǒng)的開機(jī)時間。
圖1為本申請電子設(shè)備的文件排布方法的第一實施例流程圖;圖2為本申請電子設(shè)備的文件排布方法的第二實施例流程圖;圖3為本申請電子設(shè)備的文件排布方法的第三實施例流程圖;圖4為本申請電子設(shè)備的啟動方法的實施例流程圖;圖5為本申請電子設(shè)備的第一實施例框圖;圖6為本申請電子設(shè)備的第二實施例框圖;圖7為本申請電子設(shè)備的第三實施例框圖。
具體實施例方式在如下本發(fā)明的多個實施例中,有些實施例提供了一種電子設(shè)備的文件排布方法,有些實施例提供了一種電子設(shè)備的啟動方法,有些實施例提供了一種電子設(shè)備。為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。參見圖1,為本申請電子設(shè)備的文件排布方法的第一實施例流程圖,該實施例描述了電子設(shè)備開機(jī)啟動過程對文件進(jìn)行排布的過程步驟101 在電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文
件fe息。本申請實施例中,電子設(shè)備具有一非易失性存儲介質(zhì),非易失性存儲介質(zhì)中存儲有電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件。當(dāng)本實施例中的電子設(shè)備為一 PC終端時,其中易失性存儲介質(zhì)主要指PC的內(nèi)存,非易失性存儲介質(zhì)主要指PC的硬盤或者SSD(Solid State Disk,固態(tài)硬盤)。具體的,分析寫入到易失性存儲介質(zhì)中的多個文件,根據(jù)分析的結(jié)果獲取多個文件文件大小和在非易失性存儲介質(zhì)中的文件位置;進(jìn)一步還可以獲取寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。步驟102 根據(jù)多個文件的文件信息將多個文件在非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使這些對應(yīng)的數(shù)據(jù)連續(xù)排布在非易失性存儲介質(zhì)上。具體的,根據(jù)文件大小統(tǒng)計多個文件需要占用的非易失性存儲介質(zhì)的總空間,在非易失性存儲介質(zhì)內(nèi)查找與總空間大小一致的存儲空間,并記錄該存儲空間的位置,根據(jù)多個文件的文件位置從非易失性存儲介質(zhì)上獲取多個文件所對應(yīng)的數(shù)據(jù),根據(jù)存儲空間的位置將多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。其中,當(dāng)步驟101中未獲取寫入到易失性存儲介質(zhì)中的多個文件的寫入順序時,可以將多個文件所對應(yīng)的數(shù)據(jù)隨機(jī)寫入到所述存儲空間內(nèi),最終填滿該存儲空間,以保證可以從該存儲空間一次讀取所要寫入到非易失性存儲介質(zhì)中的多個文件即可,但是一次性讀取多個文件后,需要按照其寫入到易失性存儲介質(zhì)中的順序進(jìn)行寫入操作;當(dāng)步驟101中還獲取了寫入到易失性存儲介質(zhì)中的多個文件的寫入順序時,可以根據(jù)多個文件的文件位置從非易失性存儲介質(zhì)上按照寫入順序獲取多個文件所對應(yīng)的數(shù)據(jù),并根據(jù)存儲空間的位置將按照寫入順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到存儲空間,這樣在電子設(shè)備再次啟動過程中,從存儲空間內(nèi)讀取的文件數(shù)據(jù)就是按照文件寫入到易失性存儲介質(zhì)中進(jìn)行排列的,因此直接將這些文件寫入到非易失性存儲介質(zhì)中即可,由此進(jìn)一步減少了寫入時間,提高了電子設(shè)備的開機(jī)速度。具體的,也可以根據(jù)文件位置和文件大小判斷非易失性存儲介質(zhì)上任意兩個文件之間的空閑空間的大小,對于與某個文件的文件大小一致的某個空閑空間,將該文件轉(zhuǎn)移到該空閑空間內(nèi),對于其它的空閑空間,將文件拆分后填充到這些空閑空間內(nèi),最終使得多個文件在非易失性存儲介質(zhì)上連續(xù)排列,能夠一次性被讀取。其中,當(dāng)步驟101中未獲取寫入到易失性存儲介質(zhì)中的多個文件的寫入順序時,對文件進(jìn)行拆分填充操作時不考慮文件的寫入順序,將文件之間的空閑空間填滿,使其連續(xù)排列在一個存儲空間內(nèi)即可,以保證可以從該存儲空間一次讀取所要寫入到非易失性存儲介質(zhì)中的多個文件即可,但是一次性讀取多個文件后,需要按照其寫入到易失性存儲介質(zhì)中的順序進(jìn)行寫入操作;當(dāng)步驟101中還獲取了寫入到易失性存儲介質(zhì)中的多個文件的寫入順序時,則在判斷兩個文件之間的空閑空間的大小與某個文件大小一致時,還要保證該文件能夠與所述的兩個文件是按照寫入到非易失性存儲介質(zhì)中的寫入順序排列的,才將該文件轉(zhuǎn)移到兩個文件之間的空閑空間, 這樣在電子設(shè)備再次啟動過程中,從存儲空間內(nèi)讀取的文件數(shù)據(jù)就是按照文件寫入到易失性存儲介質(zhì)中進(jìn)行排列的,因此直接將這些文件寫入到非易失性存儲介質(zhì)中即可,由此進(jìn)一步減少了寫入時間,提高了電子設(shè)備的開機(jī)速度。例如,文件A的數(shù)據(jù)存儲在非易失性存儲介質(zhì)的第一空間,文件B的數(shù)據(jù)存儲在非易失性存儲介質(zhì)的第四空間,文件C的數(shù)據(jù)存儲在非易失性存儲介質(zhì)的第三空間,假定文件A和文件C之間的第二空間與文件B的文件大小一致,則將文件B的數(shù)據(jù)移動到該第二空間內(nèi),由此使得文件B分別和文件A及文件C連續(xù)排布。上述實施例以PC終端為例,在運行操作系統(tǒng)程序時,硬盤驅(qū)動器的磁頭首先搜索操作系統(tǒng)程序運行所必需的文件,讀取這些文件的文件數(shù)據(jù),然后將文件數(shù)據(jù)傳送至磁盤高速緩存(Cache)和內(nèi)存中。通常搜索時間在硬盤性能指標(biāo)中被稱為平均尋道時間 (Average seek time),單位為毫秒(ms),目前主流硬盤的平均尋道時間小于9. 5ms,如果能將操作系統(tǒng)程序運行所必須的文件放在磁盤的連續(xù)空間內(nèi),磁頭搜索的時間將會減少很多;相應(yīng)的,讀取文件時也是如此,磁盤讀取位于磁頭下方扇區(qū)的數(shù)據(jù)所需時間僅為將磁頭移到另一地點再讀取相同數(shù)據(jù)所需時間的五分之一,于是搜索時間和讀取時間在很大程度上影響著程序執(zhí)行的效率,因此本申請實施例通過重新對操作系統(tǒng)文件進(jìn)行排布,使得操作系統(tǒng)再次開機(jī),讀取操作系統(tǒng)文件時可以最少限度地對磁頭進(jìn)行操作,從而提高PC終端的開機(jī)速度。換句話說,因為數(shù)據(jù)是連續(xù)存儲的,因此磁盤一次性讀取位于磁頭下方扇區(qū)的數(shù)據(jù)中的有效數(shù)據(jù)是最多的。參見圖2,為本申請電子設(shè)備的文件排布方法的第二實施例流程圖,該實施例詳細(xì)示出了電子設(shè)備開機(jī)啟動過程中對文件進(jìn)行排布的過程,其中電子設(shè)備以PC終端為例進(jìn)行描述步驟201 在PC終端的開機(jī)過程中,分析寫入到內(nèi)存中的多個文件。PC終端的操作系統(tǒng)開機(jī)時,啟動監(jiān)控服務(wù)程序,檢測當(dāng)前從硬盤引入到內(nèi)存的所有系統(tǒng)文件,并分析每一個文件在硬盤內(nèi)的文件位置和文件大小,例如,windows操作系統(tǒng)在開機(jī)時,需要引入內(nèi)存的文件包括syStem32文件夾下的核心dll文件。通常PC終端將所分析的每個文件的文件位置和文件大小記錄在預(yù)先創(chuàng)建的啟動文件日志中,用于后續(xù)啟動文件日志中獲取這些文件的信息并執(zhí)行重排操作,該啟動文件日志可以以txt格式創(chuàng)建,啟動文件日志中的文件表項按照文件引入內(nèi)存時的先后順序進(jìn)行記錄。步驟202 根據(jù)分析的結(jié)果獲取多個文件的文件大小和在硬盤中的文件位置。PC終端操作系統(tǒng)開機(jī)后,可以從啟動文件日志中順序讀取記錄的需要在啟動操作系統(tǒng)時寫入到內(nèi)存中的文件的文件位置和文件大小。步驟203 根據(jù)文件大小統(tǒng)計多個文件需要占用的硬盤的總空間。步驟204 在硬盤內(nèi)查找與總空間大小一致的存儲空間,并記錄存儲空間的位置。步驟205 根據(jù)多個文件的文件位置從硬盤上獲取多個文件所對應(yīng)的數(shù)據(jù)。步驟206 根據(jù)存儲空間的位置將多個文件所對應(yīng)的數(shù)據(jù)寫入到存儲空間。根據(jù)文件大小統(tǒng)計這些文件需要占用的硬盤的總空間,然后在硬盤內(nèi)查找與總空間大小一致的硬盤空間,并記錄該硬盤空間的位置。按照每個文件的文件大小將上述硬盤空間分別分配給每個文件,并將分配給每個文件的硬盤空間的位置作為該文件的目標(biāo)位置,將啟動文件日志中記錄的文件位置作為文件的源位置,根據(jù)這些源位置順序從硬盤內(nèi)查找到相應(yīng)的文件,讀取查找到的文件并將這些文件保存到硬盤空間上對應(yīng)的目標(biāo)位置上,從而完成開機(jī)時系統(tǒng)文件在硬盤上的順序排列。步驟207 將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到存儲空間后,刪除硬盤上的原文件位置對應(yīng)的多個文件的數(shù)據(jù)。在將文件從源位置搬移到目標(biāo)位置的過程中,可以暫時不刪除源位置上的文件, 待所有文件重新排列完成后,再刪除源位置上的文件,或者搬移完一部分文件后,再刪除源位置上的這些文件,從而保證搬移過程中,文件不會因為掉電而丟失,從而保證文件的安全性。由于現(xiàn)有技術(shù)中,PC終端的操作系統(tǒng)每次開機(jī)時從硬盤引入到內(nèi)存的系統(tǒng)文件在硬盤內(nèi)都是隨機(jī)排列的,這些文件以類似鏈表的方式連接在一起,因此在引入內(nèi)存時需要根據(jù)鏈表分別查找每個文件,對這些文件進(jìn)行隨機(jī)讀取,因此讀取速度較慢,耗費系統(tǒng)資源,導(dǎo)致終端開機(jī)速度降低;而本申請實施例中通過在硬盤空間內(nèi)順序排列操作系統(tǒng)開機(jī)時引入內(nèi)存的文件,因此可以使得后續(xù)PC終端的操作系統(tǒng)再開機(jī)時,按照系統(tǒng)讀取為邏輯一次性讀取這些文件,而不必在硬盤內(nèi)查找這些文件,因此節(jié)約了系統(tǒng)資源,相應(yīng)提高了 PC 終端的開機(jī)速度。參見圖3,為本申請電子設(shè)備的文件排布方法的第二實施例流程圖,該實施例描述了電子設(shè)備啟動應(yīng)用程序時對應(yīng)用程序文件進(jìn)行排布的過程步驟301 在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息。本申請實施例中,電子設(shè)備具有一非易失性存儲介質(zhì),非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的應(yīng)用程序文件。當(dāng)本實施例中的電子設(shè)備為一PC終端時,其中易失性存儲介質(zhì)主要指PC的內(nèi)存,非易失性存儲介質(zhì)主要指PC的硬盤。具體的,分析寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件,根據(jù)分析的結(jié)果獲取多個應(yīng)用程序文件的文件大小和在非易失性存儲介質(zhì)中的文件位置;進(jìn)一步還可以獲取寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件的寫入順序。
步驟302 根據(jù)多個應(yīng)用程序文件的文件信息將多個應(yīng)用程序文件在非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使對應(yīng)的數(shù)據(jù)連續(xù)排布在非易失性存儲介質(zhì)上。具體的,根據(jù)文件大小統(tǒng)計多個應(yīng)用程序文件需要占用的非易失性存儲介質(zhì)的總空間,在非易失性存儲介質(zhì)內(nèi)查找與總空間大小一致的存儲空間,并記錄該存儲空間的位置,根據(jù)多個應(yīng)用程序文件的文件位置從非易失性存儲介質(zhì)上獲取多個應(yīng)用程序文件所對應(yīng)的數(shù)據(jù),根據(jù)存儲空間的位置將多個應(yīng)用程序文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。 其中,當(dāng)步驟301中未獲取寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件的寫入順序時, 可以將多個應(yīng)用程序文件所對應(yīng)的數(shù)據(jù)隨機(jī)寫入到所述存儲空間內(nèi),最終填滿該存儲空間,以保證可以從該存儲空間一次讀取所要寫入到非易失性存儲介質(zhì)中的多個應(yīng)用程序文件即可,但是一次性讀取多個應(yīng)用程序文件后,需要按照其寫入到易失性存儲介質(zhì)中的順序進(jìn)行寫入操作;當(dāng)步驟301中還獲取了寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件的寫入順序時,可以根據(jù)多個應(yīng)用程序文件的文件位置從非易失性存儲介質(zhì)上按照寫入順序獲取多個應(yīng)用程序文件所對應(yīng)的數(shù)據(jù),并根據(jù)存儲空間的位置將按照寫入順序獲取的多個應(yīng)用程序文件所對應(yīng)的數(shù)據(jù)依次寫入到存儲空間,這樣在電子設(shè)備再次啟動過程中,從存儲空間內(nèi)讀取的應(yīng)用程序文件數(shù)據(jù)就是按照應(yīng)用程序文件寫入到易失性存儲介質(zhì)中進(jìn)行排列的,因此直接將這些應(yīng)用程序文件寫入到非易失性存儲介質(zhì)中即可,由此進(jìn)一步減少了寫入時間,提高了應(yīng)用程序的開啟速度。具體的,也可以根據(jù)文件位置和文件大小判斷非易失性存儲介質(zhì)上任意兩個應(yīng)用程序文件之間的空閑空間的大小,對于與某個應(yīng)用程序文件的文件大小一致的某個空閑空間,將該應(yīng)用程序文件轉(zhuǎn)移到該空閑空間內(nèi),對于其它的空閑空間,將應(yīng)用程序文件拆分后填充到這些空閑空間內(nèi),最終使得多個應(yīng)用程序文件在非易失性存儲介質(zhì)上連續(xù)排列,能夠一次性被讀取。其中,當(dāng)步驟301中未獲取寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件的寫入順序時,對應(yīng)用程序文件進(jìn)行拆分填充操作時不考慮應(yīng)用程序文件的寫入順序, 將應(yīng)用程序文件之間的空閑空間填滿,使其連續(xù)排列在一個存儲空間內(nèi)即可,以保證可以從該存儲空間一次讀取所要寫入到非易失性存儲介質(zhì)中的多個應(yīng)用程序文件即可,但是一次性讀取多個應(yīng)用程序文件后,需要按照其寫入到易失性存儲介質(zhì)中的順序進(jìn)行寫入操作;當(dāng)步驟301中還獲取了寫入到易失性存儲介質(zhì)中的多個應(yīng)用程序文件的寫入順序時, 則在判斷兩個應(yīng)用程序文件之間的空閑空間的大小與某個應(yīng)用程序文件大小一致時,還要保證該應(yīng)用程序文件能夠與所述的兩個應(yīng)用程序文件是按照寫入到非易失性存儲介質(zhì)中的寫入順序排列的,才將該應(yīng)用程序文件轉(zhuǎn)移到兩個文件之間的空閑空間,這樣在電子設(shè)備再次啟動過程中,從存儲空間內(nèi)讀取的文件數(shù)據(jù)就是按照應(yīng)用程序文件寫入到易失性存儲介質(zhì)中進(jìn)行排列的,因此直接將這些應(yīng)用程序文件寫入到非易失性存儲介質(zhì)中即可,由此進(jìn)一步減少了寫入時間,提高了應(yīng)用程序的開啟速度。參見圖4,為本申請電子設(shè)備的啟動方法實施例流程圖,該實施例應(yīng)用在電子設(shè)備啟動的過程中,該實施例基于前述文件排布方法實施例中在非易失性存儲介質(zhì)上連續(xù)排布的多個文件進(jìn)行啟動步驟401 獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置。其中,多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在第一存儲空間內(nèi)。其中,待寫入到易失性存儲介質(zhì)的多個文件具體為電子設(shè)備在前一次啟動過程中,對需要從所述非易失性存儲介質(zhì)中寫入到所述易失性存儲介質(zhì)中的文件所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布后,連續(xù)排列在所述第一儲存空間內(nèi)的多個文件;多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在第一存儲空間內(nèi)具體為多個文件所對應(yīng)的多個數(shù)據(jù)按照多個文件寫入易失性存儲介質(zhì)時的先后順序連續(xù)排布在第一存儲空間內(nèi)。步驟402 根據(jù)多個文件的在所述非易失性存儲介質(zhì)上的存儲空間的位置從非易失性存儲介質(zhì)上連續(xù)讀取多個文件。步驟403 根據(jù)讀取的多個文件完成電子設(shè)備的啟動。仍然以PC終端內(nèi)的操作系統(tǒng)啟動為例,當(dāng)PC終端內(nèi)的操作系統(tǒng)重新開機(jī)后,根據(jù)記錄的硬盤空間的位置從硬盤上獲取順序排列的系統(tǒng)文件,將這些系統(tǒng)文件一次性引入到內(nèi)存中,完成操作系統(tǒng)的開機(jī)。由于PC終端操作系統(tǒng)在開機(jī)過程中需要讀取的文件數(shù)量和大小都一樣,而硬盤通過磁頭讀取數(shù)據(jù),磁頭每讀取一次數(shù)據(jù)需要耗費一定的時間,且磁頭讀取的次數(shù)越多則耗費的時間越長;磁頭每次讀取數(shù)據(jù)的最大量假設(shè)為1M,則當(dāng)所有開機(jī)文件有100個,且總大小為IOM并順序排列時,磁頭一共需要讀取10次,而如果這100個文件在硬盤內(nèi)隨機(jī)排列時,則磁頭需要隨機(jī)讀取100次,由此耗費的時間將是順序讀取的10倍,因此本申請可以極大提高終端的開機(jī)速度。另外,本申請實施例在操作系統(tǒng)首次開機(jī)時需要對系統(tǒng)文件進(jìn)行重新排列,后續(xù)再開機(jī)時就可以根據(jù)重排后的結(jié)果順序?qū)ξ募M(jìn)行讀??;并且,終端內(nèi)增加了新的系統(tǒng)文件后,這些系統(tǒng)文件可能隨機(jī)保存在與已經(jīng)排列的系統(tǒng)文件不同的位置上,此時可以根據(jù)終端內(nèi)系統(tǒng)文件更新情況重新執(zhí)行排列文件的過程,在此不再贅述。上述各個實施例中的電子設(shè)備可以為通常所見的PC終端、筆記本電腦等具有操作系統(tǒng)和應(yīng)用程序的電子設(shè)備。與本發(fā)明電子設(shè)備的文件排布方法、啟動方法的實施例相對應(yīng),本發(fā)明還提供了電子設(shè)備的實施例。電子設(shè)備可以為通常所見的PC終端、筆記本電腦等具有操作系統(tǒng)和應(yīng)用程序的電子設(shè)備。參見圖5,為本申請電子設(shè)備的第一實施例框圖,該電子設(shè)備具有一非易失性存儲介質(zhì),該非易失性存儲介質(zhì)中存儲有該電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,該電子設(shè)備用于對操作系統(tǒng)開機(jī)時的相關(guān)文件進(jìn)行重新排布。該電子設(shè)備包括第一監(jiān)測單元510和第一排布單元520。其中,第一監(jiān)測單元,用于在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;第一排布單元,用于根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。具體的,第一監(jiān)測單元510可以包括(圖5中未示出)文件分析單元,用于分析寫入到易失性存儲介質(zhì)中的多個文件;信息獲取單元,用于根據(jù)分析的結(jié)果獲取所述多個文件的文件大小和在所述非易失性存儲介質(zhì)中的文件位置;所述信息獲取單元,還用于獲取所述寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。具體的,第一排布單元520可以包括(圖5中未示出)空間統(tǒng)計單元,根據(jù)所述文件大小統(tǒng)計所述多個文件需要占用的所述非易失性存儲介質(zhì)的總空間;空間查找單元, 在所述非易失性存儲介質(zhì)內(nèi)查找與所述總空間大小一致的存儲空間,并記錄所述存儲空間的位置;文件獲取單元,根據(jù)所述多個文件的文件位置從所述非易失性存儲介質(zhì)上獲取所述多個文件所對應(yīng)的數(shù)據(jù);文件寫入單元,根據(jù)所述存儲空間的位置將所述多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。進(jìn)一步,該電子設(shè)備還可以包括(圖5中未示出)刪除單元,用于將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到所述存儲空間后,刪除所述非易失性存儲介質(zhì)上的所述文件位置對應(yīng)的多個文件的數(shù)據(jù)。參見圖6,為本申請電子設(shè)備的第二實施例框圖,該電子設(shè)備基于其非易失性存儲介質(zhì)上連續(xù)排布的多個文件進(jìn)行啟動。該電子設(shè)備包括獲取單元610、讀取單元620和啟動單元630。其中,獲取單元610,用于獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,其中,所述多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi);讀取單元620,用于根據(jù)所述多個文件的在所述非易失性存儲介質(zhì)上的存儲空間的位置從所述非易失性存儲介質(zhì)上連續(xù)讀取所述多個文件;啟動單元630,用于根據(jù)讀取的所述多個文件完成所述電子設(shè)備的啟動。參見圖7,為本申請電子設(shè)備的第三實施例框圖,電子設(shè)備具有一非易失性存儲介質(zhì),該非易失性存儲介質(zhì)中存儲有該電子設(shè)備的應(yīng)用程序文件,該電子設(shè)備用于對應(yīng)用程序文件進(jìn)行重新排布。該電子設(shè)備包括第二監(jiān)測單元710和第二排布單元720。其中,第二監(jiān)測單元710,用于在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息;第二排布單元720,用于根據(jù)所述多個應(yīng)用程序文件的文件信息將所述多個應(yīng)用程序文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。通過以上的實施方式的描述可知,本申請實施例中通過監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息,根據(jù)多個文件的文件信息將多個文件在非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使對應(yīng)的數(shù)據(jù)連續(xù)排布在非易失性存儲介質(zhì)上;后續(xù)可以根據(jù)待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,從非易失性存儲介質(zhì)上連續(xù)讀取多個文件。由于本申請實施例中,在電子設(shè)備啟動過程,將需要寫入易失性存儲介質(zhì),且原來在非易失性存儲介質(zhì)上隨機(jī)排列的文件重新順序排列,因此再次讀取這些文件時,可以按照其排列順序一次進(jìn)行讀取,由此節(jié)約了電子設(shè)備讀取文件的時間, 特別在開機(jī)啟動過程中對于操作系統(tǒng)文件的讀取,可以極大地節(jié)約系統(tǒng)的開機(jī)時間。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實施例中的技術(shù)可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例中的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存
13儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種電子設(shè)備的文件排布方法,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,其特征在于,包括在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息包括分析寫入到易失性存儲介質(zhì)中的多個文件;根據(jù)分析的結(jié)果獲取所述多個文件的文件大小和在所述非易失性存儲介質(zhì)中的文件位置。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括獲取所述寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述多個文件在所述非易失性存儲介質(zhì)上的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布包括根據(jù)所述文件大小統(tǒng)計所述多個文件需要占用的所述非易失性存儲介質(zhì)的總空間;在所述非易失性存儲介質(zhì)內(nèi)查找與所述總空間大小一致的存儲空間,并記錄所述存儲空間的位置;根據(jù)所述多個文件的文件位置從所述非易失性存儲介質(zhì)上獲取所述多個文件所對應(yīng)的數(shù)據(jù);根據(jù)所述存儲空間的位置將所述多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到所述存儲空間后,刪除所述非易失性存儲介質(zhì)上的所述文件位置對應(yīng)的多個文件的數(shù)據(jù)。
6.一種電子設(shè)備的啟動方法,其特征在于,所述方法應(yīng)用在所述電子設(shè)備啟動的過程中,所述方法包括獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,其中,所述多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi);根據(jù)所述多個文件在所述非易失性存儲介質(zhì)上的存儲空間的位置從所述非易失性存儲介質(zhì)上連續(xù)讀取所述多個文件;根據(jù)讀取的所述多個文件完成所述電子設(shè)備的啟動。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述待寫入到易失性存儲介質(zhì)的多個文件具體為所述電子設(shè)備在前一次啟動過程中,對需要從所述非易失性存儲介質(zhì)中寫入到所述易失性存儲介質(zhì)中的文件所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布后而形成的連續(xù)排列在所述第一儲存空間內(nèi)的多個文件。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi)具體為所述多個文件所對應(yīng)的多個數(shù)據(jù)按照所述多個文件寫入所述易失性存儲介質(zhì)時的先后順序連續(xù)排布在所述第一存儲空間內(nèi)。
9.一種電子設(shè)備的文件排布方法,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的應(yīng)用程序文件,其特征在于,包括在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息;根據(jù)所述多個應(yīng)用程序文件的文件信息將所述多個應(yīng)用程序文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。
10.一種電子設(shè)備,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,其特征在于,包括第一監(jiān)測單元,用于在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;第一排布單元,用于根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。
11.根據(jù)權(quán)利要求10所述的電子設(shè)備,其特征在于,所述監(jiān)測單元包括文件分析單元,用于分析寫入到易失性存儲介質(zhì)中的多個文件;信息獲取單元,用于根據(jù)分析的結(jié)果獲取所述多個文件的文件大小和在所述非易失性存儲介質(zhì)中的文件位置;所述信息獲取單元,還用于獲取所述寫入到易失性存儲介質(zhì)中的多個文件的寫入順序。
12.根據(jù)權(quán)利要求11所述的電子設(shè)備,其特征在于,所述排布單元包括空間統(tǒng)計單元,根據(jù)所述文件大小統(tǒng)計所述多個文件需要占用的所述非易失性存儲介質(zhì)的總空間;空間查找單元,在所述非易失性存儲介質(zhì)內(nèi)查找與所述總空間大小一致的存儲空間,并記錄所述存儲空間的位置;文件獲取單元,根據(jù)所述多個文件的文件位置從所述非易失性存儲介質(zhì)上獲取所述多個文件所對應(yīng)的數(shù)據(jù);文件寫入單元,根據(jù)所述存儲空間的位置將所述多個文件所對應(yīng)的數(shù)據(jù)寫入到所述存儲空間。
13.根據(jù)權(quán)利要求12所述的電子設(shè)備,其特征在于,還包括刪除單元,用于將順序獲取的多個文件所對應(yīng)的數(shù)據(jù)依次寫入到所述存儲空間后,刪除所述非易失性存儲介質(zhì)上的所述文件位置對應(yīng)的多個文件的數(shù)據(jù)。
14.一種電子設(shè)備,其特征在于,包括獲取單元,用于獲取待寫入到易失性存儲介質(zhì)的多個文件在非易失性存儲介質(zhì)上的存儲空間的位置,其中,所述多個文件的數(shù)據(jù)存儲在所述非易失性存儲介質(zhì)上占有第一存儲空間,所述多個文件所對應(yīng)的多個數(shù)據(jù)連續(xù)排布在所述第一存儲空間內(nèi);讀取單元,用于根據(jù)所述多個文件的在所述非易失性存儲介質(zhì)上的存儲空間的位置從所述非易失性存儲介質(zhì)上連續(xù)讀取所述多個文件;啟動單元,用于根據(jù)讀取的所述多個文件完成所述電子設(shè)備的啟動。
15. —種電子設(shè)備,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的應(yīng)用程序文件,其特征在于,包括第二監(jiān)測單元,用于在啟動應(yīng)用程序過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個應(yīng)用程序文件的文件信息;第二排布單元,用于根據(jù)所述多個應(yīng)用程序文件的文件信息將所述多個應(yīng)用程序文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。
全文摘要
本發(fā)明實施例公開了電子設(shè)備的文件排布方法、啟動方法及電子設(shè)備,所述電子設(shè)備具有一非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)中存儲有所述電子設(shè)備的操作系統(tǒng)文件以及基于操作系統(tǒng)的軟件程序文件,文件排布方法包括在所述電子設(shè)備的開機(jī)過程中,監(jiān)測寫入到易失存儲介質(zhì)的多個文件的文件信息;根據(jù)所述多個文件的文件信息將所述多個文件在所述非易失性存儲介質(zhì)上所對應(yīng)的數(shù)據(jù)進(jìn)行重新排布,使所述對應(yīng)的數(shù)據(jù)連續(xù)排布在所述非易失性存儲介質(zhì)上。本申請實施例將需要寫入易失性存儲介質(zhì),且原來在非易失性存儲介質(zhì)上隨機(jī)排列的文件重新順序排列,因此再次讀取這些文件時,可以按照其排列順序一次進(jìn)行讀取,由此節(jié)約了電子設(shè)備讀取文件的時間。
文檔編號G06F17/30GK102375850SQ20101026114
公開日2012年3月14日 申請日期2010年8月23日 優(yōu)先權(quán)日2010年8月23日
發(fā)明者馮曉毅 申請人:聯(lián)想(北京)有限公司