您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术大容量内存文件系统设计及μC/OS下的实现 正文
大容量内存文件系统设计及μC/OS下的实现

大容量内存文件系统设计及μC/OS下的实现

点击数:7257 次   录入时间:03-04 11:43:36   整理:http://www.55dianzi.com   嵌入式系统-技术
        读出文件数
     查找次数
基本表项数 500 1000 2000 4000 8000 1024 1.204 1.489 1.942 2.974 4.904 2048 1.098 1.231 1.465 1.966 2.95

从表1可以分析出以下几点:

①8000个文件全部读出所需的平均查找次数最多不到5次;而当Hash表采用顺序表时,使用拆半查找法得到的平均查找次数为└log28000┘+1=13次,可见EMFS的查找效率非常高,而且它不增加时间和空间的复杂度。

②读出的文件数量越少,平均查找次数越少。因为文件是随机选择的,故读出的文件越少,它们对应的Hash值在基本表中越分散,因而比较次数相应较少。

    ③基本表包含的Hash项越多,EMFS的平均查找次数越少。这是因为基本表越大,Hash值取模后落在基本表的概率就越大,因此比较的次数就越少。但要注意一点,在实际应用中基本表并不是设置得越大越好,基本表设置得越大,相应地溢出表就越小。当把溢出表项用完之后,基本表可以还没有用完,但这时已经不能够再添加文件了,这样系统效率反而会降低。

(2)内存利用率

EMFS的内存利用率可以从两个方面来表现:一对文件进行选择性压缩的机制;二是内存数据块大小的选择。

对文件进行压缩存储可以提高内存利用率,然而文件的压缩和解压需要耗费一定系统时间和资源,这在一定程序上会降低系统的性能,因此需对文件进行选择性压缩。具体方法是对文本等压缩比例高的文件进行压缩存储,对数据等压缩比例低的文件,则选择直接存储。

另外,对文件数据块大小的选择也会影响内存利用率。在EMFS中,文件数据存储的基本单位是一个内存数据真。这样,每个文件的最后一个数据块很可能会用不完,平均来看,每个文件会浪费1/2个数据块。在文件数据块为1KB和2KB的情况下,我们测试得到内存利用率分别为97.4%和94.8%。显然,前者的利用率更高,这是因为文件数据块越小,文件浪费的空间越少。但是,文件数据块不能设置得太小,否则系统在运行过程中会产生很多碎片,导致系统性能的降低。

3 结论

本文提出了嵌入式系统下的一种大容量内存文件系统的实现方案,并从文件的平均查找次数和系统内存利用率等方面对文件系统进行了测试和性能分析。测试结果表明,此系统具有较快的查找定位速度和较高的内存利用率,所以本系统能够有效地应用于嵌入式系统,尤其是那些产生较多临时文件或处理大容量数据的嵌入式系统。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《大容量内存文件系统设计及μC/OS下的实现》相关文章>>>