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

针对低固存嵌入式系统的uClinux小型化方法 04

针对低固存嵌入式系统的uClinux小型化方法 04

3 新型文件系统(ReFS)开发
  在某些嵌入式系统中要保存的文件大都是一条条操作记录或是系统警告提示信息,有固定的数据格式和长度,就好像数据库里的记录。而且针对这种简单文件系统的操作可能非常简单,所以借鉴EXT2和JFFS2等其它文件系统的设计开发了一种新的文件系统,文中将之命名为记录型文件系统(ReFS),其存储物理结构如图3所示。

  数据块的大小是记录大小的n倍,是数据分配的最小单位,可以事先给不同用户分配不同的的空间,也可以限制用户使用的存储空间,然后动态地分配实际物理块。一个节点代表一个文件,文件是不同用户操作记录的一个集合,可由多个数据块构成。由于空间有限,可将整个空问构成一个循环链表,插入和删除的动作分别在表头和表尾进行。随着时间增长和记录条数的增加,整个存储空问会饱和,后面存进的记录会覆盖前面的记录,但数据在被覆盖前早巳失去应用价值,所以只需对链表进行插入、删除、查找等简单操作,就可以轻松实现对陵文件系统的管理。待整个文件系统的数据结构和操作函数完成后,把该文件系统加进uClinux中去。该步骤主要是构造超级块、节点、文件在内存中的结构,然后写出相应的超级块、节点、文件操作函数集super_operations,inode_operations,file_operations。再编写read_super函数和注册函数init_ReFS_fs,最后在Linux的初始例程filesystem_setup()函数中添加:
  #ifdef CONFIG_ReFS_FS
  init_ReFS_fs();
  #endif
  4 结束语
  针对低固存嵌入式系统,可以通过以上的小型化措施,恨据具体的嵌入式应用定制uClinux,同时增加了系统的可移植性、易扩展性。但由于对原系统的某些功能作了裁剪、删除,在一定程度上影响了uClinux系统原有的可扩展性和移植性、不过这也是大小与移植性折中后的结果。
返回列表