亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

文件系統(tǒng)和構(gòu)建及增強文件系統(tǒng)功能的方法

文檔序號:6542787閱讀:180來源:國知局
專利名稱:文件系統(tǒng)和構(gòu)建及增強文件系統(tǒng)功能的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種操作系統(tǒng)下的文件系統(tǒng),和更具體,本發(fā)明涉及一種具有增強功能的文件系統(tǒng),以及帶有本發(fā)明文件系統(tǒng)的操作系統(tǒng)。本發(fā)明還涉及一種構(gòu)建及增強文件系統(tǒng)功能的方法。
背景技術(shù)
在計算機系統(tǒng)中,文件是數(shù)據(jù)的邏輯組織和表現(xiàn)形式,通常要訪問一個特定文件中的數(shù)據(jù)時,要通過文件系統(tǒng)的定位和組織,才能將文件按照可識別的邏輯形式表現(xiàn)出來。在現(xiàn)有技術(shù)中,一種操作系統(tǒng)一般可以支持多個不同的物理文件系統(tǒng)單元,如,Linux操作系統(tǒng)(Linux是Linus Torvalds在美國以及其他國家的注冊商標或商標)可以支持的物理文件系統(tǒng)包括ext2,ext3,udf,jfs等等。為了可以用一種統(tǒng)一的方式,支持這些不同的物理文件系統(tǒng),在Linux的內(nèi)核中,應(yīng)用程序單元與實際的物理文件系統(tǒng)單元之間,存在一個對于不同物理文件系統(tǒng)單元的統(tǒng)一接口單元VFS(Virtual File System)-虛擬文件系統(tǒng),它作為一個轉(zhuǎn)接開關(guān)來提供對于不同物理文件系統(tǒng)單元的支持。因此,虛擬文件系統(tǒng)也可稱之為虛擬文件系統(tǒng)單元。VFS提供了一系列標準的操作函數(shù)集合來管理和操作各個具體的文件系統(tǒng)。在實際應(yīng)用時,用戶單元發(fā)出的各種文件操作指令通過系統(tǒng)調(diào)用被VFS單元所接收,VFS單元經(jīng)過統(tǒng)一的調(diào)度和管理,根據(jù)設(shè)定,將操作指令發(fā)向具體的物理文件系統(tǒng)單元,進行處理,實現(xiàn)用戶所要求的操作。
圖1示出現(xiàn)有技術(shù)中Linux操作系統(tǒng)下標準的文件系統(tǒng)。如圖1所示,標準的文件系統(tǒng)包括VFS單元10,物理文件系統(tǒng)單元20,可包括ext2,ext3,udf,jfs等具體的物理文件系統(tǒng),和驅(qū)動單元30。如前所述,Linux操作系統(tǒng)采用VFS這一結(jié)構(gòu),來統(tǒng)一的調(diào)度和管理標準文件系統(tǒng)下的各個具體的物理文件系統(tǒng)。
雖然上述標準文件系統(tǒng)適應(yīng)了對多種物理文件系統(tǒng)的協(xié)調(diào)控制,但是具有如下的缺點和不足第一,缺乏足夠的靈活性,用戶難以實現(xiàn)符合自己要求的特殊功能。在上述文件系統(tǒng)下,各個進程的調(diào)度、緩沖區(qū)維護、設(shè)備維護和相互的協(xié)調(diào)以及特定功能的實現(xiàn)均受VFS及操作系統(tǒng)的文件系統(tǒng)所約束,用戶難以按照自己的要求對文件系統(tǒng)進行定制,增加或刪除特定的功能,或進行用戶需要的進程調(diào)度。
第二,現(xiàn)有的文件系統(tǒng)為適應(yīng)多種文件系統(tǒng)的兼容,結(jié)構(gòu)復(fù)雜,規(guī)模龐大。當我們需要定制小內(nèi)核的操作系統(tǒng),并且此時只需要一種或兩種具體的文件系統(tǒng)時,以VFS為主體的標準文件系統(tǒng),就顯的過于臃腫,很多不必要的結(jié)構(gòu)無法刪除,成為系統(tǒng)負擔。特別是當我們以嵌入式系統(tǒng)為目標系統(tǒng)時,這個問題尤為突出。
第三,不便于文件系統(tǒng)的跨平臺移植。當我們需要將一個目標文件系統(tǒng)從一個操作系統(tǒng)平臺向Linux操作系統(tǒng)平臺移植,特別是當這個目標文件系統(tǒng)的內(nèi)部寫入了自行定制的各種算法,或者是此目標文件系統(tǒng)是按照原來操作系統(tǒng)對其的要求,進行組織的,此時,需要將其進行跨操作系統(tǒng)的移植以適應(yīng)VFS標準文件系統(tǒng)將是十分困難的。VFS為了接入各個具體的目標文件系統(tǒng),給出了super_block,file,inode,dentry等等多個數(shù)據(jù)接口結(jié)構(gòu)。由于操作系統(tǒng)平臺的不同,使一個原來不是Linux平臺上的文件系統(tǒng)找到、適應(yīng)、并接入上述的VFS的各個接口,即super_block,file,inode,dentry等等各個數(shù)據(jù)接口結(jié)構(gòu),是十分困難的事情。
中國專利申請,公開號CN 1553325A,提出了一種透明擴充文件系統(tǒng)功能的方法。其文件系統(tǒng)包括虛擬文件系統(tǒng)VFS單元和底層文件系統(tǒng),在VFS單元標準調(diào)用接口和底層文件系統(tǒng)接口之間,還設(shè)置了一個夾層文件系統(tǒng),當應(yīng)用程序發(fā)出一個文件系統(tǒng)的請求的時候,系統(tǒng)調(diào)用接口先將該請求提交給VFS單元處理函數(shù);VFS通過標準調(diào)用接口將請求提交給所述夾層文件系統(tǒng);由該夾層文件系統(tǒng)進行特殊事務(wù)處理后,再將事務(wù)提交給底層的具體文件系統(tǒng);最后由底層文件系統(tǒng)來實現(xiàn)實際的數(shù)據(jù)存取或輸入輸出。
該申請雖然增加了自己定制的夾層文件系統(tǒng),可以實現(xiàn)一些自行定義的特殊功能。但是由于VFS的存在,系統(tǒng)進程調(diào)度,緩沖區(qū)維護,設(shè)備維護,內(nèi)存管理等等方面仍然由VFS負責進行,使得利用自定義的夾層文件系統(tǒng)單元,去實現(xiàn)用戶自行定制功能的空間和可能性,大大降低。同時由于此結(jié)構(gòu)是在原有結(jié)構(gòu)的基礎(chǔ)之上添加新的內(nèi)容,使得整個內(nèi)核的體積進一步增大,不利于在嵌入式系統(tǒng)等資源受限系統(tǒng)的使用。同時,在文件系統(tǒng)的跨操作系統(tǒng)平臺移植的過程中,該申請與現(xiàn)有的Linux標準文件系統(tǒng)沒有區(qū)別,都包含VFS單元,移植仍然是十分困難的事情。由于操作系統(tǒng)平臺不同,使得文件系統(tǒng)對上對下的接口也不同,這樣從非Linux系統(tǒng)的文件系統(tǒng)提取適應(yīng)于Linux接口而接入Linux系統(tǒng)是非常困難的事情,這個發(fā)明并沒有完全解決上述問題。
因此,需要一種具有增強功能的文件系統(tǒng),使得用戶可以靈活的添加、刪除自行定制的各種功能,可以對用戶自行定制的文件系統(tǒng)方便地進行跨操作系統(tǒng)平臺移植,以及可以最大限度的減小代碼修改量,減小內(nèi)核體積。

