




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于PDA的Linux文件体系裁剪题目研究摘要从PDA的现实特点提出文件体系的特质,对付其文件体系的裁剪举行了阐发,提出了一种裁剪要领。关键词嵌入式Linux;操纵体系;剪裁;PDAPDA作为一种智能化的小我私家数字东西,已经在很大的范畴内得到普及,而作为其焦点软件的操纵体系的研究与开拓已经成为如今非常热门的话题。大要说来大抵有三种平台:PalS。市场份额占据泰半山河,重要有Pal、IB的rdPad等。inE。固然起步较晚,但是冲破Pal一统山河的场面,现如今海内大部门掌上电脑,如遐想,方正等都有此类产物推出。以上两种产物优劣各据,前者电池利用时间长但可用性较差,后者易于上手,但软件数目较少。
2、LinuxS。Linux自从公布以来,在嵌入式范畴获得了长足的希望,之以是云云,是由于Linux自己具有penSure,性能高效不变,易于扩展,美满的网络办事,更为紧张的是其可以按照详细的现实应用举行巨细的订制,本文就Linux在PDA中的应用举行阐述。Linux支持大量的文件体系范例,包罗XIA,NTFS,VFAT,JFFS和JFFS2,EXT2,EXT3等,此中EXT2和EXT3是最为乐成的文件体系范例,Linux之以是支持这么多的文件体系范例最根底的缘故原由是它引入了假造文件体系VirtualFileSyste,简称VFS,用于对这些文件体系举行同一的办理。VFS是Linux内核中的五个
3、重要部门之一,为用户空间的步伐提供文件的体系接口。隐蔽了种种硬件的详细细节,为全部的装备提供了同一的接口。详细的原理图如图1所示。Linux文件体系的数据布局雷同EXT2文件体系,即接纳超等块与inde节点数据布局举行办理。超等块布局驻留在内存空间,存放了该文件体系的紧张信息。从超等块中可以取到该文件体系中任何一个文件的inde节点,从inde节点那么可对该文件举行读写等操纵,这就实现了对磁盘中任一文件的操纵。VFS只存在内存,随体系的启动而产生,封闭时间注销。VFS的成效包罗:记载可用的文件体系的范例;将装备同对应的文件体系接洽起来;处置惩罚一些面向文件的通用操纵;涉及到针对文件体系的操纵时
4、,VFS把它们影射到与操纵文件、目次以及inde相干的物理文件体系。图1VFS原理图当某个历程公布了一个面向文件的体系调用时,焦点将调用VFS中相应的函数,这个函数处置惩罚一些与物理布局无关的操纵,而且把它重定向为真实文件体系中相应的函数调用,后者那么用来处置惩罚那些与物理布局相干的操纵。作为PDA这些嵌入式的装备对付Linux的要求是体积小,成效适中。按照体系的运行环境决定是否必要日记,网络等成效,还要思量必要存储的文件特点和巨细,是否支持大量的索引结点的题目等。基于特定的需求,一样平常的文件体系裁剪重要包罗:1函数库的裁剪在Linux宏大的函数库中,终究上存在一些没有被任何步伐调用的函数库
5、,而且在一些函数库中存在一些从来没有被调用过的函数。因此寻到函数和步伐之间的依靠干系,只保存那些有效的函数是一个很有效的要领,而在此历程中,利用一些需要的东西来帮助举行函数调用干系的阐发,确定函数和步伐的调用干系黑白常紧张的本领。作为函数库之一的共享库裁剪首当其冲,缘故原由很简朴,共享库是多个步伐调用的库,而怎样对它们举行小型化会使得整个体系的体积有较大的变革。它的根本头脑是:通过提取息争析体系库内目的文件、标记的依靠干系,通过对这些依靠布局干系模子举行干系演算,按照应用步伐中的标记信息,在库目的文件一级实现体系库的小型化实现上分为四步:确定待调函数集。在ELF文件内部,存在一个Elf32-S
6、y数组布局的标记表,用于内部标记界说和外部标记引用,通过对这个标记表的阐发可以将ELF应用步伐中待调标记(体系函数)抽取出来,从而创立一个应用步伐-待调函数标记的多对多干系。确定体系库函数与目的文件的对应干系。体系库逻辑上分成:库、目的文件、标记三个条理,库和目的文件都是ELF格式,通过对库的映像文件*_pi.a和每个目的文件中的标记表阐发得到库。目的文件的界说干系、目的文件-标记界说干系和目的文件-标记调用干系。确定体系库目的文件之间的彼此依靠干系。通过对步调b中相干干系的干系演算得到目的文件-目的文件的完全依靠干系。天生小型化体系库。通过对应用步伐-待调标记表和目的文件-目的文件依靠表的干
7、系演算得到待调函数所依靠的目的文件聚集,将它们举行重新链接即可得到最小化的库文件。2基于统计纪律的文件要素的选择文件体系由于存储在磁盘上,因此其磁盘块的办理方法也黑白常环节。不宜过大也不宜过小,过大那么碎片增多,过小那么读取时间将低落。为了使得磁盘块的巨细方案的公正要结合详细的应用举行统计标的目的的阐发。现实履历表白,1K的磁盘块巨细特殊得当总体积在4-5之间的文件体系应用。一方面得到了较高的磁盘利用率,另一方面节省了磁盘空间,拜候速率也得到了包管。索引结点在文件很小却很多的环境下占据了太多的不需要的磁盘空间,因此删除那些不需要的小文件尤其是dev目次下的多余装备文件显得非常的紧张。按照现实文
8、件的多寡来方案索引结点,可以有效地利用磁盘空间。那么毕竟给几多字节设置一个索引结点呢?按照文件的数目和体积的统计效果,创造1K块设置一个索引结点对付4-5的文件体系而言黑白常符合的。Linux体系分为三个条理:用户、焦点和硬件。Linux焦点源步伐通常都安装在usrsrlinux下,焦点源步伐文件按树形布局举行构造。1体系的引导和初始化。Linux体系的引导有Lil、Ladin引导和Linux的自举引导三种。而Linux的自举引导所对应源步伐为arhi386btbtsetS,它为实形式汇编步伐。无论哪种引导方法,末了都要跳转到arhi386KernelsetupS。setupS重要举行实形式下
9、的初始化,为体系进入庇护形式做预备。今后,体系实行arhi386kernelheadS。headS中界说的一段汇编步伐setup_idt,卖力创立一张256项idt表,此表保存着全部自陷和停顿的入口地点,此中包罗体系调用总控步伐syste_all生齿地点。除此之外,headS还要做一些其他初始化事情。2体系初始化后,运行第一个内核步伐aslinkagevid_initstart_kernel(vid),它界说在usrsrlinuxinitain中。它通过调用usrsrlinuxarhi386keeltraps中的函数vid-inittrapinit(vid),把各个自陷和停顿办事步伐的入口地点
10、设置到idt表中。此中体系调用的总控步伐syste_all就是停顿办事步伐之一。vid_inittrap_init(vid)函数那么通过调用一个宏set_syste_gate,把体系调用的总控步伐入口挂在停顿0 x80上。此中SYSALL_VETR是界说在usrsrlinuxarhi386kernelirqh中的一个常量0 x80,而systern_all为停顿总控步伐的入口地点。停顿总控步伐是用汇编语言在usrsrlinuxarhi386kernelentryS中界说。3停顿总控步伐重要卖力保存处置惩罚机实行体系调用前的状态,查验当前调用是否正当,并按照体系调用向量,使处置惩罚机跳转到保存在
11、sys_all_table表中的相应体系办事例程的入口。从体系办事例程返回退却回用户步伐状态,而体系调用向量那么在usrsrlinuxinludeas-386unistdh中界说,sys_all_table表是在usrsrlinuxarhi386kernelentryS中界说,体系调用的用户编程接口在usrsrlinuxinludeas-386unistdh中界说。4由此可见,Linux的体系调用也象DS体系的int21h停顿办事,把0 x80停顿作为总的入口,然后转到保存在sys_all_table表中的种种停顿办事例程的入口地点,形成种种差异的停顿办事。由以上源代码阐发可知,要增长一个体系
12、调用就必需在sys_all_table表中增长一项,并在此中保存好体系办事例程的入口地点,然后重新编译内核。固然,体系办事例程是必不成少的。Linux是一个成效强盛的操纵体系,而且拥有大量的应用步伐,将Linux移植到嵌入式体系,可以或许充实利用这些成熟的技能,进步开拓服从和开拓质量。为了使Linux成为真正的嵌入式操纵体系,除了开拓驱动步伐,让Linux运行在嵌入式硬件平台上,还必要针对嵌入式体系应用的详细需求对Linux举行淘汰和优化,为此,一方面我们利用Linux模块化的特点设置Linux内核,在我们利用的StrngAR平台已经创立起一个成效雷同桌面Linux的嵌入式Linux环境,而其体积和运行开销很小,可以或许满意手持挪动设各的应用需求。另一方面,按照应用的特点对Linux实现举行优化。实行表白,我们对Ext2文件体系预分派机制修改实用于我们的基于StrngAR平台嵌入式Linux环境,在对性能没有显着影响的环境下节流体系开销。固然,在这个方面我们另有很多事情要做,比方为了进一步进步文件体系服从,必要对缓冲缓存机制举行优化,以及利用越发紧凑的文件体系。别的,历程办理、内存办理等模块也必要针对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全员考试复习要点总结试题及答案
- 2024年农业职业经理人考试关键能力总结试题及答案
- 肺癌筛查知识培训课件
- 抗痉挛体位的摆放护理
- 网络安全知识基础培训
- 绵羊毛护理知识培训
- 托班安全教育课程
- 小学防传销课件
- 儿科常见症状的护理及处理
- 二零二五版股东退出与回购协议
- 工会维护劳动领域政治安全10项长效机制
- IATF16949-过程审核检查表-(含审核记录)-
- 10KV供配电系统设计答辩
- 中央八项规定实施细则解读课件
- 陕西省二级以上医院信息
- 实验室安全检查记录表
- 环境信息系统的GIS基础 01讲 GIS导论
- DCS集散型控制系统安装调试施工方案
- 教学设计 分数的基本性质 全国一等奖
- GB/T 38762.3-2020产品几何技术规范(GPS)尺寸公差第3部分:角度尺寸
- GB/T 14486-2008塑料模塑件尺寸公差
评论
0/150
提交评论