《虚拟文件系统机制在Android系统终端控制上的应用.pdf》由会员分享,可在线阅读,更多相关《虚拟文件系统机制在Android系统终端控制上的应用.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2 4 卷第2 期电脑开发与应用文章编号:1 0 0 3-5 8 5 0(2 0 1 1)0 2-0 0 7 5-0 3虚拟文件系统机制在A n d r o i d 系统终端控制上的应用A p p l i c a t i o no fV i r t u a lF i l eS y s t e mM e c h a n i s mt ot h eA n d r o i dS y s t e mT e r m i n a lC o n t r o l沈红雷陈够喜(中北大学电子与计算机科学技术学院太原0 3 0 0 5 1)【摘要】针对L i n u x 操作系统强大的多物理文件系统管理性能,从L
2、 i n u x 的内核文件管理机制虚拟文件系统(V F S)出发,对L i n u x 系统如何识别和管理不同的物理文件系统进行了研究。针对当前兴起的a n d r o i d 系统应用程序的开发进行了分析,运用虚拟文件系统的这种管理机制实现了在a n d r o i d 系统的手机平台上的终端控制。该控制主要是通过A n d r o i d 中的一种P r e f e r e n c e sA c t i v i t y 实现页面配置、页面更新以及数据维护。【关键词】虚拟文件系统,a n d r o i d 系统,V F S,L i n u x 操作系统中图分类号:T P 3 9 1文献标
3、识码:AA B S T R A C TL i n u xo p e r a t i n gs y s t e mh a st h ep o w e r f u la n dm o r ep h y s i c a lf i l es y s t e mm a n a g e m e n tc a p a b i l i t i e s,f r o mt h eL i n u xk e r n e lf i l em a n a g e m e n ts y s t e m av i r t u a lf i l es y s t e m(V F S)s t a r t i n go nt h
4、eL i n u xs y s t e m,h o wt oi d e n t i f ya n dm a n a g et h ep h y s i c a lf i l es y s t e mi ss t u d i e d A n d r o i ds y s t e ma st h ec u r r e n tr i s eo fa p p l i c a t i o nd e v e l o p m e n tw e r ea n a l y z e d T h eu s eo fv i r t u a lf i l es y s t e mm e c h a n i s mt O
5、a c h i e v et h i sm a n a g e m e n ts y s t e mi nt h ea n d r o i dm o b i l ep l a t f o r mt e r m i n a lc o n t r 0 1 T h ec o n t r o lm a i n l yt h r o u g ht h eA n d r o i di naP r e f e r e n c e sA c t i v i t yi m p l e m e n t sp a g el a y o u t,p a g eu p d a t e sa n dd a t am a
6、i n t e n a n c e K E Y W O R D Sv i r t u a lf i l es y s t e m,a n d r o i ds y s t e m,V F S,L i n u xo p e r a t i n gs y s t e m1L i n u x 虚拟文件系统管理机制L i n u x 支持各种不同的文件系统是通过V F S 实现的,不同的物理文件系统具有不同的组织结构和不同的处理方式,为了能够处理各种不同的物理文件系统,操作系统必须把它们所具有的特性进行抽象,并建立一个面向各种物理文件系统的转换机制,通过这个转换机制,把系统中运行的进程提供了一个处理各
7、种物理文件系统的公共接口,通过这个接口使得不同的物理文件系统看来都是相同的。V F S 和各种物理文件系统组成了如图1 所示的L i n u x 文件系。图1L i n u x 文件系统V F S 并不是一种物理的文件系统,它仅是一套转换机制,它在系统启动时建立,在系统关闭时消失,并且仅存在于内存空间。所以,V F S 并不具有一般物理文件系统的实体。在V F S 提供的接口中包含向各种物理文件系统转换用的一系列数据结构,如V F S 超级块、V F S 的i n o d e 等,同时还包含对不同物理文件系统进行处理的各种操作函数的转换入口。所有的L i n u x 文件系统使用一个共同的b
8、u f f e rc a c h e 来缓存底层设备的数据缓冲区,这样就可以加速对于存放文件系统的物理设备的访问,从而加快对文件系统的访问。b u f f e rc a c h e 独立于文件系统,集成在L i n u x 内核分配、读和写数据缓冲区的机制中。涉及到针对文件系统的操作时,V F S 将它们映射到与控制文件、目录以及i n o d e 相关的逻辑文件系统中。当进程发出一个面向文件系统调用的时候,内核调用V F S 相应的函数,相应的函数处理一些与物理结构无关的操作,而且把它重新定向为真实文件系统中相应的函数调用。例如,在每个文件系统初始化时,它向V F S 进行注册。这个过程发生
9、在系统启动操作系统自我初始化的过程中,真实的文件系统或者是安装在内核中的,或者是作为内核的可载入模块。文件系统模块只有在系统需要时才会被载人。每当包含文件系统的块设备被装载时,V F S 都会读入它的超级块。各种类型文件系统的超级块读例程必须要确定出整个文件系统的拓扑结构,并把这些信息映射到V F S 超级块数据结构中。2A n d r o i d 应用程序介绍对于一个A n d r o i d 应用程序来说,是由A c t i v i t y、*2 0 1 0-i i-2 1 收到,2 0 1 0 1 2 3 1 改回*基金项目:2 0 0 9 2 0 1 0 总装预研基金I 山西省科技攻关
10、基金(编号:2 0 0 9 0 3 2 2 0 0 4),中北大学自然校基金资助项目。*沈红雷,男,1 9 8 2 年生,研究生,研究方向:嵌入式系统,信息隐藏。万方数据。虚拟文件系统机制在a n d r o i d 系统终端控制上的应用I n t e n tR e c e i v e r、S e r v i c e、C o n t e n tP r o v i d e r 四部分组成,但并不是每一个A n d r o i d 应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件A n d r o i d M a i n f e s t x m l 中进行配置。这个配置文件是每个A
11、 n d r o i d 应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。A n d r o i d 应用的构成和工作流程图如图2 所示。I n t e n tC o n t e n tP r o v i d e r通过【I n t e n t通删C o n t e n t实现活动之P r i d e H J|!间的转换行蜊据存储L 竺型旦J爵置囱囹图2A n d r o i d 应用构成和工作流程2 1P r e f e r e n c e A c t i v i t y 作用A c t i v i t y 是构成应用程序中最重要的构造块,在A n d r o i d 应
12、用程序中,几乎都是通过A c t i v i t y 来与用户进行交互,所以A c t i v i t y 主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用s e t C o n t e n t V i e w(V i e w)方法来显示你自己的用户界面。在开发应用程序的过程中我们有很大的机会需要用到参数设置功能,那么在A n d r o i d 应用中,我们是通过A n d r o i d 中的一个特殊A c t i v i t y P r e f e r e n c e sA c t i-v i t y。P r e f e r e n c e s A c t i v
13、i t y 是A n d r o i d 中专门用来实现程序设置界面及参数存储的一个A c t i v i t y。在实际开发过程中,一个参数设置界面在进行参数设置过程中会激起另外一些P r e f e r e n c e A c t i v i t y 界面。这些新的P r e f e r e n c e A c t i v i t y 界面是为了保存配置信息,以及显示配置状态。但在实际应用过程中由一个P r e f e r e n c e A c t i v i t y 导出的另外一些A c t i v i t y 会导致数据更新、数据存储以及界面维护比较繁琐,带给用户的就是比较繁琐的数据
14、更改和信息显示。给开发人员带来比较庞大的页面更改及数据处理,增加了设计工作量。根据P r e f e r e n c e A c t i v i t y 显示特征一致的特性,结合L i n u x 虚拟文件系统的管理机制,对P r e f e r e n c e A c t i v i t y 的参数设置界面提出了合理的管理机制。2 2V F S 实现S e t t i n g M e n u2 2 lS e t t i n g M e n u 页面进入S e t t i n g 页面的时候,可以通过各个标题的名字来启动对应的S e t t i n g 设置页面。首先通过S e t t i n
15、 g的标题得到对应的S e t t i n g 的模式(e gI PC a m e r a、W i-F i、F i r e w a l l),然后通过该模式获取相应的S e t t i n g 页面显示的G U I。如图3 所示。例如,当用户点击S e t t i n g M e n u 页面某一项的时图3 页面显不候,S e t t i n g M e n u 会传递相应的标题给S e t t i n g E d i t o r,然后显示相应的G U I。该S e t t i n g M e n u 页面完成功能主要有:从数据交换区中获取数据并且保存到变量中并且写到对应的G U I 数据存储
16、的地方,或者从G U I 存储的地方读取相应的数据保存到变量中去并记录当前读取的数据和数据交换区中的数据。是否不一致,如果不一致,则用变量e h a n g e P r o f i l e 记录当前G U l 配置有改变。根据传递的不同参数进入到不同的配置页面。2 2 2 设置界面功能模块设计对应于L i n u x 虚拟文件系统的设计,该S e t t i n g M e n u 设置分为三大块:S e t t i n g M e n u 对应于V F S 的不同进程的调用或者是系统调用层。S e t t i n g E d i t o r 以及S e t t i n g P u b l i
17、 c 对应于V F S管理模块层。S e t t i n g l p C a m e r a、S e t t i n g W i F i 等配置界面对应于L i n u x 系统中的D e v i c e 以及设备文件层。具体设计如图4 所示。fS e t t i n g N k n ufs e t t l n g 文忤,相当于系统调用传-l-一递的参数。S e t f i n g F _ A i t o r(数据交换中心)f 相当于v f#层 王S e m n g P u b l i c-f-t=千+卜=s 镏垆磐Il 瀚;II 篓吲l 溉。Il 盛怨石。图4 设置界面调用图各个S e t
18、t i n g 继承S e t t i n g P u b l i c 类,实现了最主要的两个方法l o a d P r e f e r e n c e s T o()和u p d a t e(),这两个方法在S e t t i n g P u b l i e 定义,在各个S e t t i n g 方法中重写,这样就可以通过S e t t i n g P u b l i e 来统一描述所有的S e t t i n g。2 2 3 主要功能模块详述S e t t i n g M e n u 是一个继承P r e f e r e n c e A c t i v i t y 的万方数据第2 4 卷
19、第2 期电脑开发与应用类,主要实现通过用户点击S e t t i n g M e n u 界面上的标题通过p u t S t r i n g 将t i t l e 传递给S e t t i n g E d i t o r,决定哪个设置界面将要启动。相当于L i n u x 系统中的系统调用传递的不同参数。实现代码因篇幅所限略,有需者请与作者联系。p u b l i cc l a s sS e t t i n g M e n ue x t e n d sP r e f e r e n c e A c t i v i t y O v e r r i d ep u b l i cb o o l e
20、a no n P r e f e r e n c e T r e e C l i c k(P r e f e r e n c e S e r e e np s,P r e f e r e n c ep r e f)S t r i n gt i t l e=(S t r i n g)p r e f g e t T i t l eO;I n t e n ti n t e n t=n e wI n t e n t()t在S e t t i n g E d i t o r 中主要完成了通过得到的参数选择要设置的界面,以及每一个界面载入不同的配置信息,通过启用线程检查G U I 界面是否有数据更新。S
21、e t t i n g P u b l i c 是一个公共的方法中心,每一个将要配置的界面继承这个类,都拥有这个类里面的方法,当要配置的界面载人时就会调用这个类里面的方法判断界面的信息,是否要更新。每一个将要配置的界面就如同L i n u x 系统下的不同文件系统一样,都有一个公共接口S e t t i n g P u b l i c 实现了对每个配置界面的管理。S e t t i n g E d i t o r 中的数据存储就如同L i n u x 系统下的共同的b u f f e rc a c h e 来缓存底层设备的数据缓冲区,实现了对数据的共同管理。在L i n u x 系统中V F
22、S 这种管理机制可以加速对于存放文件系统的物理设备的访问,从而加快对文件系统的访问。在A n d r o i d 的应用开发中基于V F S 的这种机制同样加快了对于不同界面数据的存储以及不同界面的管理维护。2 3 不同设置模块设计与实现所有设置界面都继承一个公共的S e t t i n g P u b l i c类,根据自身构造函数不同,实现了不同设置界面有其自己的显示信息。每一个设置界面对应不同的设置信息,但是不同的设置界面都有相同的方法,例如更新p r e f e r e n c e 数据的u p d a t e()方法、l o a d P r e f e r e n c e s T o
23、()等方法。这些方法是由S e t t i n g P u b l i c 类里定义的。界面数据更新信息返回到S e t t i n g E d i t o r 界面,S e t t i n g E d i t o r 保存了不同设置界面的显示信息,将配置的信息显示给用户。3 结束语本文提出了一种基于L i n u x 虚拟文件系统在A n d r o i d 系统终端控制上应用的方法。在A n d r o i d 系统开发过程中会有过多的数据信息处理,尤其是对于参数配置界面,要想实现对每一个配置界面合理的配置与管理,应该有一个好的管理机制,以免数据或者界面信息出现不一致。目前实现的界面配置都
24、是基于单界面的管理,这样会带来较大的系统开销,而对于手机上的处理器性能较低的共性问题,为了减小系统开销,本论文提出了虚拟文件系统这种管理机制来管理A n d r o i d 手机中的不同界面的信息处理。参考文献李芙蓉当前智能手机操作系统及其比较分析 J 信息技术,2 0 0 8(5):1 8 1 9 张哗A n d r o i d 系统介绍 E B o L h t t p:d o w n l o a d f a r s i g h t c o r n c n d o w n l o a d p d f f a r s i g h t 0 8 1 2 2 0 A n d r o i d p d
25、f,2 0 0 8 1 2 1 8 毛德操,胡希明L i n u x 内核源代码情景分析(上册)M 杭州:浙江大学出版社,2 0 0 1 胡晓明,王强L i n u x 核心源代码分析 M 北京:人民邮电出版社:2 0 0 0 陈莉君L i n u x 操作系统内核分析 M 北京:人民邮电出版社,2 0 0 8 魏永踢,杨飞月,吴漠霖L i n u x 实用教程 M 北京:电子工业出版社,1 9 9 4 B r i a nW a r d T h eL i n u xK e r n e lH O W T O M 北京:电子工业出版社,1 9 9 7 D a v i dAR u s l i n g
26、 T h eL i n u xK e r n e l M 北京:电子工业出版社,1 9 9 6 R i c h a r dG o o c h O v e r v i e wo ft h eV i r t u a lF i l eS y s t e m M 北京:电子工业出版社,1 9 9 8 G a d iO x m a n T h eE x t e n d e d 一2F i l eS y s t e mO v e r v i e w M 北京:清华大学出版社,1 9 9 5 柴远波,郭云飞3 G 高速数据无线传输技术 M 北京:电子工业出版社,2 0 0 9 姚昱曼,刘卫国A n d r
27、o i d 的架构与应用开发研究 J 计算机系统应用,2 0 0 8,1 7(1 t):1 0 8-1 1 2 姚昱曼刘卫国A n d r o i d 与J 2 M E 平台间即时通信的研究与实现 J 计算机系统应用,2 0 0 8,1 7(1 2):3 0 3 4(上接第7 4 页)线程去处理。页面抓取的程序因篇幅所限略,有需要者请与作者联系。1 4 结束语 2 网页抓取是搜索引擎的一个重要功能。本文介绍了在l i n u x 下用事件触发的机制结合多线程的编程方。法来对网页信息进行了抓取,经过对1 0 0 个页面的信,、息进行了抓取实验的验证,该方法快速有效。参考文献刘奕群,马少平,洪涛搜
28、索引擎技术基础I-M 北京:清华大学出版社,2 0 1 0 刘书华,陈国奎基于P o w e r B u i l d e r 的网页数据抓取口 计算机系统应用,2 0 0 9(2):1 7 1 1 7 5 殷士勇计算机操作系统 M 北京:清华大学出版社,2 0 1 0 刘海燕,荆涛L i n u x 系统应用与开发教程(第2 版)M 北京:机械工业出版社,2 0 1 0 叼I=I幻妇口乜口L!l口哺口I 竺lI 竺II!l口口口万方数据虚拟文件系统机制在Android系统终端控制上的应用虚拟文件系统机制在Android系统终端控制上的应用作者:沈红雷,陈够喜作者单位:中北大学电子与计算机科学技
29、术学院,太原,030051刊名:电脑开发与应用英文刊名:COMPUTER DEVELOPMENT&APPLICATIONS年,卷(期):2011,24(2)参考文献(13条)参考文献(13条)1.Richard Gooch Overview of the Virtual File System 19982.David A Rusling The Linux Kernel 19963.Brian Ward The Linux Kernel HOWTO 19974.魏永明;杨飞月;吴漠霖 Linux实用教程 19945.陈莉君 Linux操作系统内核分析 20086.胡晓明;王强 Linux核心源代码分析 20007.姚昱曼 刘卫国 Android与J2ME平台间即时通信的研究与实现 2008(12)8.姚昱曼;刘卫国 Android的架构与应用开发研究期刊论文-计算机系统应用 2008(11)9.柴远波;郭云飞 3G高速数据无线传输技术 200910.Gadi Oxman The Extended-2 File System Overview 199511.毛德操;胡希明 Linux内核源代码情景分析 200112.张晔 Android系统介绍 200813.李芙蓉 当前智能手机操作系统及其比较分析期刊论文-信息技术 2008(05)本文链接:http:/
限制150内