首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

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

(2)内存利用率

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

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

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

3 结论

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