在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式Cramfs 的根文件系統(tǒng)配置新方法

            基于嵌入式Cramfs 的根文件系統(tǒng)配置新方法

            作者: 時間:2012-07-16 來源:網(wǎng)絡 收藏

            摘 要:根是構建一個Linux 的重要組成部分,目前可以選 擇的根系統(tǒng)有:Romfs、、Ramfs、Jffs2、Ext2 等,而目前廣泛使用的系統(tǒng)是只讀型文件系統(tǒng),在實際應用中,應用程序往往需要對根文件系統(tǒng)進行讀、寫 操作的,因此,如果針對 系統(tǒng)直接進行寫操作就會造成系統(tǒng)錯誤。文中提出了 Cramfs 根文件系統(tǒng)的新,實驗證明,該能夠使Cramfs 滿足應用程序的讀、寫要 求,并能夠保障系統(tǒng)的正常穩(wěn)定運行,同時也減小了根文件系統(tǒng)所占用的存儲空間。

            本文引用地址:http://www.biyoush.com/article/148765.htm

            1 引言

            隨著電子產(chǎn)業(yè)的不斷發(fā)展, ARM 技術的系統(tǒng)設計和開發(fā)平臺越來越多地在控制 類、消費類、通信類等電子產(chǎn)品中廣泛應用。從軟件角度上看,構建ARM 技術的linux 系統(tǒng)要涉及到引導加載程序、Linux 內(nèi)核、文件系統(tǒng)、用戶應用程序幾部分的設計。 文件系統(tǒng)是操作系統(tǒng)中用來管理用戶文件的內(nèi)核軟件層。文件可能存在于磁盤、網(wǎng)絡或 者是一些虛擬的文件。文件系統(tǒng)包括根文件系統(tǒng)和建立于內(nèi)存設備之上文件系統(tǒng)。根文件系 統(tǒng)是linux 系統(tǒng)的核心部分,包含系統(tǒng)使用的軟件和庫,以及所有用來為用戶提供支持架構 和用戶使用的應用軟件,并作為存儲數(shù)據(jù)讀寫結果的區(qū)域。由于設備中Flash 資源很 緊張,如何有效地使用有限的存儲空間是嵌入式開發(fā)者必須考慮的,合適的文件系統(tǒng)格式是 解決這一問題的關鍵所在。本文討論了只讀型壓縮Cramfs 根文件系統(tǒng)的特點,并詳細的說 明了NAND FLASH 上建立一個可讀可寫型嵌嵌入式Linux 的Cramfs 根文件系統(tǒng)的新

            2 Linux 根文件系統(tǒng)概述

            2.1 Linux根文件系統(tǒng)

            根文件系統(tǒng)不同于普通文件系統(tǒng),它是在內(nèi)核啟動時掛載(mount)的第一個文件系統(tǒng), 內(nèi)核代碼映像文件保存在根文件系統(tǒng)中,而系統(tǒng)引導啟動程序會在根文件系統(tǒng)掛載之后把一 些基本的初始化腳本和服務程序等加載到內(nèi)存中。

            Linux 根文件系統(tǒng)是樹型結構組織[1,3],它包含了內(nèi)核和系統(tǒng)管理所需要的各種文檔和程序等。一般來說,根目錄“/”下頂層目錄都有一些比較固定命名和用途,下面列出一

            個Linux 根文件系統(tǒng)中的比較常見的目錄結構。

            /bin:存放二進制可執(zhí)行命令的目錄。

            /dev:存放設備文件和目錄。

            /etc:存放系統(tǒng)管理和文件和目錄。

            /home:用戶主目錄,比如用戶user 的主目錄就是/home/user,可以用~user 來表示。

            /lib:存放動態(tài)鏈接共享庫的目錄。

            /sbin:存放系統(tǒng)管理員使用的管理程序的目錄。

            /tmp:公用的臨時文件存儲點。

            /root:系統(tǒng)管理員的主目錄。

            /mnt:用以臨時掛載其他的文件系統(tǒng)。

            /proc:虛擬文件系統(tǒng),可直接訪問這個目錄來獲取系統(tǒng)信息。

            /var:某些大文件溢出區(qū)。

            /usr:存放應用程序和文件。

            對于嵌入式 Linux 系統(tǒng)的根文件系統(tǒng)來說,由于受系統(tǒng)資源的限制,一般沒有上述 那么復雜,僅保留一些常用的目錄即可。如/bin、/dev、/etc、/lib、/proc、/var、/tmp、/usr、 /mnt 等[2]。 由于嵌入式系統(tǒng)的設計冗余度小、系統(tǒng)緊湊,通常存儲容量有限,因此,必須選擇 一個合適的根文件系統(tǒng)以使系統(tǒng)運行最佳。目前,嵌入式Linux 根文件系統(tǒng)主要的根文件系 統(tǒng)類型有:Romfs, JFFS2, RAMDISK, YAFFS/YAFFS2, Cramfs, Squashfs 等[1]。本文主要對 Cramfs 根文件系統(tǒng)進行討論。

            2.2 Cramfs根文件系統(tǒng)及其在實際應用中存在的問題

            Cramfs 是Linux 的創(chuàng)始人 Linus Torvalds 參與開發(fā)的一種只讀的壓縮文件系統(tǒng),它 MTD(Memory Technology Device,存儲技術設備)驅動程序。在cramfs 文件系統(tǒng)中,每一頁 (4KB)被單獨壓縮,可以隨機頁訪問,其壓縮比高達2:1,為嵌入式系統(tǒng)節(jié)省大量的Flash 存儲 空間,使系統(tǒng)可通過更低容量的FLASH 存儲相同的文件,從而降低系統(tǒng)成本。

            Cramfs 并不 需要一次性地將文件系統(tǒng)中的所有內(nèi)容都解壓到內(nèi)存中,而只是在系統(tǒng)需要訪問某個位置的 數(shù)據(jù)時,立即計算出該數(shù)據(jù)在Cramfs 中的位置,將其實時地解壓縮到內(nèi)存中,然后通過對 內(nèi)存的訪問來獲取文件系統(tǒng)中需要讀取的數(shù)據(jù)。Cramfs 中的解壓縮以及解壓縮之后內(nèi)存中 的數(shù)據(jù)存放位置都是由Cramfs 文件系統(tǒng)本身進行維護的,用戶并不需要了解具體實現(xiàn)過程, 因此這種方式增強了透明度,對開發(fā)人員來說,既方便又節(jié)省了存儲空間。

            由于 Cramfs 是只讀型文件系統(tǒng),而大多嵌入式應用程序需要在臨時目錄/tmp 進行創(chuàng)建 臨時文件等寫操作,如不對Cramfs 進行,則應用程序將不能正常運行,導致系統(tǒng)崩潰。 目前,解決些問題的方法是復合文件系統(tǒng)法,即使用YAFFS/YAFFS2 等可寫型文件系統(tǒng)與 Cramfs 復合而成的文件系統(tǒng)作為嵌入式系統(tǒng)的根文件系統(tǒng),使Cramfs 根文件系統(tǒng)啟動時掛 載YAFFS/YAFFS2 文件系統(tǒng),同時將應用程序存放在YAFFS/YAFFS2 文件系統(tǒng)中。這種方 法解決了應用程序對根文件系統(tǒng)的寫操作問題,但由于在通常的根文件系統(tǒng)之外還增加了一 個額外的可寫型文件系統(tǒng),必然會增大整個根文件系統(tǒng)所占的存儲空間,造成嵌入式系統(tǒng)存 儲資源緊張。本文在實踐的基礎上,通過對Linux Cramfs 根文件系統(tǒng)的研究,發(fā)現(xiàn)了一種通 過修改根文件系統(tǒng)啟動腳本和配置文件來實現(xiàn)根文件系統(tǒng)的可讀、可寫性的新方法,它不需 要新增額外的文件系統(tǒng)來支持應用程序的讀、寫要求,而是利用根文件系統(tǒng)本身的特性來構 造一個局部可寫的根文件系統(tǒng)。

            3 嵌入式Linux 根文件系統(tǒng)的配置

            3.1 Cramfs根文件系統(tǒng)配置文件的分析

            Cramfs 根文件系統(tǒng)中的配置文件存放在/etc 目錄下,有22 個文件及文件夾,可分為以 下幾類:

            引導和登錄/注銷類,包括/etc/issue、/etc/issue.net、/etc/rc.d/rc、/etc/rc.d/rc.local、 /etc/rc.d/rc.sysinit、/etc/rc.d/rc/rcX.d 等文件,它們主要記錄系統(tǒng)的啟動信息及運行級別等。

            文件系統(tǒng)類,包括/etc/mtab、/etc/fstab、/etc/mtools.conf 文件等,它們記錄著系統(tǒng)文 件系統(tǒng)的安裝、卸載信息,系統(tǒng)啟動時可以被安裝的文件系統(tǒng)以及在這些文件系統(tǒng)上所定 義的操作。

            系統(tǒng)管理類,包括/etc/group、/etc/nologin、/etc/passwd、/etc/rpmrc、/etc/securetty、 /etc/usertty、/etc/shadow、/etc/shells、/etc/motd 等文件,它們記錄著系統(tǒng)用戶和用戶組的登 錄信息、加密后的用戶帳號密碼信息、用戶組的權限信息等。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