linux文件系统的分析论文,基于PDA的Linux文件系统裁剪问题研究,毕业论文

摘  要 从PDA的实际特点提出文件系统的特质,对于其文件系统的裁剪进行了分析,提出了一种裁剪方法

关键词 嵌入式Linux;操作系统;剪裁;PDA 1 引言 PDA作为一种智能化的个人数字工具,已经在很大的范围内得到普及,而作为其核心软件的操作系统的研究与开发已经成为目前非常热门的话题

大体说来大致有三种平台:①Palm  OS

市场份额占据大半江山,主要有Palm、IBM的wordPad等

②Win CE

虽然起步较晚,但是打破Palm一统江山的局面,现如今国内大部分掌上电脑,如联想,方正等都有此类产品推出

以上两种产品优劣各据,前者电池使用时间长但可用性较差,后者易于上手,但软件数量较少

③Linux OS

Linux自从发布以来,在嵌入式领域取得了长足的进展,之所以如此,是因为Linux本身具有Open Source,性能高效稳定,易于扩展,完善的网络服务,更为重要的是其可以根据具体的实际应用进行大小的订制,本文就Linux在PDA中的应用进行阐述

2 Linux的虚拟文件系统(VFS) Linux支持大量的文件系统类型,包括XIA,NTFS,VFAT,JFFS和JFFS2,EXT2,EXT3等,其中EXT2和EXT3 是最为成功的文件系统类型,Linux之所以支持这么多的文件系统类型最根本的原因是它引入了虚拟文件系统(Virtual File System,简称VFS),用于对这些文件系统进行统一的管理

VFS是Linux内核中的五个主要部分之一,为用户空间的程序提供文件的系统接口

隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口

具体的原理图如图1所示

Linux文件系统的数据结构类似EXT2文件系统,即采用超级块与inode节点数据结构进行管理

超级块结构驻留在内存空间,存放了该文件系统的重要信息

从超级块中可以取到该文件系统中任何一个文件的inode节点,从inode节点则可对该文件进行读写等操作,这就实现了对磁盘中任一文件的控制

VFS 只存在内存,随系统的启动而产生,关闭时候注销

VFS的功能包括:记录可用的文件系统的类型;将设备同对应的文件系统联系起来;处理一些面向文件的通用操作;涉及到针对文件系统的操作时,VFS把它们影射到与控制文件、目录以及inode相关的物理文件系统

图1  VFS原理图 当某个进程发布了一个面向文件的系统调用时,核心将调用VFS中相应的函数,这个函数处理一些与物理结构无关的操作,并且把它重定向为真实文件系统中相应的函数调用,后者则用来处理那些与物理结构相关的操作

3  文件系统裁剪的方法 作为PDA这些嵌入式的设备对于Linux的要求是体积小,功能适中

根据系统的运行情况决定是否需要日志,网络等功能,还要考虑需要存储的文件特点和大小,是否支持大量的索引结点的问题等

基于特定的需求,一般的文件系统裁剪主要包括: 1)函数库的裁剪 在Linux庞大的函数库中,事实上存在一些没有被任何程序调用的函数库,而且在一些函数库中存在一些从来没有被调用过的函数

因此找到函数和程序之间的依赖关系,只保留那些有用的函数是一个很有用的方法,而在此过程中,利用一些必要的工具来辅助进行函数调用关系的分析,确定函数和程序的调用关系是非常重要的手段

作为函数库之一的共享库裁剪首当其冲,原因很简单,共享库是多个程序调用的库,而如何对它们进行小型化会使得整个系统的体积有较大的变化

它的基本思想是: 通过提取和解析系统库内目标文件、符号的依赖关系,通过对这些依赖构造关系模型进行关系演算,根据应用程序中的符号信息,在库目标文件一级实现系统库的小型化.实现上分为四步:①确定待调函数集

在ELF文件内部,存在一个Elf32-Sym 数组结构的符号表,用于内部符号定义和外部符号引用,通过对这个符号表的分析可以将ELF应用程序中待调符号(系统函数)抽取出来,从而建立一个应用程序-待调函数符号的多对多关系

②确定系统库函数与目标文件的对应关系

系统库逻辑上分成:库、目标文件、符号三个层次,库和目标文件都是ELF格式,通过对库的映像文件*_pic.a和每个目标文件中的符号表分析得到库

目标文件的定义关系、目标文件-符号定义关系和目标文件-符号调用关系

③确定系统库目标文件之间的相互依赖关系

通过对步骤b中相关关系的关系演算得到目标文件-目标文件的完全依赖关系

④生成小型化系统库

通过对应用程序-待调符号表和目标文件-目标文件依赖表的关系演算得到待调函数所依赖的目标文件集合,将它们进行重新链接即可得到最小化的库文件

2)基于统计规律的文件要素的选择 文件系统由于存储在磁盘上,因此其磁盘块的管理方式也是非常环节

不宜过大也不宜过小,过大则碎片增多,过小则读取时间将降低

为了使得磁盘块的大小设计的合理要结合具体的应用进行统计方向的分析

实际经验表明,1K的磁盘块大小特别适合总体积在4M-5M之间的文件系统应用

一方面获得了较高的磁盘利用率,另一方面节约了磁盘空间,访问速度也得到了保证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值