999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Linux文件系統裁剪優化研究

2008-12-31 00:00:00姜春茂張麗君
電腦知識與技術 2008年31期

摘要:本文對Linux裁剪進行了基本的闡述和說明,對文件系統的裁剪提出了具體的思路,取消預先分配策略和使用B+樹的查找算法來提高文件系統的性能。

關鍵詞:VFS;Ext2;B+樹

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)31-1000-01

A Research on the optimization of Linux File System's Cutting

JIANG Chun-mao, GAO Yuan, ZHANG Li-jun

(Department of Computer Science and Information Engieer, HarbinNormal University, Harbin 150050, China)

Abstract: This paper expatiate embed-Linux on a basic and the file system's cutting express the concrete ideas, abolition of pre-allocation strategy and the use of B+tree to find algorithms to improve file system performance.

Key words: VFS; Ext2; B+tree

1 引言

隨著嵌入式技術的日益發展,Linux作為嵌入式操作系統越來越廣泛的使用著,由于Linux是開發源代碼,內核功能強大,穩定,支持多任務等與生俱來的特點,使用Linux作為嵌入式OS的PDA,手機等設備越來越多了,針對特定的硬件設備,我們要將Linux進行裁剪,移植,Linux自身具備一整套工具鏈,容易建立交叉開發環境和運行環境,在目前常用的嵌入式開發技術中,基于Linux的移植技術已經得到了長足的進展。

Linux的文件系統廣泛使用Ext2,Ext3等文件格式,在使用的過程中由于限于硬件環境,或多或少的不相適應,因此出現了很多嵌入式的文件系統,但是,Linux通用的文件系統還是具有通用性,精巧性等特點,因此對于它們的優化也是很重要的問題。

2 Linux裁剪的基本思路

Linux的裁剪目前主要手段集中在基于源代碼分析上,有采用圖調用的方式來輔助進行,但是從根本上來講還是要從代碼本身下手,通過內核配置工具生成描述內核功能選項的配置文件,然后再根據該配置文件編譯生成定制的內核目標文件,即通過內核代碼中的條件編譯,裁剪掉內核中不必要的功能部分從而獲得面向特定應用需求、體積較小的嵌入式Linux內核。

目前的裁剪主要在內核裁剪,函數庫裁剪,文件系統裁剪幾個方面進行,下面做簡要的闡述:

1)內核的裁剪

對內核的裁剪主要集中在利用Linux本身的配置工具,使用make xconfig或者make menuconfig來進行選擇,選擇以后進行編譯,編譯內核需要3個步驟,分別是創建內核依賴關系,創建內核映像文件和創建內核模塊。用以下幾條命令對內核進行編譯,之后生成我們所需要的映像文件。

make dep

make bzImage

make modules

make modules_install

通過這種方式,可以對于特定硬件不需要的功能進行刪除,達到體積較小,操作比較簡單,但是缺點也很明顯,粒度過大,精度較小。況且未必所有的硬件都支持,在這種情況下,就需要對Linux的底層進行分析和裁剪,這些工作都需要對Linux系統的功能模塊和底層硬件比較熟悉。

2)函數庫的裁剪

由于Linux是由C的大量函數庫組成,存在一些共享庫可能根本就沒有被調用,也存在一些庫中的函數從未被使用過,然后對此進行處理是一件非常煩瑣的事情,一般可以采用源代碼分析,確定函數間的調用關系,確定程序和函數之間的關系,對于那些從未使用過的進行剪掉。我們也可以在編譯目標應用程序的時候,使用靜態連接的方法,這樣效果較好,但是隨之帶來的是重復的連接占據內存空間太大。另外,在編寫應用程序時可以調用任意需要的庫函數,應用程序編寫好后,根據應用程序的需求,分析庫中應該提供的函數,然后形成新的鏈接腳本,最終重新編譯鏈接庫文件源代碼,將所有沒有調用到的庫函數從庫中刪除。當然目前有很多成品的替代庫,如uclbic等可以直接為我們使用。

3)文件系統的裁剪

目前Linux在嵌入式設備上有很多成型的文件系統,比如JFFS2,tmpfs等,對于通用Linux的Ext2,Ext3等文件系統一般也可以使用在嵌入式設備上。JFFS2系統在文件系統接近滿的時候速度變慢。Linux采用VFS(虛擬文件系統),這樣可以支持多個不同的文件系統,VFS是一組標準抽象的文件操作構成,可以使用系統調用的形式加載。因此,可以對VFS的數據結構和系統調用兩個方面進行簡化,比如可以對struct super_lock ,inode進行簡化,使得VFS更加簡單。當然,busybox提供了一個很好的工具集,為文件系統的裁剪提供了簡單的方式。

3 Linux文件系統裁剪的優化