發(fā)明內(nèi)容
本發(fā)明的目的在于,提出一種具有增強功能的文件系統(tǒng),使得用戶可以靈活的增加、刪除自行定制的各種功能;可以對用戶自行定制的文件系統(tǒng)進行方便的跨操作系統(tǒng)平臺移植;可以最大限度的減小代碼修改量,減小內(nèi)核體積;并且這種文件系統(tǒng)對原有的文件系統(tǒng)可以不產(chǎn)生任何破壞,可以根據(jù)需要啟動或關(guān)閉。
本發(fā)明提供一種操作系統(tǒng)下的文件系統(tǒng),所述文件系統(tǒng)包括入口的接口轉(zhuǎn)換單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口的接口轉(zhuǎn)換單元,其中,所述入口的接口轉(zhuǎn)換單元連接應(yīng)用程序單元和所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述入口的接口轉(zhuǎn)換單元與所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述物理文件系統(tǒng)單元與所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接所述頂部驅(qū)動單元與操作系統(tǒng)的驅(qū)動單元。
本發(fā)明提供一種操作系統(tǒng)下的文件系統(tǒng),所述文件系統(tǒng)包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口的接口轉(zhuǎn)換單元,其中所述入口的接口轉(zhuǎn)換單元連接應(yīng)用程序單元與所述管理單元,所述管理單元連接所述入口的接口轉(zhuǎn)換單元和所述物理文件系統(tǒng)單元所述物理文件系統(tǒng)單元連接所述管理單元與所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述物理文件系統(tǒng)單元與所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接所述頂部驅(qū)動單元與操作系統(tǒng)的驅(qū)動單元。
在本發(fā)明的文件系統(tǒng)中,所述入口的接口轉(zhuǎn)換單元用于將輸入的命令轉(zhuǎn)換成被所述管理單元所接受的格式,所述管理單元,對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,所述物理文件系統(tǒng)單元包括所述物理文件系統(tǒng),用于處理來自所述管理單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
在本發(fā)明的文件系統(tǒng),所述物理文件系統(tǒng)單元至少包括遵從標準協(xié)議的標準物理文件系統(tǒng),用戶定制的非標準物理文件系統(tǒng),增加的物理文件系統(tǒng),和從其他操作系統(tǒng)移植過來的、用戶定制的物理文件系統(tǒng)中的一種,所述管理單元包括用于管理和實現(xiàn)這些物理文件系統(tǒng)所需要的通用和特殊功能。
本發(fā)明的文件系統(tǒng),還可在所述管理單元中根據(jù)用戶需要加入特定的功能定制,來實現(xiàn)該功能要求,提供該功能。
在本發(fā)明的文件系統(tǒng),所述文件系統(tǒng)還可包括從另一操作系統(tǒng)移植過來的、帶有與原操作系統(tǒng)或原硬件設(shè)備相關(guān)的信息的目標文件系統(tǒng),所述目標文件系統(tǒng)與包括所述的文件系統(tǒng)相對應(yīng)的管理單元、物理文件系統(tǒng)單元和頂部驅(qū)動單元的部分或全部。
本發(fā)明還提供一種帶有本發(fā)明的文件系統(tǒng)的操作系統(tǒng)。該操作系統(tǒng)還可進一步包括含VFS的標準文件系統(tǒng)。
在操作系統(tǒng)中,本發(fā)明的文件系統(tǒng)可以是可隨時加載到操作系統(tǒng)或從操作系統(tǒng)卸載的模塊。本發(fā)明的文件系統(tǒng)也可作為操作系統(tǒng)內(nèi)核的一部分加入該操作系統(tǒng)或從操作系統(tǒng)內(nèi)核中去除。
本發(fā)明還提供一種構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括步驟設(shè)置包括入口的接口轉(zhuǎn)換單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元的文件系統(tǒng),其中,應(yīng)用程序單元連接所述入口的接口轉(zhuǎn)換單元,所述入口的接口轉(zhuǎn)換單元連接所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接操作系統(tǒng)的驅(qū)動單元。所述方法還包括步驟,通過所述入口的接口轉(zhuǎn)換單元將輸入的命令進行轉(zhuǎn)換后提供給所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元包括物理文件系統(tǒng),處理來自所述入口的接口轉(zhuǎn)換單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,通過所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
本發(fā)明還提供一種構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括步驟設(shè)置包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元的文件系統(tǒng),應(yīng)用程序單元連接所述入口的接口轉(zhuǎn)換單元,所述入口的接口轉(zhuǎn)換單元連接所述管理單元,所述管理單元連接所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接操作系統(tǒng)的驅(qū)動單元,其中,所述入口的接口轉(zhuǎn)換單元用于將輸入的命令轉(zhuǎn)換成被所述管理單元所接受的格式,所述管理單元,對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,所述物理文件系統(tǒng)單元包括所述物理文件系統(tǒng),用于處理來自所述管理單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,還包括實現(xiàn)通用和特殊事務(wù)處理的步驟,所述步驟包括在所述物理文件系統(tǒng)單元設(shè)置遵從標準協(xié)議的標準物理文件系統(tǒng)和/或用戶定制的非標準物理文件系統(tǒng),所述管理單元提供管理和實現(xiàn)標準和/或非標準物理文件系統(tǒng)所需要的通用和特殊功能。同時還可以在所述管理單元中,根據(jù)用戶需要,加入特定的功能定制,實現(xiàn)特定功能要求。更進一步,在特殊的情況下,可以省略所述管理單元,應(yīng)用程序命令,通過入口的接口轉(zhuǎn)換層,直接進入物理文件系統(tǒng)層。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括增加、刪除某項功能的步驟,所述步驟進一步包括在物理文件系統(tǒng)單元中增加、刪除相應(yīng)的物理文件系統(tǒng),或在已有物理文件系統(tǒng)增加、刪除與該項功能相應(yīng)的部分,修改所述管理單元和頂部驅(qū)動單元,提供或刪除相應(yīng)的功能支持以及驅(qū)動功能。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法還包括在所述管理單元中根據(jù)用戶需要加入功能定制,來實現(xiàn)該功能要求,提供該功能的步驟。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括跨平臺移植用戶定制的功能的步驟,所述步驟進一步包括在所述物理文件系統(tǒng)單元增加從另一個操作系統(tǒng)移植的用戶定制物理文件系統(tǒng),修改所述管理單元和頂部驅(qū)動單元,提供管理和實現(xiàn)被移植的所述物理文件系統(tǒng)所需要的通用和特殊功能以及驅(qū)動功能。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,還包括接入從另一操作系統(tǒng)移植過來的、帶有與原操作系統(tǒng)或原硬件設(shè)備相關(guān)的信息的目標文件系統(tǒng)的步驟,所述步驟進一步包括在所述目標文件系統(tǒng)設(shè)置與所述的文件系統(tǒng)相應(yīng)的管理單元、物理文件系統(tǒng)單元和頂部驅(qū)動單元,并且將與所述的文件系統(tǒng)的相應(yīng)部分進行連接的步驟。
本發(fā)明的文件系統(tǒng),減少VFS單元,并且根據(jù)需要設(shè)置管理單元,與現(xiàn)有技術(shù)相比,本發(fā)明的文件系統(tǒng)減少內(nèi)核了尺寸,能實現(xiàn)各種用戶自行定制的特殊事務(wù)處理,以及能方便實現(xiàn)地跨操作系統(tǒng)的移植。


