摘要
嵌入式文件系统是嵌入式操作系统的重要组成部分。由于嵌入式设备存储介质的特殊性、电源供给的不稳定性和移动存储的安全性等要求,嵌入式文件系统的重要性在嵌入式操作系统中愈加明显。
Linux操作系统正在嵌入式开发领域稳步发展。本文首先分析了传统Linux的文件系统和目前流行的几种嵌入式文件系统的实现方案。接着,结合具体实验平台,提出了一种嵌入式Linux文件系统的总体架构。在移植了一个基于掌上设备的嵌入式Linux之后,本文介绍了针对基于MTD设备的Flash文件系统的一些实践方法。考虑到嵌入式设备资源的有限性,本文最后在这个嵌入式Linux文件系统的基础上,对其虚拟文件系统和物理文件系统做了相应的简化,使得它们更加符合嵌入式设备的要求。
本文在一个具体的平台上对嵌入式Linux的文件系统做了一些成功的实践,这些实践经验可以为今后的研究提供有益的帮助。在此基础上,我们还将继续完善这个文件系统,希望为今后这一方面的开发提供良好的技术支持。
Embedded file system is playing an important role of the Embedded Operating System. Because of unstable power supply as well as the requirements on peculiarity of Embedded store medium and security in mobile applications higher and higher, the application of embedded system becomes wider than before. Therefore, the role of file system in the embedded system is critical.
The design of Embedded System Linux evolves steadily and fast. After analyzing the traditional Linux file system and some popular embedded file system, this paper presents a schema of Embedded Linux File System. Then, we transplant an embedded Linux on a hand-held device and illustrate some practice of a Flash file system based on an MTD device. Since the storage capacity of embedded device is quite limited, we simplify the VFS and the physical file system so that this Embedded Linux File System can adapt to the embedded device better.
We have modified, significantly and effectively, the Embedded Linux File System on an existing platform. On basis of the work that we have done, much more effort will be taken to make this file system schema more sophisticated so that we can provide effective technologic support for further expedition in this field.
引文
(1) 《嵌入式Linux设计与应用》.邹思轶.[北京]:清华大学出版社.2002年1月
(2) “面向二十一世纪的嵌入式系统综述”.吕京建、肖海桥.[北京]:中国单片机公共实验室
(3) “日志文件系统在嵌入式存储设备上的实现”.郑良辰、孙玉芳.《计算机科学》.2002年第2期
(4) "JFFS: The Journalling Flash File System". David Woodhouse. Red Hat, Inc.
(5) “PDA存储卡综述”.http://www.pdasky.com/. 2003年1月
(6) “一种嵌入式文件系统的设计与实现”.何英.[成都]:电子科技大学
(7) 《嵌入式系统开发圣经》.探矽工作室.[北京]:中国青年出版社.2002年1月
(8) “嵌入式Linux集成开发环境”.刘执远.[西安]:西北工业大学
(9) "Linux system development on an embedded device". Anand K Santhanam、Vishal Kulkarni. IBM: developer Works中国网站
(10) 《Linux内核源代码情景分析》.毛德操、胡希明.[杭州]:浙江大学出版社.2001年9月
(11) “适宜于嵌入式多媒体应用的Flash文件系统”.董明、刘加、刘润生.《电子技术应用》.2002年第9期
(12) "Lightweight Linux, Part 1" Todd E. Sundsted. IBM: developerWorks中国网站.2002年10月
(13) 《Distributed Operating Systems》. Andrew S. anenbaum.[北京]:清华大学出版社.1997年2月
(14) 《Linux设备驱动程序》. Alessandro Rubini.[北京]:中国电力出版社.2000年4
(15) "Flash Filesystems for Embedded Linux Systems" . Cliff Brake、Jeff Sutherland. http://www.linuxjournal.com
(16) "The Linux MTD, JFFS HOWTO". Vipin Malik. ftp://ftp.linux.org.uk/
(15) 《嵌入式系统——Intel StrongARM结构与开发》.陈章龙、涂时亮.[北京]:北京航空航天大学出版社.2002年10月
(16) 《ARM嵌入式处理器结构与应用基础》.马忠梅、马广云.[北京]:北京航空航天大学出版社.2002年1月
(17) 《嵌入式Linux系统设计与应用》.王学龙.[北京]:清华大学出版社.2001年9月
(18) 《嵌入式系统编程源代码解析》.Dreamtech软件研发组.[北京]:电子工业出版社.2002年9月
(19) 《嵌入式计算系统设计原理》.Wayne Wolf.[北京]:机械工业出版社.2002年2月
(20) Memory Technology Device(MTD)Subsystem for Linux 网站内关于MTD的背景知识
(21) The Journalling Flash File System(JFFS)网站内关于JFFS的背景知识
(22) Red Hat英国公司的David Woodhouse概述了大量有关JFFS2:日志闪存文件系统,第2版的背景知识
(23) Red Hat英国公司大量有关newlib C库的背景知识
(22) Uclibc开源组织网址大量有关Uclibc函数库的背景知识