版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2024/1/15Page1第9章嵌入式文件系統(tǒng)與存儲(chǔ)技術(shù)處理文件的操作系統(tǒng)的局部稱(chēng)為文件系統(tǒng),是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件,管理文件的存儲(chǔ)、檢索、更新,提供平安可靠的共享和保護(hù)手段,并且方便用戶(hù)使用。文件系統(tǒng)的功能是進(jìn)行文件的構(gòu)造、命名、存取、保護(hù)等。文件系統(tǒng)的存儲(chǔ)媒質(zhì)可以是磁盤(pán)〔軟盤(pán)、硬盤(pán)〕、光盤(pán)、FLASH〔盤(pán)〕、RAM、ROM、網(wǎng)絡(luò)等。2024/1/15Page2第9章嵌入式文件系統(tǒng)與存儲(chǔ)技術(shù)
嵌入式文件系統(tǒng)的功能和特點(diǎn)9.1Linux常見(jiàn)的文件系統(tǒng)9.2Linux文件結(jié)構(gòu)9.3Flash存儲(chǔ)技術(shù)9.42024/1/15Page3第9章嵌入式文件系統(tǒng)與存儲(chǔ)技術(shù)
本章小結(jié)9.6思考與練習(xí)9.7基于FAT的嵌入式文件系統(tǒng)設(shè)計(jì)9.52024/1/15Page49.1嵌入式文件系統(tǒng)的功能和特點(diǎn)文件系統(tǒng)是一種系統(tǒng)軟件,簡(jiǎn)單來(lái)說(shuō),它是操作系統(tǒng)為了存儲(chǔ)和管理數(shù)據(jù),而在存儲(chǔ)器上建立的一些結(jié)構(gòu)的總和。在文件系統(tǒng)與操作系統(tǒng)的關(guān)系上,有些文件系統(tǒng)位于操作系統(tǒng)內(nèi)核,有些作為操作系統(tǒng)的一個(gè)效勞組件。2024/1/15Page59.1嵌入式文件系統(tǒng)的功能和特點(diǎn) 從系統(tǒng)角度來(lái)看,文件系統(tǒng)是對(duì)文件存儲(chǔ)器的存儲(chǔ)空間進(jìn)行組織、分配和回收,負(fù)責(zé)文件的存儲(chǔ)、檢索、共享和保護(hù)。 從用戶(hù)角度來(lái)看,文件系統(tǒng)主要是實(shí)現(xiàn)“按名取存〞。當(dāng)用戶(hù)要求保存己命名的文件時(shí),文件系統(tǒng)根據(jù)擬定的格式把文件存放到存儲(chǔ)器適當(dāng)?shù)牡胤?,?dāng)用戶(hù)要使用文件時(shí),系統(tǒng)根據(jù)給出的文件名,從文件存儲(chǔ)器中找到所要的文件或文件中某個(gè)記錄。2024/1/15Page69.1嵌入式文件系統(tǒng)的功能和特點(diǎn) 具體來(lái)說(shuō),文件系統(tǒng)必須提供創(chuàng)立文件、刪除文件、讀文件、寫(xiě)文件等功能的系統(tǒng)調(diào)用為文件操作效勞。 文件的存放通過(guò)目錄完成,所以對(duì)目錄的操作就成了文件系統(tǒng)功能的一局部。而目錄本身也是一種文件,也有相應(yīng)的創(chuàng)立目錄、刪除目錄和層次結(jié)構(gòu)組織系統(tǒng)調(diào)用。2024/1/15Page79.1嵌入式文件系統(tǒng)的功能和特點(diǎn)
在嵌入式系統(tǒng)中,任務(wù)運(yùn)行時(shí)在其任務(wù)堆棧中存放少量信息,但是由于內(nèi)存空間有限,又不適于長(zhǎng)期保存,而且一些公共信息需要獨(dú)立于具體的任務(wù)而存在。所以需要將這些信息存儲(chǔ)到存儲(chǔ)器上,建立文件系統(tǒng)來(lái)組織和管理。
嵌入式文件系統(tǒng)是指嵌入式系統(tǒng)中實(shí)現(xiàn)文件存取和管理等功能的模塊,它提供一系列文件輸入輸出的管理功能,為嵌入式系統(tǒng)和設(shè)備提供文件系統(tǒng)支持。
2024/1/15Page89.1嵌入式文件系統(tǒng)的功能和特點(diǎn)
嵌入式文件系統(tǒng)除了具有一般文件系統(tǒng)的功能以外,還具有以下的一些特性:1、存儲(chǔ)介質(zhì)的特殊性 嵌入式設(shè)備一般具有體積小、可移動(dòng)等特點(diǎn),因此其存儲(chǔ)設(shè)備具有一定的特殊性,如存儲(chǔ)量要適中、抗震、易拆卸等。目前常用的設(shè)備如CFcard、SDcard等所用的存儲(chǔ)介質(zhì)都是Flash,對(duì)Flash的存儲(chǔ)操作只能整塊地寫(xiě)入或擦除,因此文件系統(tǒng)需要對(duì)此做專(zhuān)門(mén)的處理。2024/1/15Page99.1嵌入式文件系統(tǒng)的功能和特點(diǎn)2、平安可靠 嵌入式系統(tǒng)應(yīng)用領(lǐng)域通常要求系統(tǒng)具有高可靠性,嵌入式文件系統(tǒng)除了實(shí)現(xiàn)一般文件系統(tǒng)的平安性、有效性的標(biāo)準(zhǔn)以外,還提供了基于該標(biāo)準(zhǔn)的應(yīng)用程序來(lái)確保文件平安和數(shù)據(jù)有效。3、短中斷等待 嵌入式文件系統(tǒng)對(duì)于設(shè)備中斷采取迅速高效的處理方式,使得緊急情況的實(shí)時(shí)設(shè)備中斷不會(huì)喪失。2024/1/15Page109.1嵌入式文件系統(tǒng)的功能和特點(diǎn)4、多任務(wù)的支持 嵌入式文件系統(tǒng)利用操作系統(tǒng)提供的信號(hào)量機(jī)制,允許多個(gè)任務(wù)同時(shí)翻開(kāi)或讀取同一個(gè)文件,支持多任務(wù)操作。5、支持通用的系統(tǒng)調(diào)用結(jié)構(gòu) 這種結(jié)構(gòu)可以將設(shè)備的操作和界面管理簡(jiǎn)單化,同時(shí),可以使用這種系統(tǒng)調(diào)用方式驅(qū)動(dòng)任何設(shè)備。2024/1/15Page119.1嵌入式文件系統(tǒng)的功能和特點(diǎn)6、接口的開(kāi)放性和可移植性 嵌入式應(yīng)用領(lǐng)域中的應(yīng)用環(huán)境多種多樣,文件系統(tǒng)要能夠根據(jù)不同的應(yīng)用環(huán)境進(jìn)行比較容易的移植。實(shí)時(shí)操作系統(tǒng)和硬件環(huán)境也千差萬(wàn)別,為了適應(yīng)這種差異性,文件系統(tǒng)組件應(yīng)該不依賴(lài)于具體的硬件環(huán)境和操作系統(tǒng),使其能夠很容易地移植到各種應(yīng)用環(huán)境。2024/1/15Page129.1嵌入式文件系統(tǒng)的功能和特點(diǎn)7、支持多種文件類(lèi)型 為適應(yīng)應(yīng)用環(huán)境的多樣性,嵌入式文件系統(tǒng)應(yīng)該能夠支持多種文件類(lèi)型,包括常規(guī)文件、目錄、設(shè)備文件、符號(hào)連接以及網(wǎng)絡(luò)文件系統(tǒng)等。
2024/1/15Page139.2Linux常見(jiàn)的文件系統(tǒng)Linux的文件系統(tǒng)和Windows中的文件系統(tǒng)是有很大的區(qū)別的。Windows文件系統(tǒng)是以驅(qū)動(dòng)器的盤(pán)符為根底的,而且每一個(gè)目錄是與相應(yīng)的分區(qū)對(duì)應(yīng),例如“C:\driver〞是指此文件在C盤(pán)這個(gè)分區(qū)下。 而Linux恰好相反,文件系統(tǒng)是一個(gè)文件樹(shù),且它的所有文件和外部設(shè)備〔如硬盤(pán),光驅(qū)等〕都是以文件的形式掛結(jié)在這個(gè)文件樹(shù)上??傊赪indows下,目錄結(jié)構(gòu)屬于分區(qū);Linux下,分區(qū)屬于目錄結(jié)構(gòu)。2024/1/15Page149.2Linux常見(jiàn)的文件系統(tǒng) 在Linux中把每一個(gè)分區(qū)和某一個(gè)目錄相對(duì)應(yīng),以后再對(duì)這個(gè)目錄的操作就是對(duì)這個(gè)分區(qū)的操作,這樣就實(shí)現(xiàn)了硬件管理手段和軟件目錄管理手段的統(tǒng)一,這個(gè)把分區(qū)和目錄對(duì)應(yīng)的過(guò)程叫做掛載〔Mount〕,而這個(gè)掛載在文件樹(shù)中的位置就是掛載點(diǎn)。這種對(duì)應(yīng)關(guān)系可以由用戶(hù)隨時(shí)中斷和改變。 以下是幾種常見(jiàn)的文件系統(tǒng):2024/1/15Page159.2Linux常見(jiàn)的文件系統(tǒng)1.TFS〔TinyFileSystem) TFS是由原Lucent公司的EdSutter開(kāi)發(fā)的嵌入式系統(tǒng)引導(dǎo)平臺(tái)Umon的一局部。TFS是一種線(xiàn)性結(jié)構(gòu)的文件系統(tǒng),由多個(gè)存放的文件塊組成。一個(gè)文件塊包含一個(gè)文件的所有信息。 TFS提供了掉電平安機(jī)制和垃圾回收機(jī)制。需要額外的輔助空間,用于垃圾回收時(shí)的文件緩存和過(guò)程狀態(tài),如果出現(xiàn)終止,系統(tǒng)根據(jù)輔助空間的信息進(jìn)行文件系統(tǒng)的恢復(fù)。缺點(diǎn)是文件的插入、剪切和個(gè)性需要較大的運(yùn)行開(kāi)銷(xiāo),即使是很小的修改,也要求將整個(gè)文件重寫(xiě)。2024/1/15Page169.2Linux常見(jiàn)的文件系統(tǒng)2.JFFS(JournalingFlashFileSystem〕/JFFS2 2000年,瑞典Axis通信公司開(kāi)發(fā)出JFFS文件系統(tǒng),2001年初,RedHat公司在此根底上推出了JFFS2文件系統(tǒng)。 該文件系統(tǒng)主要針對(duì)NOR型Flash存儲(chǔ)器設(shè)計(jì),提供了掉電平安,平均使用等特性,是基于Linux的,由于遵循GPL開(kāi)放源代碼,易實(shí)現(xiàn)移植,在扇區(qū)級(jí)別上執(zhí)行閃存擦除/寫(xiě)/讀操作功能較好,文件系統(tǒng)接近滿(mǎn)時(shí),JFFS2會(huì)大大放慢運(yùn)行速度。2024/1/15Page179.2Linux常見(jiàn)的文件系統(tǒng) 在JFFS2中,F(xiàn)lash被分成一個(gè)個(gè)擦寫(xiě)塊。JFFS維護(hù)了幾個(gè)鏈表來(lái)管理擦寫(xiě)塊,根據(jù)擦寫(xiě)塊上內(nèi)容的不同情況,擦寫(xiě)塊會(huì)在不同的鏈表上。回收廢棄的塊時(shí),以不同的概率對(duì)各個(gè)鏈表上的塊進(jìn)行選擇。用概率的方法很難保證磨損均衡確實(shí)定性。在某些情況下,可能造成對(duì)擦寫(xiě)塊不必要的擦寫(xiě)操作,在某些情況下又會(huì)引起對(duì)磨損均衡調(diào)整的不及時(shí)。2024/1/15Page189.2Linux常見(jiàn)的文件系統(tǒng)3.FAT
FAT(Fileallocationtable)即文件分配表,它反映磁盤(pán)空間當(dāng)前的使用情況,是整個(gè)文件系統(tǒng)的核心。文件在磁盤(pán)的分布情況,是以簇鏈的方式記錄在FAT表中。每個(gè)文件都有自己的存儲(chǔ)簇,可以是連續(xù)的也可以是不連續(xù)的,通過(guò)FAT表來(lái)實(shí)現(xiàn)其完整性。FAT表項(xiàng)的序號(hào)與文件所使用的簇號(hào)有一一對(duì)應(yīng)的關(guān)系: FAT12采用了12位文件分配表; FAT16采用16位字長(zhǎng)的文件分配表; FAT32文件系統(tǒng)是FAT.系列文件系統(tǒng)的最后一個(gè)產(chǎn)品,采用32位的文件分配表。2024/1/15Page199.2Linux常見(jiàn)的文件系統(tǒng)4.Ext3和Ext3 Ext2和Ext3是Linux系統(tǒng)中標(biāo)準(zhǔn)的文件系統(tǒng),也是迄今為止最為成功的文件系統(tǒng)。其特點(diǎn)為存取文件的性能極好,對(duì)于中小型的文件更顯示出優(yōu)勢(shì)。Ext2文件系統(tǒng)專(zhuān)門(mén)為L(zhǎng)inux設(shè)計(jì),擁有較快的速度和較小的CPU占有率,其設(shè)計(jì)功能強(qiáng)大、且易于向下兼容,所以新版的文件系統(tǒng)代碼無(wú)需重做己有的文件系統(tǒng)。 Ext2的核心是兩個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),即超塊和索引節(jié)點(diǎn)。超塊是一個(gè)包含文件系統(tǒng)重要信息的表格,它是對(duì)文件系統(tǒng)根底性、全局性的描述。 2024/1/15Page209.2Linux常見(jiàn)的文件系統(tǒng) 索引節(jié)點(diǎn)是根本的文件級(jí)數(shù)據(jù)結(jié)構(gòu),文件系統(tǒng)中的每一個(gè)文件都可以在其中一個(gè)索引節(jié)點(diǎn)找到其描述,文件系統(tǒng)中所有的索引節(jié)點(diǎn)保存在索引節(jié)點(diǎn)表中。 Ext3是Ext2文件系統(tǒng)加上日志支持的下一代版本,和Ext2文件系統(tǒng)在硬盤(pán)布局上是一樣的,差異僅僅是Ext3在硬盤(pán)上多了一個(gè)記錄文件系統(tǒng)日志的Inode。這一結(jié)構(gòu)可以詳細(xì)紀(jì)錄資料寫(xiě)入動(dòng)作的每個(gè)細(xì)節(jié),假設(shè)某個(gè)過(guò)程中系統(tǒng)發(fā)生中斷,根據(jù)這些記錄可以直接回朔并重整被中斷的局部,而且不需花時(shí)間去檢查。2024/1/15Page219.2Linux常見(jiàn)的文件系統(tǒng)5.swap Linux中一種專(zhuān)門(mén)用于交換分區(qū)的文件系統(tǒng),Linux使用整個(gè)分區(qū)來(lái)作為交換空間,而不像Windows使用交換文件。一般這個(gè)swap格式的交換分區(qū)的容量大小是主內(nèi)存的2倍。
2024/1/15Page229.2Linux常見(jiàn)的文件系統(tǒng)6.CRAMFS
CRAMFS最初是LinusTorvalds編寫(xiě)的一個(gè)文件系統(tǒng),具有簡(jiǎn)單、壓縮和只讀等特點(diǎn)。是用于保存只讀的根文件系統(tǒng)內(nèi)容的一個(gè)很好的方案。 CRAMFS主要的優(yōu)點(diǎn)是將文件數(shù)據(jù)以壓縮形式存儲(chǔ),在需要運(yùn)行的時(shí)候進(jìn)行解壓縮。由于它存儲(chǔ)的文件形式是壓縮的格式,所以文件系統(tǒng)不能直接在Flash上運(yùn)行。雖然這樣可以節(jié)約很多Flash存儲(chǔ)空間,但是文件系統(tǒng)運(yùn)行需要將大量的數(shù)據(jù)拷貝進(jìn)RAM中,造成一定的浪費(fèi)。
2024/1/15Page239.2Linux常見(jiàn)的文件系統(tǒng)7.YAFFS YAFFS是一種和JFFS非常類(lèi)似的Flash文件系統(tǒng),它是目前唯一專(zhuān)門(mén)針對(duì)NANDFlash設(shè)計(jì)的文件系統(tǒng)。 和JFFS相比,它裁減了一些功能,所以速度更快,對(duì)內(nèi)存的占用更小,此外,YAFFS自帶NANDFlash驅(qū)動(dòng),為直接訪(fǎng)問(wèn)文件提供了API接口,用戶(hù)可以不使用操作系統(tǒng)接口中的MTD,直接對(duì)文件進(jìn)行操作。9.3Linux文件結(jié)構(gòu)文件在Linux環(huán)境中是相當(dāng)重要的,因?yàn)樗鼈兲峁┝撕?jiǎn)單并一致的接口來(lái)處理系統(tǒng)效勞與設(shè)備,在Linux中,一切都是文件,程序可以像處理普通文件一樣來(lái)使用磁盤(pán)文件、串口、打印機(jī)以及其他的設(shè)備。而目錄也是一類(lèi)特殊的文件,目錄文件的內(nèi)容是該目錄的目錄項(xiàng),目錄項(xiàng)是該目錄下的文件和目錄的相關(guān)信息。2024/1/15Page259.3Linux文件結(jié)構(gòu)9.3.1Linux文件類(lèi)型
Linux中的文件類(lèi)型與Windows中的文件類(lèi)型有顯著區(qū)別,其中最顯著的區(qū)別在于Linux對(duì)目錄和設(shè)備都當(dāng)作文件來(lái)進(jìn)行處理,這樣就簡(jiǎn)化了對(duì)各種不同類(lèi)型設(shè)備的處理,提高了效率。 Linux中常見(jiàn)的文件類(lèi)型有普通文件、目錄文件、鏈接文件、設(shè)備文件。2024/1/15Page269.3Linux文件結(jié)構(gòu)1.普通文件 普通文件如同Windows中的文件一樣,是用戶(hù)日常使用最多的文件。它包括文本文件、Shell腳本、二進(jìn)制的可執(zhí)行程序和各種類(lèi)型的數(shù)據(jù)。 可以用1s-lh來(lái)查看某個(gè)文件的屬性,第一個(gè)符號(hào)是-,這樣的文件在Linux中就是普通文件。這些文件一般是用一些相關(guān)的應(yīng)用程序創(chuàng)立,比方圖像工具、文檔工具、歸檔工具等。這類(lèi)文件的刪除方式是用rm命令。2024/1/15Page279.3Linux文件結(jié)構(gòu)2.目錄文件 在Linux中,目錄也是文件,它們包含文件名和子目錄名以及指向那些文件和子目錄的指針。目錄文件是Linux中存儲(chǔ)文件名的唯一地方,當(dāng)把文件和目錄對(duì)應(yīng)起來(lái)的時(shí)候,也就是用指針將其鏈接起來(lái)的之后,就構(gòu)成了目錄文件。 Linux系統(tǒng)中的每個(gè)文件都被賦予一個(gè)唯一的數(shù)值,而這個(gè)數(shù)值被稱(chēng)做索引節(jié)點(diǎn)。一個(gè)索引節(jié)點(diǎn)包含文件的所有信息,Linux文件系統(tǒng)把索引節(jié)點(diǎn)號(hào)1賦于根目錄,這也就是Linux的根目錄文件在磁盤(pán)上的地址。Linux通過(guò)上下鏈接目錄文件系統(tǒng)來(lái)實(shí)現(xiàn)對(duì)整個(gè)文件系統(tǒng)的操作。2024/1/15Page289.3Linux文件結(jié)構(gòu)3.鏈接文件 鏈接文件〔軟鏈接〕有些類(lèi)似于Windows中的“快捷方式〞,但是它的功能更為強(qiáng)大。它可以實(shí)現(xiàn)對(duì)不同的目錄、文件系統(tǒng)甚至是不同機(jī)器上的文件直接訪(fǎng)問(wèn),并且不需要重新分配磁盤(pán)空間。2024/1/15Page299.3Linux文件結(jié)構(gòu)4.設(shè)備文件 Linux把設(shè)備都當(dāng)作文件來(lái)進(jìn)行操作,這樣就大大方便了用戶(hù)的使用。在Linux中,與設(shè)備相關(guān)的文件一般都在/dev目錄下,它包括兩種,一種是塊設(shè)備文件,另一種是字符設(shè)備文件。 塊設(shè)備文件是指數(shù)據(jù)的讀寫(xiě)是以塊〔如由柱面和扇區(qū)編址的塊〕為單位的設(shè)備,最簡(jiǎn)單的如硬盤(pán)〔/dev/hda1〕等。字符設(shè)備主要是指串行端口等接口設(shè)備。2024/1/15Page309.3Linux文件結(jié)構(gòu)9.3.2Linux文件的訪(fǎng)問(wèn)權(quán)限控制在linux中的每一個(gè)文件或目錄都包含有訪(fǎng)問(wèn)權(quán)限,這些訪(fǎng)問(wèn)權(quán)限決定了誰(shuí)能訪(fǎng)問(wèn)和如何訪(fǎng)問(wèn)這些文件和目錄。通過(guò)設(shè)定權(quán)限可以用以下三種訪(fǎng)問(wèn)方式限制訪(fǎng)問(wèn)權(quán)限:只允許用戶(hù)自己訪(fǎng)問(wèn);允許一個(gè)預(yù)先指定的用戶(hù)組中的用戶(hù)訪(fǎng)問(wèn);允許系統(tǒng)中的任何用戶(hù)訪(fǎng)問(wèn)2024/1/15Page319.3Linux文件結(jié)構(gòu) 用戶(hù)能夠控制一個(gè)給定的文件或目錄的訪(fǎng)問(wèn)程度。一個(gè)文件和目錄可能有讀、寫(xiě)及執(zhí)行權(quán)限。 當(dāng)創(chuàng)立一個(gè)文件時(shí),系統(tǒng)會(huì)自動(dòng)地賦予文件所有者讀和寫(xiě)的權(quán)限,這樣可以允許所有者能夠顯示文件內(nèi)容和修改文件。文件所有者可以將這些權(quán)限改變?yōu)槿魏嗡胫付ǖ臋?quán)限。 一個(gè)文件也許只有讀權(quán)限,禁止任何修改。文件也可能只有執(zhí)行權(quán)限,允許它想一個(gè)程序一樣執(zhí)行。2024/1/15Page329.3Linux文件結(jié)構(gòu) 三種不同的用戶(hù)類(lèi)型能夠訪(fǎng)問(wèn)一個(gè)目錄或者文件:所有著、用戶(hù)組或其他用戶(hù)。 所有者就是創(chuàng)立文件的用戶(hù),用戶(hù)是所有用戶(hù)所創(chuàng)立的文件的所有者,用戶(hù)可以允許所在的用戶(hù)組能訪(fǎng)問(wèn)用戶(hù)的文件。 通常,用戶(hù)都組合成用戶(hù)組,例如,某一類(lèi)或某一工程中的所有用戶(hù)都能夠被系統(tǒng)管理員歸為一個(gè)用戶(hù)組,一個(gè)用戶(hù)能夠授予所在用戶(hù)組的其他成員的文件訪(fǎng)問(wèn)權(quán)限。 最后,用戶(hù)也將自己的文件向系統(tǒng)內(nèi)的所有用戶(hù)開(kāi)放,在這種情況下,系統(tǒng)內(nèi)的所有用戶(hù)都能夠訪(fǎng)問(wèn)用戶(hù)的目錄或文件。在這種意義上,系統(tǒng)內(nèi)的其他所有用戶(hù)就是other用戶(hù)類(lèi)。2024/1/15Page339.3Linux文件結(jié)構(gòu) 每一個(gè)用戶(hù)都有它自身的讀、寫(xiě)和執(zhí)行權(quán)限。第一套權(quán)限控制訪(fǎng)問(wèn)自己的文件權(quán)限,即所有者權(quán)限。第二套權(quán)限控制用戶(hù)組訪(fǎng)問(wèn)其中一個(gè)用戶(hù)的文件的權(quán)限。第三套權(quán)限控制其他所有用戶(hù)訪(fǎng)問(wèn)一個(gè)用戶(hù)的文件的權(quán)限,這三套權(quán)限賦予用戶(hù)不同類(lèi)型〔即所有者、用戶(hù)組和其他用戶(hù)〕的讀、寫(xiě)及執(zhí)行權(quán)限,構(gòu)成了一個(gè)有9種類(lèi)型的權(quán)限組。2024/1/15Page349.3Linux文件結(jié)構(gòu) 文件屬性共有10位組成,第1位表示文件類(lèi)型,用來(lái)區(qū)分文件和目錄,其中: d:表示是一個(gè)目錄,事實(shí)上在ext2fs中,目錄是一個(gè)特殊的文件。 -:表示這是一個(gè)普通的文件。 l:表示這是一個(gè)符號(hào)鏈接文件,實(shí)際上它指向另一個(gè)文件。 b、c:分別表示區(qū)塊設(shè)備和其他的外圍設(shè)備,是特殊類(lèi)型的文件。 s、p:這些文件關(guān)系到系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和管道,通常很少見(jiàn)到。2024/1/15Page359.3Linux文件結(jié)構(gòu) 剩下的9位表示文件的訪(fǎng)問(wèn)權(quán)限??梢园凑彰?個(gè)一組分成3組,從左到右,第1組表示文件所有者對(duì)文件的操作權(quán)限,第2組表示與文件所有者同組的用戶(hù)對(duì)該文件的操作權(quán)限,第3組表示其它用戶(hù)對(duì)該文件的操作權(quán)限。每組只能出現(xiàn)3個(gè)字母,意義如下:2024/1/15Page369.3Linux文件結(jié)構(gòu) r(Read,讀取):對(duì)文件而言,具有讀取文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有瀏覽目錄的權(quán)限。 w(Write,寫(xiě)入):對(duì)文件而言,具有新增、修改文件內(nèi)容的權(quán)限;對(duì)目錄來(lái)說(shuō),具有刪除、移動(dòng)目錄內(nèi)文件的權(quán)限。 x(eXecute,執(zhí)行):對(duì)文件而言,具有執(zhí)行文件的權(quán)限;對(duì)目錄了來(lái)說(shuō)該用戶(hù)具有進(jìn)入目錄的權(quán)限。 -:表示不具有該項(xiàng)權(quán)限。
2024/1/15Page379.3Linux文件結(jié)構(gòu) 此外,默認(rèn)的權(quán)限可用umask命令修改,用法非常簡(jiǎn)單,只需執(zhí)行umask777命令,便代表屏蔽所有的權(quán)限,因而之后建立的文件或目錄,其權(quán)限都變成000,依次類(lèi)推。通常root帳號(hào)搭配umask命令的數(shù)值為022、027和077,普通用戶(hù)那么是采用002,這樣所產(chǎn)生的權(quán)限依次為755、750、700、775。2024/1/15Page389.3Linux文件結(jié)構(gòu) 用戶(hù)登錄系統(tǒng)時(shí),用戶(hù)環(huán)境就會(huì)自動(dòng)執(zhí)行rmask命令來(lái)決定文件、目錄的默認(rèn)權(quán)限。還可以使用文件管理器來(lái)改變文件或目錄的權(quán)限。方法是右擊要改變權(quán)限的文件或者目錄,在彈出的快捷菜單中選擇“屬性〞,系統(tǒng)將翻開(kāi)“屬性〞對(duì)話(huà)框,在“屬性〞對(duì)話(huà)框中,單擊“權(quán)限〞標(biāo)簽,就會(huì)翻開(kāi)“權(quán)限〞選項(xiàng)卡,可以修改文件或者目錄的所有者、組群和其他用戶(hù)的權(quán)限,而且可以設(shè)置特殊權(quán)限。2024/1/15Page399.3Linux文件結(jié)構(gòu) 在Shell下還可以通過(guò)chmod和數(shù)字來(lái)改變文件或目錄的訪(fǎng)問(wèn)權(quán)限。用數(shù)字來(lái)表示權(quán)限,而且僅需三個(gè)數(shù)字。 r:對(duì)應(yīng)數(shù)值4 w:對(duì)應(yīng)數(shù)值2 x:對(duì)應(yīng)數(shù)值12024/1/15Page409.3Linux文件結(jié)構(gòu)9.3.3MTD在Linux下,MTD〔MemoryTechnologyDevice,存儲(chǔ)技術(shù)設(shè)備〕是用于訪(fǎng)問(wèn)存儲(chǔ)設(shè)備〔如ROM和Flash等〕的系統(tǒng)。MTD的主要目的是為了使新的存儲(chǔ)設(shè)備的驅(qū)動(dòng)更加簡(jiǎn)單,為此,它在硬件和上層間提供了一個(gè)統(tǒng)一的抽象接口,把文件系統(tǒng)和存儲(chǔ)設(shè)備相隔離。2024/1/15Page419.3Linux文件結(jié)構(gòu) MTD驅(qū)動(dòng)程序是在Linux下專(zhuān)門(mén)為嵌入式環(huán)境應(yīng)用而開(kāi)發(fā)的一類(lèi)驅(qū)動(dòng)程序。相對(duì)于常規(guī)的塊設(shè)備驅(qū)動(dòng)程序,使用MTD驅(qū)動(dòng)程序的主要優(yōu)點(diǎn)在于它主要是專(zhuān)門(mén)針對(duì)各種非易失性存儲(chǔ)器〔以Flash為主〕而設(shè)計(jì)的,所以它對(duì)Flash有更好的支持。 MTD的所有源代碼在/drivers/mtd子目錄下,可把MTD驅(qū)動(dòng)程序分為4層: Flash硬件驅(qū)動(dòng)層:負(fù)責(zé)在初始化時(shí)驅(qū)動(dòng)Flash硬件。 MTD原始設(shè)備層:由兩局部組成,一局部是MTD原始設(shè)備的通用代碼,另一局部是各個(gè)特定的Flash的數(shù)據(jù)。用于描述MTD原始設(shè)備的數(shù)據(jù)結(jié)構(gòu)是mtd_info,這其中定義了大量關(guān)于MTD的數(shù)據(jù)和操作函數(shù)。2024/1/15Page429.3Linux文件結(jié)構(gòu) MTD設(shè)備層:Linux系統(tǒng)可定義出MTD的塊設(shè)備〔主設(shè)備號(hào)31〕和字符設(shè)備〔主設(shè)備號(hào)90〕。MTD字符設(shè)備的定義通過(guò)注冊(cè)一系列字符設(shè)備操作函數(shù),這些是在mtdchar.c中實(shí)現(xiàn)的。MTD塊設(shè)備那么是定義了一個(gè)描述MTD塊設(shè)備的結(jié)構(gòu)mtdblk_dev,并聲明了一個(gè)名為mtdblks的指針數(shù)組,該數(shù)組中的每個(gè)mtdblk_dev成員與mtd_table中的mtd_info一一對(duì)應(yīng)。 設(shè)備節(jié)點(diǎn):通過(guò)mknod在/dev子目錄下建立MTD字符設(shè)備節(jié)點(diǎn)和MTD塊設(shè)備節(jié)點(diǎn),通過(guò)訪(fǎng)問(wèn)此設(shè)備節(jié)點(diǎn)即可訪(fǎng)問(wèn)MTD字符設(shè)備的塊設(shè)備。2024/1/15Page439.4Flash存儲(chǔ)技術(shù)閃速存儲(chǔ)器(FlashMemory)是一類(lèi)非易失性存儲(chǔ)器NVM(Non-VolatileMemory),俗稱(chēng)閃存,以下簡(jiǎn)稱(chēng)Flash。由于Flash具有制造本錢(qián)低廉、存儲(chǔ)容量大、體積小、功耗低、數(shù)據(jù)非易失、無(wú)機(jī)械故障等優(yōu)點(diǎn),因此成為嵌入式系統(tǒng)主要的存儲(chǔ)設(shè)備。2024/1/15Page449.3Linux文件結(jié)構(gòu) Flash特點(diǎn)具體如下: (1)非易失性,在供電電源關(guān)閉的條件下也能長(zhǎng)久地保存片內(nèi)數(shù)據(jù)。 (2)隨機(jī)讀取,可以從任意地址讀入且讀取速度與地址無(wú)關(guān)。 (3)集成密度高,F(xiàn)lash容量比ROM大。 (4)可靠性高,最高一百萬(wàn)次以上的可靠寫(xiě)入。 (5)存儲(chǔ)速度快,是普通軟驅(qū)傳輸速度的20倍以上。 (6)寫(xiě)入和擦除容易,不需要特殊的電壓條件,一般EEPROM需要較高電壓,EPROM需要紫外線(xiàn)照射擦除。 (7)不能寫(xiě)重入,對(duì)于空白、已經(jīng)擦除的內(nèi)容可以按照一定規(guī)那么寫(xiě)入,但已經(jīng)寫(xiě)入那么不能重復(fù)寫(xiě)入,需要先進(jìn)行塊擦除。2024/1/15Page459.3Linux文件結(jié)構(gòu) Flash文件系統(tǒng)的分類(lèi): 〔1〕集中管理文件系統(tǒng) 特點(diǎn):存儲(chǔ)器空間的使用信息集中存放在存儲(chǔ)器的某個(gè)地方,存儲(chǔ)器的其它區(qū)域用于存放數(shù)據(jù),數(shù)據(jù)必須依賴(lài)關(guān)鍵信息區(qū)才能被索引和使用。 缺點(diǎn):需要大量緩存空間,當(dāng)某扇區(qū)需要更新時(shí),先將扇區(qū)數(shù)據(jù)備份到RAM中,再進(jìn)行擦除操作,最后將修改后的備份寫(xiě)入Flash,難以保證掉電平安,不能均勻使用存儲(chǔ)器空間,特別是關(guān)鍵信息區(qū),對(duì)文件系統(tǒng)的使用都會(huì)改寫(xiě)該區(qū),導(dǎo)致Flash快速損壞。2024/1/15Page469.3Linux文件結(jié)構(gòu) 〔2〕線(xiàn)性文件系統(tǒng) 每個(gè)文件相關(guān)的信息都連續(xù)存放在存儲(chǔ)器中,實(shí)現(xiàn)簡(jiǎn)單,讀寫(xiě)快速,文件系統(tǒng)的關(guān)鍵信息分布存放。 優(yōu)點(diǎn):平安性好;能保證存儲(chǔ)器的平均使用,延長(zhǎng)了Flash的使用壽命。 缺點(diǎn):對(duì)文件操作效率低,不易實(shí)現(xiàn)添加、插入、剪切等操作。2024/1/15Page479.3Linux文件結(jié)構(gòu) 〔3〕日志文件系統(tǒng) 日志結(jié)構(gòu)的文件系統(tǒng)使用順序的、只增的日志作為磁盤(pán)上唯一的組織文件系統(tǒng)數(shù)據(jù)的結(jié)構(gòu),文件的描述可以仍采用傳統(tǒng)的索引組織方式。方法是在內(nèi)存中將幾次FS的修改聚集成一個(gè)大的日志條目(被稱(chēng)為段映像),然后動(dòng)態(tài)分配磁盤(pán)空間并通過(guò)一次寫(xiě)操作寫(xiě)到磁盤(pán)上的一個(gè)連續(xù)的、固定大小的日志段(Segment)中。并定時(shí)或當(dāng)系統(tǒng)發(fā)出同步寫(xiě)請(qǐng)求時(shí)保證日志同步寫(xiě)到磁盤(pán)上; 優(yōu)點(diǎn):恢復(fù)快速,不會(huì)產(chǎn)生喪失的簇、也不會(huì)因?yàn)榈綦姸茐奈募到y(tǒng)。2024/1/15Page489.4Flash存儲(chǔ)技術(shù)9
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計(jì)版權(quán)合同范本
- 水產(chǎn)區(qū)域代理合作合同范本
- 《YX金融科技公司私募基金審計(jì)風(fēng)險(xiǎn)及防范研究》
- 《基于QHSE管理體系的肉制品企業(yè)內(nèi)部控制優(yōu)化研究》
- 《阻塞性睡眠呼吸暫?;颊哐迳窠?jīng)肽S水平與微覺(jué)醒的相關(guān)性研究》
- 《急性冠狀動(dòng)脈綜合征與血清新型炎性因子的相關(guān)研究》
- 風(fēng)力發(fā)電場(chǎng)建設(shè)合同三篇
- 流動(dòng)人口服務(wù)與治理現(xiàn)代化方案
- 市政道路工程進(jìn)度管理方案
- 醫(yī)院裝修合同安全規(guī)范
- 2024-2030年中國(guó)安全校車(chē)市場(chǎng)發(fā)展分析及市場(chǎng)趨勢(shì)與投資方向研究報(bào)告
- 數(shù)字孿生水利項(xiàng)目建設(shè)可行性研究報(bào)告
- 北京市房山區(qū)2023-2024學(xué)年高二上學(xué)期期中地理試題 含解析
- 人教版六年級(jí)上冊(cè)數(shù)學(xué)課本課后習(xí)題答案
- 期刊編輯的學(xué)術(shù)期刊版權(quán)教育與培訓(xùn)考核試卷
- SolidWorks-2020項(xiàng)目教程全套課件配套課件完整版電子教案
- 高等教育自學(xué)考試《13683管理學(xué)原理(中級(jí))》考前模擬試卷一
- 2024政務(wù)服務(wù)綜合窗口人員能力與服務(wù)規(guī)范考試試題
- 鼎和財(cái)險(xiǎn)機(jī)器人產(chǎn)品質(zhì)量責(zé)任保險(xiǎn)條款
- 第4章 代數(shù)式 單元測(cè)試卷 2024-2025學(xué)年浙教版七年級(jí)數(shù)學(xué)上冊(cè)
- 動(dòng)脈瘤病人的護(hù)理查房(標(biāo)準(zhǔn)版)
評(píng)論
0/150
提交評(píng)論