圖1示出Linux下的VFS文件系統(tǒng);圖2示出Linux本發(fā)明的文件系統(tǒng)以及標準的VFS文件系統(tǒng);圖3示出uITRON系統(tǒng)中的文件系統(tǒng);圖4示出根據(jù)本發(fā)明的一個實施例,將文件系統(tǒng)從uITRON系統(tǒng)向Linux系統(tǒng)移植的示意圖;圖5示出本發(fā)明的一個實施例,在本發(fā)明的文件系統(tǒng)中對UDF物理文件系統(tǒng)添加實時性功能的示意圖;圖6示出根據(jù)本發(fā)明的一個實施例,對于管理單元進行修改的示意圖;和圖7示出根據(jù)本發(fā)明的實施例,對于頂部驅(qū)動單元進行修改的示意圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明再作進一步的詳細說明。
圖2的右側(cè)示出了本發(fā)明的文件系統(tǒng)。如圖2所示,本發(fā)明的文件系統(tǒng)包括文件系統(tǒng)入口的接口轉(zhuǎn)換單元1,管理單元2,物理文件系統(tǒng)單元3,頂部驅(qū)動單元4,和出口的接口轉(zhuǎn)換單元5。應(yīng)用程序單元連接入口的接口轉(zhuǎn)換單元1,入口的接口轉(zhuǎn)換單元1連接所述管理單元2,管理單元2連接物理文件系統(tǒng)單元3,物理文件系統(tǒng)單元3連接頂部驅(qū)動單元4,頂部驅(qū)動單元4連接出口的接口轉(zhuǎn)換單元5,和出口的接口轉(zhuǎn)換單元5連接操作系統(tǒng)的驅(qū)動單元。
當一個應(yīng)用程序向文件系統(tǒng)發(fā)出請求時,命令通過特定的方法,例如系統(tǒng)調(diào)用或是在原有已存在的系統(tǒng)調(diào)用的基礎(chǔ)上進行擴展,提交給入口的接口轉(zhuǎn)換單元1,通過接口轉(zhuǎn)換,使得輸入的命令被支持用戶自行定義的物理文件系統(tǒng)的管理單元2所接受。管理單元2提供特殊事務(wù)處理,負責實現(xiàn)用戶需要的各種定制,如進程的調(diào)度方法,實時性的算法,內(nèi)存管理等等。如果對于這些特殊的定制沒有需要,則這里的管理單元2可以省略。此后,進入物理文件系統(tǒng)單元3,在這里其中的物理文件系統(tǒng)可以是遵從標準協(xié)議的標準文件系統(tǒng),也可以是經(jīng)過用戶自行算法定制的非標準文件系統(tǒng),同時還可以是從其他平臺上移植過來的包含較多原來操作系統(tǒng)“痕跡”的目標文件系統(tǒng)。這里的“痕跡”是指,可以保留原來操作系統(tǒng)平臺對于標準物理文件系統(tǒng)實現(xiàn)的外層封裝,例如,Linux操作系統(tǒng)對標準的物理文件系統(tǒng),添加的基于VFS的封裝。經(jīng)過物理文件系統(tǒng)單元的處理,命令和數(shù)據(jù)經(jīng)由頂部驅(qū)動單元以及出口的接口轉(zhuǎn)換單元,轉(zhuǎn)化為操作系統(tǒng)能識別的命令,輸出文件系統(tǒng)部分,被操作系統(tǒng)原有的底層驅(qū)動單元接受,進行數(shù)據(jù)的進一步處理。
本發(fā)明的文件系統(tǒng),可省略位于入口的接口轉(zhuǎn)換單元1和物理文件系統(tǒng)單元3之間的管理單元2。因此,本發(fā)明的文件系統(tǒng)可包括文件系統(tǒng)入口的接口轉(zhuǎn)換單元1,物理文件系統(tǒng)單元3,頂部驅(qū)動單元4,和出口的接口轉(zhuǎn)換單元5,其中,由于省略了管理單元2,入口的接口轉(zhuǎn)換單元1直接與物理文件系統(tǒng)單元3連接。省略管理單元2是一種比較特殊的情況,此時,該文件系統(tǒng)也能提供需要的事務(wù)處理。
本發(fā)明的文件系統(tǒng),減少VFS單元,并且根據(jù)需要設(shè)置管理單元,與現(xiàn)有技術(shù)相比,本發(fā)明的文件系統(tǒng)減少內(nèi)核了尺寸,能實現(xiàn)用戶自行定制的特殊事務(wù)處理,以及能方便實現(xiàn)地跨操作系統(tǒng)的移植。
本發(fā)明的文件系統(tǒng)可單獨用于一個操作系統(tǒng)中,也可與標準的文件系統(tǒng)并行使用。本發(fā)明的文件系統(tǒng)可以是在操作系統(tǒng)中已有的文件系統(tǒng)的基礎(chǔ)上,平行的增加一個用戶自行定制的文件系統(tǒng),增加用戶對文件系統(tǒng)的特定功能定制,動態(tài)加載,方便跨操作系統(tǒng)的移植,減少內(nèi)核大小,實現(xiàn)各種特殊的應(yīng)用。
在帶有本發(fā)明的文件系統(tǒng)的操作系統(tǒng)中,應(yīng)用程序中可設(shè)立編譯開關(guān),用于提供應(yīng)用單元的命令進入標準文件系統(tǒng)還是進入本發(fā)明的文件系統(tǒng)的選擇。應(yīng)用單元的命令進入本發(fā)明的文件系統(tǒng)可以通過各種方法,其中包括,但不限于下列方式增加新的系統(tǒng)調(diào)用,這些新增加的系統(tǒng)調(diào)用指向本發(fā)明所述的文件系統(tǒng)。在應(yīng)用程序中設(shè)立編譯開關(guān),當需要使用新型的文件系統(tǒng)時,打開編譯開關(guān),應(yīng)用單元的文件系統(tǒng)的操作命令指向新增加的系統(tǒng)調(diào)用,應(yīng)用單元的命令通過所述新增加的系統(tǒng)調(diào)用,進入本發(fā)明的文件系統(tǒng)。如打開編譯開關(guān),使得文件系統(tǒng)的操作命令,如open,close...等指向新增加的系統(tǒng)調(diào)用,使得應(yīng)用單元的命令通過這些新增加的系統(tǒng)調(diào)用,進入操作系統(tǒng)內(nèi)核中本發(fā)明所述的文件系統(tǒng);當不需要使用基于本發(fā)明所述文件系統(tǒng)的文件系統(tǒng)算法實現(xiàn)時,可以關(guān)閉編譯開關(guān),使得應(yīng)用程序的操作命令,仍舊指向Linux下標準的文件系統(tǒng)的入口,執(zhí)行標準文件系統(tǒng)下的操作。
也可以在系統(tǒng)調(diào)用增加新的控制命令字,指向操作系統(tǒng)中本發(fā)明的文件系統(tǒng)的入口函數(shù),來調(diào)用本發(fā)明的文件系統(tǒng)。如在原有的文件系統(tǒng)調(diào)用操作函數(shù),如ioctl中,增加新的控制命令字,。通過應(yīng)用程序的編譯開關(guān),使得open,close...等應(yīng)用層文件操作函數(shù)由ioctl中對應(yīng)的新增加的命令字所代表,通過原有的系統(tǒng)調(diào)用,進入操作系統(tǒng)的內(nèi)核中本發(fā)明所述的文件系統(tǒng)。在內(nèi)核中,以上述ioctl命令的新的命令字做代表的命令,在入口轉(zhuǎn)換單元,被轉(zhuǎn)接到定制的物理文件系統(tǒng)單元的入口中。
顯然,在本發(fā)明的文件系統(tǒng)與標準的文件系統(tǒng)并行使用時,對于本領(lǐng)域人員來說,也可采用其它方式將應(yīng)用單元的命令接入本發(fā)明的文件系統(tǒng)。
在本發(fā)明的文件系統(tǒng),其管理單元2可以對物理文件單元中各個具體的物理文件系統(tǒng)進行管理和調(diào)度,并且可以用于實現(xiàn)用戶需要的各種自行定義的文件系統(tǒng)功能,如進程調(diào)度、各種算法、內(nèi)存管理等,當然也可用來實現(xiàn)一些通用的功能。如果用戶對于目標的文件系統(tǒng)沒有對應(yīng)于管理單元的特殊功能要求時,管理單元可以取消。這樣,用戶的請求命令通過入口的接口轉(zhuǎn)換單元直接進入物理文件系統(tǒng)單元。
在本發(fā)明的文件系統(tǒng),當用戶對一個目標文件系統(tǒng),進行跨操作系統(tǒng)平臺移植時,可以最大限度的保留原來操作系統(tǒng)對于物理文件系統(tǒng)單元的封裝,極大的減少跨平臺移植時的工作量和繁難程度。這里的“對于物理文件系統(tǒng)單元的封裝”正如上文所述的“痕跡”,它是一個操作系統(tǒng)為保持其特定功能和操作,而在具體的物理文件系統(tǒng)外面所添加的一層封裝,這層封裝正如Linux操作系統(tǒng)中的VFS單元,或是uITRON操作系統(tǒng)中的GFM單元一樣。
在本發(fā)明的文件系統(tǒng),當進行物理文件系統(tǒng)的跨平臺移植時,可以保留如上所述的原操作系統(tǒng)對物理文件系統(tǒng)單元的封裝,為減少工作量,這樣只需進行入口的接口轉(zhuǎn)接工作,對需要移植的目標文件系統(tǒng),無需進行很大的代碼修改工作,就可以成功的完成移植工作。但當為了減少內(nèi)核大小,適應(yīng)資源有限的系統(tǒng),如嵌入式操作系統(tǒng)時,此時如使用的目標文件系統(tǒng)是特定的某一個目標文件系統(tǒng),就可以從應(yīng)用單元,直接通過入口轉(zhuǎn)換單元,將命令傳輸給管理單元或具體的目標文件系統(tǒng),減少了VFS單元,這樣可以減少內(nèi)核的大小。在系統(tǒng)資源有限的嵌入式系統(tǒng)中,具有很大的優(yōu)勢。
在本發(fā)明的文件系統(tǒng),物理文件系統(tǒng)單元中可包括遵從標準協(xié)議的標準物理文件系統(tǒng),和/或用戶定制的非標準物理文件系統(tǒng),還可包括增加的物理文件系統(tǒng),包括標準/非標準的物理文件系統(tǒng),和從其他操作系統(tǒng)移植過來的、用戶定制的標準/非標準物理文件系統(tǒng),等等。顯然,根據(jù)需要,本發(fā)明的物理文件系統(tǒng)單元可包括上述一種或多種物理文件系統(tǒng),當然也可包括其它的能實現(xiàn)某項功能的內(nèi)容或部分,等等。在本說明書中,用戶不僅包括使用含本發(fā)明文件系統(tǒng)的操作系統(tǒng)最終用戶,也包括與本發(fā)明的文件系統(tǒng)或含本發(fā)明文件系統(tǒng)的操作系統(tǒng)有關(guān)的其它方,包括,但不限于提供本發(fā)明的文件系統(tǒng)以及提供增加、刪除、跨平臺移植等服務(wù)的制造商和供應(yīng)商,等等。
在本發(fā)明的文件系統(tǒng),還可通過在管理單元中包括根據(jù)需要加入功能定制,如根據(jù)需要而加入的特定的功能定制,來實現(xiàn)該特定的功能定制,提供該功能,從而滿足需要。
本發(fā)明的文件系統(tǒng)中,管理單元可包括數(shù)個提供通用和特殊功能的模塊,頂部驅(qū)動單元可包括數(shù)個有通用或特殊驅(qū)動功能的模塊,支持物理文件系統(tǒng)單元中的通用和特殊物理文件系統(tǒng),提供通用和特殊的事務(wù)處理以及完成用戶其他功能的特殊定制要求。當根據(jù)用戶要求,需要增加或刪除某項的功能時,可通過將該物理文件系統(tǒng)引入物理文件系統(tǒng)單元或從其刪除,以及對管理單元和頂部驅(qū)動單元進行相應(yīng)修改,如增加或刪除相應(yīng)的模塊來對其進行修改。當根據(jù)用戶要求,需要跨操作系統(tǒng)移植某項物理文件系統(tǒng)時,可將物理文件系統(tǒng)移植到本發(fā)明文件系統(tǒng)的物理文件系統(tǒng)單元,通過對管理單元和頂部驅(qū)動單元的相應(yīng)修改來完成。因此,本發(fā)明的文件系統(tǒng)具有足夠的靈活性,能按用戶要求增加或刪除某項功能,并且移植方便。
對于帶有本發(fā)明的文件系統(tǒng)的操作系統(tǒng),本發(fā)明的文件系統(tǒng)可作為操作系統(tǒng)內(nèi)核的一部分。如本發(fā)明的文件系統(tǒng)以通過靜態(tài)編譯,成為操作系統(tǒng)內(nèi)核的一部分,每次啟動時可以自動加載,也可以通過模塊的方法,即將本發(fā)明的文件系統(tǒng)作為一個模塊,在需要的時候動態(tài)加載到操作系統(tǒng),或動態(tài)地從操作系統(tǒng)卸載。加載時,由本發(fā)明的文件系統(tǒng)截獲應(yīng)用程序發(fā)向原文件系統(tǒng)的命令;卸載后,則恢復(fù)原來的操作流程,由標準文件系統(tǒng)的VFS單元接受應(yīng)用程序的命令。
下面,根據(jù)本發(fā)明的一個實施例,即通過從uITRON操作系統(tǒng)上移植自行定制的目標文件系統(tǒng)到Linux系統(tǒng)的本發(fā)明的文件系統(tǒng)中的具體實施例,來說明本發(fā)明的文件系統(tǒng)對從其他平臺上移植過來的包含較多原來操作系統(tǒng)“痕跡”的目標文件系統(tǒng)的移植,該移植是易于實現(xiàn)。
下面首先介紹本移植過程的技術(shù)背景。如圖3所示,在uITRON下,帶有物理文件系統(tǒng),分別是UDFM與RFM,還帶有GFM單元,同時,在UDFM與RFM中,其進程調(diào)度方式、數(shù)據(jù)結(jié)構(gòu)、內(nèi)存分配方式等等是按照用戶自行定制的。也就是說這里需要移植的目標文件系統(tǒng)不是一個標準的VFS文件系統(tǒng),而是經(jīng)過用戶特殊定制后的文件系統(tǒng)。
如果按照通常的移植方法,是考慮將這個目標文件系統(tǒng)的內(nèi)部進行重新的調(diào)整,分離出純粹的物理文件系統(tǒng)以及自行定制的算法單元兩個部分,并進而用Linux文件系統(tǒng)中表示VSF文件系統(tǒng)的四個接口數(shù)據(jù)結(jié)構(gòu)super_block,file,inode,dentry來重新表示目標文件系統(tǒng)的接口,再將自行定制的算法重新融合于Linux操作系統(tǒng)中,將是非常困難和難以完成的。
如圖3所示,在uITRON系統(tǒng)中的文件系統(tǒng)部分包括GFM,UDFM,RFM,RE_RWDRIVE,RE_PRDRIVE,RE_PRWDRIVE,RE_RDRIVE,RE_UPPDRIVE等部分,在Linux系統(tǒng)中的標準文件系統(tǒng)包括VFS,UDF,CDROM.C等結(jié)構(gòu)。此時我們需要采用本發(fā)明所述的文件系統(tǒng)。根據(jù)本發(fā)明所述的文件系統(tǒng),將uITRON操作系統(tǒng)中文件系統(tǒng)的各部分設(shè)置成與本發(fā)明的文件系統(tǒng)相應(yīng)的管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,其中,GFM單元設(shè)置為對文件系統(tǒng)進行進程調(diào)度、內(nèi)存分配等工作的統(tǒng)一管理單元,UDFM與RFM為將具體的文件系統(tǒng)與特定的算法結(jié)合后的物理文件系統(tǒng)。其下的RE_RWDRIVE,RE_PRDRIVE,RE_PRWDRIVE,RE_RDRIVE,RE_UPPDRIVE是頂部驅(qū)動單元,它們用于實現(xiàn)特定的驅(qū)動功能。按圖3箭頭表示的流程線的方向,將uITRON操作系統(tǒng)中文件系統(tǒng)的各部分與本發(fā)明的文件系統(tǒng)中的相應(yīng)部分進行連接,從而移植到本發(fā)明的文件系統(tǒng),如圖4右側(cè)所示。此時,移植后的目標文件系統(tǒng)就是按照本發(fā)明所述的方式進行安排的。其中包括了I/F change 1,GFM,UDFM & RFM,RE_RWDRIVE &RE_PRDRIVE & RE_PRWDRIVE & RE_RDRIVE & RE_UPPDRIVE,I/F change 2它們分別對應(yīng)了本發(fā)明的文件系統(tǒng)中的入口接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口接口轉(zhuǎn)換單元,這樣,需要移植的用戶的定制內(nèi)容已經(jīng)全部融合于本發(fā)明的文件系統(tǒng)中。
移植后,應(yīng)用單元命令通過入口接口轉(zhuǎn)換單元1,入口的接口轉(zhuǎn)換單元1將輸入的命令轉(zhuǎn)換成被管理單元2所接受的格式,管理單元2對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,物理文件系統(tǒng)單元包括UDFM和RFM,處理來自管理單元2的命令和數(shù)據(jù),然后,命令和數(shù)據(jù)經(jīng)由頂部驅(qū)動單元4處理,此后通過出口的接口轉(zhuǎn)換單元5,將命令請求傳輸?shù)降讓域?qū)動單元,進而使驅(qū)動器按照設(shè)定的功能工作。顯然,在移植時可對管理單元2和頂部驅(qū)動單元4進行修改,以適于與本發(fā)明的文件系統(tǒng)中的相應(yīng)部分的連接。
其中由于目標文件系統(tǒng)涉及到了對C語言標準庫函數(shù)以及與操作系統(tǒng)相關(guān)部分函數(shù)的調(diào)用,所以我們將目標文件系統(tǒng)進行移植之后,需要重新編寫此類相關(guān)的函數(shù)。
在上面的實施例中采用了將目標文件系統(tǒng)進行整體移植的方式,避免了根據(jù)VFS的需要進行專用數(shù)據(jù)結(jié)構(gòu)的接口連接,而這種接口連接的過程是十分困難的,同時本過程沒有更改文件系統(tǒng)的內(nèi)部結(jié)構(gòu)、流程、算法,本過程僅僅涉及進、出接口部分的改寫,添加了需要的標準C語言庫以及系統(tǒng)相關(guān)部分。這一過程簡單、清晰、工作量低,可以快速、有效的進行跨系統(tǒng)移植,并在Linux中建立需要的目標文件系統(tǒng)。
同時由于新移植的部分可以采用模塊的方式,進行動態(tài)的移植,使得本發(fā)明的文件系統(tǒng)具有很大的靈活性,可以簡單的隨時進行添加和卸載。卸載之后,對于原來的操作系統(tǒng)內(nèi)核,特別是原有的文件系統(tǒng)沒有任何的影響。
本發(fā)明還提供一種構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括步驟設(shè)置包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元的文件系統(tǒng),應(yīng)用程序單元連接所述入口的接口轉(zhuǎn)換單元,所述入口的接口轉(zhuǎn)換單元連接所述管理單元,所述管理單元連接所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接操作系統(tǒng)的驅(qū)動單元,其中,所述入口的接口轉(zhuǎn)換單元用于將輸入的命令轉(zhuǎn)換成被所述管理單元所接受的格式,所述管理單元,對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,所述物理文件系統(tǒng)單元包括物理文件系統(tǒng),用于處理來自所述管理單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
本發(fā)明的方法中,還可省略管理單元。在此情況下,本發(fā)明的方法包括將本發(fā)明的文件系統(tǒng)設(shè)置成包括入口的接口轉(zhuǎn)換單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元,其中,由于省略了管理單元,入口的接口轉(zhuǎn)換單元直接與物理文件系統(tǒng)單元連接。,本發(fā)明的方法還包括步驟,通過入口的接口轉(zhuǎn)換單元將輸入的命令進行轉(zhuǎn)換后提供給物理文件系統(tǒng)單元,物理文件系統(tǒng)單元包括該物理文件系統(tǒng),處理來自入口的接口轉(zhuǎn)換單元的命令和數(shù)據(jù),并將處理后的命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元,提供到出口的接口轉(zhuǎn)換單元,通過出口的接口轉(zhuǎn)換單元將來自頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù)后,再其提供給操作系統(tǒng)的驅(qū)動單元。本發(fā)明的方法在本發(fā)明的文件系統(tǒng)中省略管理單元是一種比較特殊的情況,省略后也能提供需要的事務(wù)處理。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,還包括實現(xiàn)通用和特殊事務(wù)處理的步驟,所述步驟包括在所述物理文件系統(tǒng)單元設(shè)置遵從標準協(xié)議的標準物理文件系統(tǒng)和/或用戶定制的非標準物理文件系統(tǒng),所述管理單元提供管理和實現(xiàn)標準和/或非標準物理文件系統(tǒng)所需要的通用和特殊功能。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,還包括實現(xiàn)物理文件系統(tǒng)跨平臺移植的步驟,所述步驟包括將物理文件系統(tǒng)從一個操作系統(tǒng)移植到所述物理文件系統(tǒng)單元,修改所述管理單元,提供管理和實現(xiàn)被移植的所述物理文件系統(tǒng)所需要的通用和特殊功能。
本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法,還包括接入從另一操作系統(tǒng)移植過來的、帶有與原操作系統(tǒng)或原硬件設(shè)備相關(guān)的信息的目標文件系統(tǒng)的步驟,所述步驟進一步包括在所述目標文件系統(tǒng)設(shè)置與所述的文件系統(tǒng)相應(yīng)的管理單元、文件算法實現(xiàn)單元和頂部驅(qū)動單元,并且將與所述的文件系統(tǒng)的相應(yīng)部分進行連接的步驟。
在本發(fā)明的文件系統(tǒng),也可進行目標物理文件系統(tǒng)的跨操作系統(tǒng)的移植,通過對管理單元和頂部驅(qū)動單元進行修改,使其提供支持移植的目標物理文件系統(tǒng)的通過和特殊功能,就能將目標物理文件系統(tǒng)從另一操作系統(tǒng)移植到本發(fā)明的文件系統(tǒng)中。
下面通過一個實施例,來說明在本發(fā)明的文件系統(tǒng)中添加用戶要求的特殊功能。在本實施例中,可通過在已有物理文件系統(tǒng)中增加相應(yīng)的功能,以及對管理單元和頂部驅(qū)動單元進行相應(yīng)修改,使得在文件系統(tǒng)增加用戶定制的某項功能。
現(xiàn)在,介紹如何在本發(fā)明的文件系統(tǒng),在UDF物理文件系統(tǒng)的基礎(chǔ)上添加實現(xiàn)實時性的功能。
UDF2.01的協(xié)議規(guī)范包括了兩個部分,一個是標準部分,另一個是附加部分。標準部分實現(xiàn)了UDF文件系統(tǒng)的主體算法;而在附加部分中,規(guī)范定義了針對于實時性操作所需要的一些參數(shù)和方法。在現(xiàn)有的Linux不同的內(nèi)核版本中,如Linux 2.4.20內(nèi)核中實現(xiàn)的UDF 2.01版本和在Linux 2.6.1中實現(xiàn)的UDF 2.5,都是協(xié)議中的標準部分的實現(xiàn)。但是并沒有實現(xiàn)協(xié)議中的附加部分,也就是并不支持實時性的功能。
對于現(xiàn)有的Linux文件系統(tǒng),雖然可以經(jīng)過努力在其中實現(xiàn)附加部分規(guī)定的實時性的功能,但是由于目前Linux文件系統(tǒng)采用了VFS的文件系統(tǒng),使得上述的實時性功能,并沒有顯示出良好的性能。在VFS文件系統(tǒng)中,數(shù)據(jù)的進程管理、調(diào)度,內(nèi)存的管理等方面均通過VFS中的若干數(shù)據(jù)結(jié)構(gòu)實現(xiàn),如inode等。當通過上述方式進行數(shù)據(jù)的傳輸?shù)臅r候,所有的事務(wù)均由Linux內(nèi)核中的特殊進程調(diào)度算法進行。而Linux的內(nèi)核在實時性處理方面并沒有進行專門的設(shè)計,這使得這種非直接的方式,導(dǎo)致了某些具有用戶高優(yōu)先級的進程不能夠真的最快被處理。使得實時性的功能不能夠完全實現(xiàn)。目前Linux各版本中的UDF部分,并沒有包括標準UDF協(xié)議中擴展部分的實時性功能,也正是根源于此。
本發(fā)明所述的文件系統(tǒng)由于去除了VFS單元,并且引入了用戶自定義的用戶管理單元。所以可以通過專門的設(shè)計,良好支持上述實時性功能,解決標準Linux文件系統(tǒng)下,對于實時性功能支持不好的缺點。
圖5示出在本實施例下本發(fā)明的文件系統(tǒng)。在標準UDF物理文件系統(tǒng)的基礎(chǔ)上,在本發(fā)明的文件系統(tǒng)中增加實時性功能的流程或方法如下修改管理單元,使其除了常規(guī)的關(guān)于進程調(diào)度和內(nèi)存管理的相關(guān)實現(xiàn)之外,還要根據(jù)實時性的要求添加實現(xiàn)UDF協(xié)議以及用戶,關(guān)于實時性的特殊定制。這種特殊的定制,在此稱為“修改1”,如圖5中所示。
在UDF物理文件系統(tǒng)單元,添加具體實現(xiàn)UDF實時性功能要求的各種文件系統(tǒng)相關(guān)的算法、協(xié)議、規(guī)定,如果UDF已包含該實時性功能的話,本步驟可以省略。
修改頂部驅(qū)動單元,在這里,除了關(guān)于驅(qū)動的常規(guī)實現(xiàn)之外,還要添加實現(xiàn)UDF協(xié)議以及用戶,針對實時性要求的特殊定制,在圖5中稱為“修改2”。
通過上述方法增加實時性功能后,本發(fā)明的文件系統(tǒng)就可提供實時性功能,實現(xiàn)這一特殊事務(wù)處理。具體流程如下1.應(yīng)用程序的操作請求,首先進入輸入的接口轉(zhuǎn)換單元,在這里,操作請求的數(shù)據(jù)和參數(shù)等,將被翻譯為用戶定制的管理單元能夠理解的命令語言。
2.然后,進入管理單元,在這里根據(jù)實時性的要求,除了常規(guī)的關(guān)于進程調(diào)度和內(nèi)存管理的相關(guān)實現(xiàn)之外,還要實現(xiàn)UDF協(xié)議以及用戶,關(guān)于實時性的特殊定制。
3.此后,數(shù)據(jù)流進入UDF物理文件系統(tǒng)單元,具體實現(xiàn)UDF要求的各種文件系統(tǒng)相關(guān)的算法、協(xié)議、規(guī)定。
4.從UDF算法實現(xiàn)單元輸出后,數(shù)據(jù)流進入頂部驅(qū)動單元,在這里,除了關(guān)于驅(qū)動的常規(guī)實現(xiàn)之外,還要實現(xiàn)UDF協(xié)議以及用戶,針對實時性要求的特殊定制。
5.最后,進入出口接口轉(zhuǎn)換單元,在這里,將數(shù)據(jù)流中的各種數(shù)據(jù),參數(shù)等轉(zhuǎn)化為底層驅(qū)動單元能夠理解的格式,輸入到底層文件系統(tǒng)中。
在本發(fā)明方法中,“修改1”是通過在管理單元2中添加實時性判斷和實時性處理等模塊進行的。當數(shù)據(jù)流進入管理單元后,其流程可按照圖6所示的方式進行1.進入管理單元后,首先進入“實時性判斷模塊”100,根據(jù)相應(yīng)標志位的說明,系統(tǒng)判斷此數(shù)據(jù)流是否為具有實時性的要求。
2.如果具有實時性的要求,那么進入“實時性處理模塊”102,按照UDF協(xié)議規(guī)范進行相應(yīng)的實時性功能的定制和實現(xiàn)。此步驟完成后,進到步驟4。
3.如果沒有實時性的要求,那么進入“通用數(shù)據(jù)處理操作模塊”101,進行相應(yīng)的處理后,進到步驟4。
4.上述輸出的數(shù)據(jù)流,進入進行其他功能處理的“其他功能管理模塊”103,之后完成此部分的實現(xiàn),進入UDF的算法實現(xiàn)單元。
在本發(fā)明方法中,“修改2”是通過在頂部驅(qū)動單元4中修改或添加數(shù)據(jù)流類型或?qū)崟r性控制等模塊進行的。當數(shù)據(jù)流進入頂部驅(qū)動單元后,其流程可按照圖7所示的方式進行1.數(shù)據(jù)流經(jīng)過UDF物理文件系統(tǒng)單元處理后,輸出到頂部驅(qū)動單元。在這里首先判斷傳進來的數(shù)據(jù)流的類型,此功能由104模塊實現(xiàn)。按照“一般數(shù)據(jù)流”,“流媒體數(shù)據(jù)流”和“實時性數(shù)據(jù)流”三種情況,分別進入對應(yīng)的數(shù)據(jù)處理模塊進行處理。上述三個模塊分別在圖中表示為105模塊,106模塊和107模塊。
2.經(jīng)過處理后,數(shù)據(jù)流進入頂部驅(qū)動單元中的其他控制部分,圖中108模塊。
3.經(jīng)過頂部驅(qū)動單元的所有處理后,數(shù)據(jù)流進入出口接口轉(zhuǎn)換單元。
為了使本文件系統(tǒng)在實際使用中更為靈活,此系統(tǒng)可以設(shè)計為一個可安裝模塊,在不用對于Linux內(nèi)容的全部源文件進行重新編譯的情況下,將此可安裝模塊動態(tài)的插入運行中的內(nèi)核中,使之成為內(nèi)核的一個有機整體,從而實現(xiàn)本發(fā)明所述的新型文件系統(tǒng)所具有的各項特殊的功能;或者從內(nèi)核中移走已經(jīng)安裝了的模塊,從而取消Linux內(nèi)核對于新型文件系統(tǒng)的和各項特殊功能的支持。例如,在Linux中,其具體的實現(xiàn)方式使通過調(diào)用(module_init)(初始化新型文件系統(tǒng))和(module_exit)(推出新型文件系統(tǒng))來實現(xiàn)的。在初始化新型文件系統(tǒng)使,注冊新型文件系統(tǒng);而在推出新型文件系統(tǒng)使,取消已經(jīng)注冊的新型文件系統(tǒng)。
在本發(fā)明的構(gòu)建及增強文件系統(tǒng)功能的方法中,還可包括通過在管理單元中根據(jù)需要加入功能定制,如某些特定的功能定制,來提供所定制的功能,實現(xiàn)該功能要求的步驟。
本發(fā)明還提供本發(fā)明的文件系統(tǒng)中增加、刪除某項功能的增強文件系統(tǒng)功能的方法。如在物理文件系統(tǒng)單元中根據(jù)需要或定制增加、刪除相應(yīng)的物理文件系統(tǒng),如提供該其功能的物理文件系統(tǒng),或者在已有物理文件系統(tǒng)增加、刪除與該項功能對應(yīng)的相應(yīng)部分,如具有該功能的部分,通過修改管理單元和頂部驅(qū)動單元,如根據(jù)增加的物理文件系統(tǒng)或在物理文件系統(tǒng)增加的相應(yīng)部分,相應(yīng)修改管理單元和頂部驅(qū)動單元,以提供管理和實現(xiàn)所增加的物理文件系統(tǒng)或相應(yīng)部分所需要的通用和特殊功能以及驅(qū)動功能,進而實現(xiàn)功能,或者根據(jù)刪除和物理文件系統(tǒng)或從物理文件系統(tǒng)刪除相應(yīng)部分,修改管理單元和頂部驅(qū)動單元,從中刪除與之相對應(yīng)的對該項功能的支持以及驅(qū)動功能,進行實現(xiàn)從本發(fā)明的文件系統(tǒng)刪除該項功能。
本發(fā)明所述的一種操作系統(tǒng)下的文件系統(tǒng),以及帶有本發(fā)明文件系統(tǒng)的操作系統(tǒng)和一種構(gòu)建及增強文件系統(tǒng)功能的方法,可以用在,但不限于下列產(chǎn)品和技術(shù)中DVD錄像機,DVD攝像機,硬盤錄像機,硬盤攝像機,以及與DVD,硬盤等記錄介質(zhì)相關(guān)的產(chǎn)品、設(shè)備和技術(shù)。
最后應(yīng)該說明的是以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解依然可以對本發(fā)明進行修改或者等同的替換,對于不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種操作系統(tǒng)下的文件系統(tǒng),所述文件系統(tǒng)包括入口的接口轉(zhuǎn)換單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口的接口轉(zhuǎn)換單元,其中,所述入口的接口轉(zhuǎn)換單元連接應(yīng)用程序單元和所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述入口的接口轉(zhuǎn)換單元與所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述物理文件系統(tǒng)單元與所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接所述頂部驅(qū)動單元與操作系統(tǒng)的驅(qū)動單元。
2.一種操作系統(tǒng)下的文件系統(tǒng),所述文件系統(tǒng)包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口的接口轉(zhuǎn)換單元,其中所述入口的接口轉(zhuǎn)換單元連接應(yīng)用程序單元與所述管理單元,所述管理單元連接所述入口的接口轉(zhuǎn)換單元和所述物理文件系統(tǒng)單元所述物理文件系統(tǒng)單元連接所述管理單元與所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述物理文件系統(tǒng)單元與所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接所述頂部驅(qū)動單元與操作系統(tǒng)的驅(qū)動單元。
3.如權(quán)利要求2所述的文件系統(tǒng),其特征在于所述入口的接口轉(zhuǎn)換單元用于將輸入的命令轉(zhuǎn)換成被所述管理單元所接受的格式,所述管理單元,對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,所述物理文件系統(tǒng)單元包括所述物理文件系統(tǒng),用于處理來自所述管理單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
4.如權(quán)利要求3所述的文件系統(tǒng),其特征在于所述物理文件系統(tǒng)單元至少包括遵從標準協(xié)議的標準物理文件系統(tǒng),用戶定制的非標準物理文件系統(tǒng),增加的物理文件系統(tǒng),和從其他操作系統(tǒng)移植過來的、用戶定制的物理文件系統(tǒng)中的一種,所述管理單元包括用于管理和實現(xiàn)這些物理文件系統(tǒng)所需要的通用和特殊功能。
5.如權(quán)利要求3所述的文件系統(tǒng),其特征在于所述管理單元還包括根據(jù)需要加入的功能定制,來提供該功能。
6.如權(quán)利要求3所述的文件系統(tǒng),其特征在于,所述文件系統(tǒng)還包括從另一操作系統(tǒng)移植過來的、帶有與原操作系統(tǒng)或原硬件設(shè)備相關(guān)的信息的目標文件系統(tǒng),所述目標文件系統(tǒng)包括與所述的文件系統(tǒng)相對應(yīng)的管理單元、物理文件系統(tǒng)單元和頂部驅(qū)動單元的部分或全部。
7.一種帶有如權(quán)利要求1-6任何一個所述的文件系統(tǒng)的操作系統(tǒng)。
8.如權(quán)利要求7所述的操作系統(tǒng),進一步包括含VFS的標準文件系統(tǒng),其中,應(yīng)用程序中設(shè)立編譯開關(guān),用于提供應(yīng)用單元的命令進入標準文件系統(tǒng)還是進入如權(quán)利要求1-6任何一個所述的文件系統(tǒng)的選擇。
9如權(quán)利要求8所述的操作系統(tǒng),其特征在于,打開所述編譯開關(guān),應(yīng)用單元的文件系統(tǒng)的操作命令指向新增加的系統(tǒng)調(diào)用,應(yīng)用單元的命令通過所述新增加的系統(tǒng)調(diào)用,進入如權(quán)利要求1-6任何一個所述的文件系統(tǒng)。
10.如權(quán)利要求8所述的操作系統(tǒng),其特征在于,在系統(tǒng)調(diào)用增加新的控制命令字,指向所述操作系統(tǒng)中的如權(quán)利要求1-6任何一個所述的文件系統(tǒng)的入口函數(shù),來調(diào)用如權(quán)利要求1-6任何一個所述的文件系統(tǒng)。
11.如權(quán)利要求7所述的操作系統(tǒng),其中,如權(quán)利要求1-6任何一個所述的文件系統(tǒng)作為一個模塊,被隨時加載到所述的操作系統(tǒng)或從該操作系統(tǒng)卸載。
12.如權(quán)利要求7所述的操作系統(tǒng),其中,如權(quán)利要求1-6任何一個所述的文件系統(tǒng)可作為操作系統(tǒng)內(nèi)核的一部分。
13.一種構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括步驟設(shè)置包括入口的接口轉(zhuǎn)換單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元的文件系統(tǒng),其中,應(yīng)用程序單元連接所述入口的接口轉(zhuǎn)換單元,所述入口的接口轉(zhuǎn)換單元連接所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接操作系統(tǒng)的驅(qū)動單元,所述方法還包括步驟,通過所述入口的接口轉(zhuǎn)換單元將輸入的命令進行轉(zhuǎn)換后提供給所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元包括物理文件系統(tǒng),處理來自所述入口的接口轉(zhuǎn)換單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,通過所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
14.一種構(gòu)建及增強文件系統(tǒng)功能的方法,所述方法包括步驟設(shè)置包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,和出口的接口轉(zhuǎn)換單元的文件系統(tǒng),其中,應(yīng)用程序單元連接所述入口的接口轉(zhuǎn)換單元,所述入口的接口轉(zhuǎn)換單元連接所述管理單元,所述管理單元連接所述物理文件系統(tǒng)單元,所述物理文件系統(tǒng)單元連接所述頂部驅(qū)動單元,所述頂部驅(qū)動單元連接所述出口的接口轉(zhuǎn)換單元,和所述出口的接口轉(zhuǎn)換單元連接操作系統(tǒng)的驅(qū)動單元,所述方法還包括步驟,通過所述入口的接口轉(zhuǎn)換單元將輸入的命令轉(zhuǎn)換成被所述管理單元所接受的格式,通過所述管理單元對輸入的命令和數(shù)據(jù)進行處理,提供對物理文件系統(tǒng)的支持,在所述物理文件系統(tǒng)單元中包括所述物理文件系統(tǒng),由此處理來自所述管理單元的命令和數(shù)據(jù),命令和數(shù)據(jù)經(jīng)由所述頂部驅(qū)動單元處理后,到所述出口的接口轉(zhuǎn)換單元,通過所述出口的接口轉(zhuǎn)換單元將來自所述頂部驅(qū)動單元的命令和數(shù)據(jù)轉(zhuǎn)換為被操作系統(tǒng)的驅(qū)動單元接受的、硬件設(shè)備能識別的控制命令與數(shù)據(jù),并將其提供給操作系統(tǒng)的驅(qū)動單元。
15.如權(quán)利要求14所述構(gòu)建及增強文件系統(tǒng)功能的方法,其特征在于,所述方法包括實現(xiàn)通用和特殊事務(wù)處理的步驟,所述步驟包括在所述物理文件系統(tǒng)單元設(shè)置遵從標準協(xié)議的標準物理文件系統(tǒng)和/或用戶定制的非標準物理文件系統(tǒng),和通過所述管理單元提供管理和實現(xiàn)標準和/或非標準物理文件系統(tǒng)所需要的通用和特殊功能。
16.如權(quán)利要求14或15所述構(gòu)建及增強文件系統(tǒng)功能的方法,其特征在于,所述方法包括在所述管理單元中根據(jù)用戶需要加入功能定制,來實現(xiàn)該功能要求的步驟
17.如權(quán)利要求14或15所述構(gòu)建及增強文件系統(tǒng)功能的方法,其特征在于, 所述方法包括增加、刪除某項功能的步驟,所述步驟進一步包括在物理文件系統(tǒng)單元中增加、刪除相應(yīng)的物理文件系統(tǒng),或在已有物理文件系統(tǒng)增加、刪除與該項功能相應(yīng)的部分,修改所述管理單元和頂部驅(qū)動單元,提供或刪除相應(yīng)的功能支持以及驅(qū)動功能。
18.如權(quán)利要求14或15所述構(gòu)建及增強文件系統(tǒng)功能的方法,其特征在于, 所述方法包括跨平臺移植用戶定制的功能的步驟,所述步驟進一步包括在所述物理文件系統(tǒng)單元增加從另一個操作系統(tǒng)移植過來的用戶定制的物理文件系統(tǒng),修改所述管理單元和頂部驅(qū)動單元,提供管理和實現(xiàn)被移植的所述物理文件系統(tǒng)所需要的通用和特殊功能以及驅(qū)動功能。
19.如權(quán)利要求14或15所述的構(gòu)建及增強文件系統(tǒng)功能的方法,其特征在于,所述方法包括接入從另一操作系統(tǒng)移植過來的、帶有與原操作系統(tǒng)或原硬件設(shè)備相關(guān)的信息的目標文件系統(tǒng)的步驟,所述步驟進一步包括在所述目標文件系統(tǒng)設(shè)置與所述的文件系統(tǒng)相應(yīng)的管理單元、物理文件系統(tǒng)單元和頂部驅(qū)動單元,并且將其與所述的文件系統(tǒng)的相應(yīng)部分進行連接的步驟。
全文摘要
本發(fā)明涉及一種操作系統(tǒng)下的文件系統(tǒng),該文件系統(tǒng)包括入口的接口轉(zhuǎn)換單元,管理單元,物理文件系統(tǒng)單元,頂部驅(qū)動單元,出口的接口轉(zhuǎn)換單元。入口的接口轉(zhuǎn)換單元連接應(yīng)用程序單元與管理單元,管理單元連接入口的接口轉(zhuǎn)換單元和物理文件系統(tǒng)單元,物理文件系統(tǒng)單元連接管理單元與頂部驅(qū)動單元,頂部驅(qū)動單元連接物理文件系統(tǒng)單元與出口的接口轉(zhuǎn)換單元,和出口的接口轉(zhuǎn)換單元連接頂部驅(qū)動單元與操作系統(tǒng)的驅(qū)動單元。本發(fā)明的文件系統(tǒng),減少了Linux標準文件系統(tǒng)下的VFS單元,減少了內(nèi)核尺寸,能實現(xiàn)各種用戶自行定制的特殊事務(wù)處理,以及能方便地實現(xiàn)跨操作系統(tǒng)的移植。本發(fā)明還包括帶有本發(fā)明文件系統(tǒng)的操作系統(tǒng),以及涉及一種構(gòu)建及增強文件系統(tǒng)功能的方法。
文檔編號G06F9/44GK1841317SQ20051005985
公開日2006年10月4日 申請日期2005年3月31日 優(yōu)先權(quán)日2005年3月31日
發(fā)明者孟宇, 張志剛, 王鴻鳴, 黑田昌芳 申請人:株式會社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1