在文件系統的格式的各個要素中,主要關心的參數是:磁盤塊的大小,塊的分片,索引節點的個數和保留空間大小。磁盤塊無論過大或者過小都不好,過小,一個文件將占用過多塊,讀取時間變長,過大,空間利用率降低。具體的應用不同,磁盤塊的大小選擇不同,有時候1k的大小其值恰好,有時,4k的大小利用率更高。而索引節點的個數和磁盤塊的大小又密切相關的,磁盤塊過多,將導致索引項目占空間增加。

另外,也可以對文件系統進行不完全解壓來實現系統性能的折中。

Linux廣泛采用Ext2作為它的文件系統,但是針對嵌入式的設備需要進行一些改造,數據塊的預分配機制能有效的減少文件擴展所造成的文件系統碎片,并且提高分配效率。在存儲資源足夠的情況下,可以采用預先分配的機制。對于PDA這類設備,取消預分配的機制可能會提高系統性能,降低文件操作時間。

由此圖可以看出,有預先分配和取消預先分配時間上差別不大,但是從空間角度來看,取消預先分配卻節省了很多的空間。

B+樹是一種平衡多路查找樹,能夠很好的應用到文件系統中,在B+樹中,每一個非終端結點的結構中I節點號,即關鍵字用來進行查詢。首先從根節點出發,根據根節點指針找到其所指的節點,然后根據此節點的關鍵字判斷是否與指定值相等,依次遞推。利用B+樹改造文件系統的索引方法,根據B+樹的特點,可以從最小關鍵字順序查找,也可以從根節點隨機查找。

4 總結

Linux的裁剪是一個理論和實踐并重的課題,在理論上,建立一個通用的裁剪模型,多目標的裁剪研究。在實踐上,Linux在嵌入式設備上的開發和應用前景廣闊。本文給出了Linux裁剪的一般方法和文件系統裁剪的研究,今后還要對Linux嵌入式緩沖機制等進行深入的研究。

參考文獻:

[1] RussellKing.KernelMemoryLayoutonAMRLinux[EB/OL].[2003-05-29].http://www.arm.linux.org.uk/develPer.

[2] 彭小明,王強.Linux核心源代碼分析[M].北京:人民郵電出版社.

[3] wiliimasatllnigs.操作系統:精做與原理[M].3版.北京:清華大學出版社,1995.

[4] 毛德操,胡希明.Linux內核源代碼情景分析(上下冊)[M].1版.北京:浙江大學出版社,2001.

主站蜘蛛池模板: 国产女人综合久久精品视| 福利一区三区| 国产一级做美女做受视频| 国产在线97| 国产精品高清国产三级囯产AV| 中文字幕在线视频免费| 亚洲精品无码成人片在线观看| 成人无码区免费视频网站蜜臀| 国产精品污污在线观看网站| 成人av专区精品无码国产 | 综合色天天| 鲁鲁鲁爽爽爽在线视频观看| 99精品在线视频观看| 亚洲动漫h| 欧美a级完整在线观看| 中文无码伦av中文字幕| 久久久精品国产SM调教网站| 国产成人高清亚洲一区久久| 亚洲天堂福利视频| 一级爆乳无码av| 国产精品第| 最新日韩AV网址在线观看| 国产视频欧美| 欧美精品亚洲精品日韩专| 国产日韩AV高潮在线| 久久久久青草大香线综合精品| 国产极品粉嫩小泬免费看| 国产微拍精品| 日本不卡在线视频| 国产va在线| 欧洲精品视频在线观看| A级毛片无码久久精品免费| 91久久精品国产| 亚洲人在线| 无码高潮喷水专区久久| 97狠狠操| 3344在线观看无码| 国内99精品激情视频精品| 美女扒开下面流白浆在线试听| 在线欧美日韩国产| 真人高潮娇喘嗯啊在线观看| 日韩av无码DVD| 日韩精品中文字幕一区三区| 国产精品无码久久久久久| 欧美一区中文字幕| 一级高清毛片免费a级高清毛片| 欧美精品另类| 伊人久久婷婷| 一级香蕉视频在线观看| 欧美色图久久| 国产91高跟丝袜| 日a本亚洲中文在线观看| 中文字幕在线观| 国产久草视频| 久久国产成人精品国产成人亚洲| 国产小视频网站| 国产视频欧美| 久久精品亚洲专区| 四虎精品国产永久在线观看| 国产你懂得| 国产成人亚洲日韩欧美电影| 日本草草视频在线观看| 久久精品最新免费国产成人| 性视频一区| 国产精品综合色区在线观看| 亚洲欧美人成电影在线观看| 不卡网亚洲无码| 欧美日韩在线亚洲国产人| 72种姿势欧美久久久大黄蕉| 亚洲日本中文综合在线| 色婷婷电影网| 色综合色国产热无码一| 女人18毛片久久| 99视频在线看| 亚洲日韩图片专区第1页| 国产黄网永久免费| 亚洲男人的天堂在线| 亚洲中文在线视频| 五月天久久综合| 18禁高潮出水呻吟娇喘蜜芽| 日本免费a视频| 99热在线只有精品|