计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

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

2015-02-18 01:25
导读:理工论文论文,大容量内存文件系统设计及μC/OS下的实现在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘要:针对某些嵌入式系统中处理数据量大和速度要求高的特点
摘要:针对某些嵌入式系统中处理数据量大和速度要求高的特点,提出一种应用于嵌入式系统中的大容量内存文件系统的实现方案。该方案通过在内存中建立文件系统,将临时数据有效组织于内存中,既提高访问速度又节省外存空间,因而能满足要求;通过将其移植到μC/OS系统下,便可进行性能测试和分析。结果表明,本内存文件系统具有较高的查找效率和内存利用率。

引言

嵌入式系统凭借其特有的功能和资源占用量少的特点,在各个领域得到了越来越多的应用。根据成本和设计的需要,一般的嵌入式系统都配置很少的外部存储空间甚至不带外部磁盘。但随着用户需求和功能复杂度的增加,越来越多的嵌入式系统需要处理大容量的数据,或者在运行过程中会产生大量的临时数据。一方面这些数据处理完后不能立即删除;另一方面这些临时文件不需要长期保存。例如,用来上网冲浪的机顶盒设备在用户浏览过程中不断从互联网上接收数据,因此用户访问后的页面很可能再次浏览,所不能将浏览后的网页立即清除,当然,系统不需要也不可能将所有浏览过的页面保存于硬盘中。所以,处理数据量的增大给嵌入式系统的设计提供了新的要求。

一般来说,嵌入式系统处理大容量临时数据的有效方法是设计一个内存文件系统存储这些数据。内存文件系统MFS(Memory File System)是一个在内存中对文件实行按名存取的底层软件。和普通磁盘文件系统相比,内存文件系统具有存取速度快、可动态改变文件系统大小和数据掉电即丢失的优点,因此它适用于高速的临时数据处理。Linux下的Tmpfs、Proc文件系统以及Freebsd下的MFS都是一种内存文件系统。但是,这些通用操作系统上的内存文件系统不能够直接运用于到嵌入式系统中:其一,它们都是为资源丰富的通用PC平台设计的,不适用于资源有限的嵌入式系统;其二,这些通用内存文件系统的设计方案一般是利用内存来模拟磁盘文件系统,在内存中会建立文件系统缓冲区。这就是说除了文件系统本身占据了内存之外,磁盘缓冲区又会占所一些内存,这些就会导致内存的浪费和利用率的下降。根据上述考虑,本文设计了一适合于嵌放式大容量数据处理的嵌入式内存文件系统EMFS(Fmbedded Momory File System)。文中首先阐述了EMFS嵌入式系统的设计要点,随后讨论了如果将其移植到μC/OS系统,最后对其性能进行了分析和测试。

1 EMFS的设计

从前面分析得知,本文设计的EMFS不采用通用文件系统的磁盘设计方法,如Linux系统的Ext2节点结构和Windows的FAT结构。EMFS对文件的主要管理方式为:

①文件的各个属性单独存储在文件信息表(file status table)中;

②文件数据块用链表来分配和管理,文件数据块大小可以动态改变,这样可以避免在系统运行过程中产生大量的碎片;

③为了提高文件的读写和查找速度,设置一个全局散列表(Hash表)作为文件的读写及查找入口;每个文件根据其文件名、文件长度计算出一个Hash值;然后在Hash表找到文件对应的Hash项,这样就可以读出文件的属性和数据。

图1表示了EMFS在内存中的组织结构。

每一个存储于EMFS的文件在全局Hash表都有个对应的入口项。其文件属性和文件名、文件长度、创建时间等存入文件状态表,文件内容存储于从空闲块链表申请到的数据块中。文件的Hash表、状态表和数据块通过指针链接起来,如图2所示,下面分别介绍文件系统的Hash表、状态表和数据块链表。

上一篇:浅论中国经济发展中的环境问题 下一篇:没有了