【Android源码 栏目提醒】:本文主要为网学会员提供“基于Android平台的分布式文件系统协议研究 - 期刊论文”,希望对需要基于Android平台的分布式文件系统协议研究 - 期刊论文网友有所帮助,学习一下!
第 26 卷第 2 期 西昌学院学报 自然科学版 Vol.26,NO.2 2012 年 06 月 西昌学院学报 Natural Science Edition Journal of Xichang College 自然科学版 Jun.,2012 基于
Android 平台的分布式文件系统协议研究 刘尘尘 (西昌学院 汽车与电子工程学院,四川 西昌 615013) 【摘 要】目前大量的便携式电子设备使用了 Google 系统所开发并且推广的基于 linux 的
Android 平台,但是由于在便携性和经济型方面的考虑,这类设备在设计之初的时候自带的存储空间十分有限,在部分的
Android 嵌入式开发板中甚至连基本的
Android 文件系统都无法安装到 Flash Rom 中去,本文介绍了一种分布式网络文件共享系统来解决这个问题。
【关键词】
Android; 嵌入式; 网络文件共享系统;flash ram 【中图分类号】TP311.1 【文献标识码】 【文章编号】 A (2012) 1673-1891 02-0082-031 前言 且在网络上处处可用; 在近年学习嵌入式系统的过程中, 利用一块基 (3)可以使得大量的可移动的存储设备在网络于
Android 系统的开发板进行实验是对理论知识的 上共享使用, 减少整个网络上的可移动介质设备的一个提炼过程, 目前笔者在使用一块 CPU 是基于 数量。
三星公司的 S3C2410 的 arm9 开发板 (ST2410 版), 2.1 NFS (网络文件系统) 的安装这 个 版 本 的 开 发 板 只 自 带 了 64M 空 间 的 Flash 以 CentOS 6 作为 linux 版本为例,linux 的内核Rom, 以至于
Android 平台最基本的文件系统都无 版本是 2.6.32, 缺省是安装了 NFS 系统的, 可以通过法写入, 因此通过努力, 笔者找到了一种在 U-boot 查询/etc/init.d 这个文件夹去寻找 nfs 服务 。
但是如 2和 tftp 方式下的 NFS (网络文件系统) 来解决上述问 果系统内核低于这个版本, 那么就需要通过以下的题。
命令进行安装。
分布式系统 (distributed system)是建立在网络 yum install nfs //通过 yum 的方式来安装 nfs 安之上的软件系统。
正是因为软件的特性, 所以分布 装包。
式系统具有高度的内聚性和透明性。
因此, 网络和 这里由于笔者使用的参数 nfs 带了 号, “” 所以分布式系统之间的区别更多的在于高层软件 (特别 系 统 会 从 源 上 找 出 三 个 安 装 包 :nfs-utils、是操作系统) 而不是硬件。
内聚性是指每一个数 , nfs-utils-lib 和 nfs4-ac1-tools, 只需要确认安装, 输据源分布节点高度自治。
透明性是指每一个数据 “y” 入 即可让服务器开始安装。
源分布节点对用户的应用来说都是透明的, 看不出 当然, 也可以从光盘安装 NFS 系统, 这里不再是本地还是远程。
在本次研究中, 数据源就是指的 详细的说明。
宿主机的共享文件系统。
2.2 NFS (网络文件系统) 的配置2 NFS(网络文件系统) 使用 linux 的 vi 编辑系统对 NFS 进行配置的步 网络文件系统 (NFS) 是一个基于分布式计算机 骤如下:系统的文件系统协议, 最初是由 SUN 公司 (09 年已 在终端通过 vi 编辑器打开 NFS 的 exports: / vi被 Oracle 公司收购)提出,最初的设想是可以建立开 etc/exports, 其实这个 exports 是一个空文件, 进去之放式网络计算机的远程调用系统, 在这里,该协议 后需要用户自己设置 。
3被笔者使用在嵌入式设备 上, (目标机) 使之可以像 添加代码到这个空文件中去 (目的是向 IP 为访问本地存储系统一样去访问 PC 机 (宿主机) 的文 172.16.9.58 的 目 标 机 共 享 宿 主 机 的/home 目 录 为件系统 1,这里简单介绍一下本次实验使用 NFS 协 : 例) /home 172.16.9.58 (rw, , sync) 其中,参数 rw 是指议的优点: 目标机对该目录有可读可写的权限, 是指直接 sync (1)本地工作站使用更少的磁盘空间, 因为通 将修改内容写入磁盘, 反之留在内存以备写入, 上常的数据可以存放在一台机器上而且可以通过网 述两个参数是默认的, 不用进行修改, 也就是说, 配络访问到; 置的主要工作就是指定目标机的 IP 地址, 以方便宿 (2)用户不必在每个网络上机器里都有一个 主机相关地址指向目标机。
home 目录。
Home 目录 可以被放在 NFS 服务器上并 2.3 NFS (网络文件系统) 的启动和挂载 收稿日期: 2012-04-27 作者简介: 刘尘尘 , 四川西昌人, (1981- ) 男, 硕士,讲师,主要从事嵌入式软件开发的研究。
刘尘尘: 基于
Android 平台的分布式文件系统协议研究 832.3.1 NFS(网络文件系统)的启动 的特点之一。
这里需要启动一个可选服务 nfslock, 这个服务是用于启动响应的 RPC 进程 , 4 允许 NFS 目标机在宿主机上对文件加锁, 具体的启动命令见图 1。
图 1 分别启动 nfslock 和 nfs 的命令2.3.2 NFS(网络文件系统) 的挂载 该环节是在本次研究过程中的最后一个环节,也是最重要的一个环节, 内容是利用 linux 的 mount命令, 来将上述宿主机的/home 目录直接挂载到目标机某目录上使用。
Mount -t nfs 172.16.1.100:/home /mnt/nfs 上述命令是指将 IP 地址为 172.16.1.100 的宿主 图 3 ST2410 开发板结构框图机的/home 目录挂载到目标机的/mnt/nfs 文件夹下, 3.2 U_boot 工具的介绍和移植方便以后的使用, 在挂载命令前, 应该先在目标机 前面在宿主机和目标机之间已经搭建好一个 图的/mnt 目录下建立 nfs 这个文件夹, 2 显示的是最 名叫 NFS 系统的桥梁, 现在需要把这个桥梁通过终在目标机上显示宿主机相关目录的截图5。
U_boot 工具把它直接移植到内存中, 确保在这个基 于 Liunx 的
Android 系统在启动之时就能将这个桥 梁连通, 方便今后的工作使用。
U-Boot, 全称 Universal Boot Loader,是遵循 GPL 条 款 的 开 放 源 码 项 目 。
从 FADSROM、 8xxROM、 图2 目标机上浏览宿主机相关目录截图 PPCBOOT 逐步发展演化而来。
其
源码目录、 编译形3 NFS 在 (网络文件系统) ST2410 目标机的 式与 Linux 内核很相似, 事实上,不少 U-Boot
源码就实现 是相应的 Linux 内核源程序的简化, 尤其是一些设 在前言中已经提及了对 NFS 系统进行安装和 备的驱动程序, 这从 U-Boot
源码的注释中能体现这 就配 置 的 目 的 , 是 在 ST2410 这 个 开 发 板 上 实 现 一点。
该项目不仅仅支持 Linux 系统的引导, 还支
Android 平台的安装, 通过以上的论述, 已经将 NFS 持其他嵌入式系统, 由于在这里对研究没有意义,系统安装好, 那么, 现在就以 ST2410 这个硬件平台 也就不再多谈。
在本次研究过程中, 在宿主机中,来对 NFS 系统进行测试。
U_boot 从内存中将 (其中需要 tftp 服务支持) NFS 服3.1 ST2410 开发板介绍 务启动起来, 让开发者能够在系统启动之初就能在 ST2410 是国内一家公司基于 S3C2410 的 arm9 宿主机和目标机之间使用文件共享这个服务, 方便开发的实验板, S3C100 是 三 星 公 司 生 产 的 基 于 程序和系统的开发, 当然,根据开发板的不同, 也要ARM920T 内 核 的 RISC 微 处 理 器 , 频 可 以 达 到 主 因地制宜的对 U_boot 做好移植工作:203MHz, 16K 它的主要特性是: 字节指令 Caches; 8 (1)在/include/configs 中加入 st2410.h,这里是在个 10 位的 ADC; 外部存储控制器 (指 SDRAM 和片 U_boot 里面详细的定义了 2410 这个开发板的配置选 逻 辑) LCD 控 制 器 ; (支 持 流 行 的 TFT) Touch ; 信息。
panel 控制器; 个 DMA 通道; 个 UART; 个串行外 4 3 2 (2)在/board 中加入 ST2410 文件夹, 其中包括 5围电路结构 SPI; IIC-BUS、 2 个 USB 接口; 个 SD、 4 个文件, 也是在开发过程中必须的。
PWM 定时器和 1 个内部定时器; 多达 55 个中断源 (3)修改第二个步骤中提到的其中一个文件的中断控制器; 种电源控制模式: 4 正常、缓慢、空闲 Makefile,加入 st2410 编译内容。
8和关闭模式; 个 10-bit ADC 通道和触屏接口; 具有 设置完后, 可以先编译, 然后将得到的二进制日历功能的 RTC 等。
ST2410 是比较常用的嵌入式 文件烧入到开发板, 重新启动开发板之后就可以在初学者入手的开发板。
图 3 是这块开发板的结构 显示终端 (一般为 LCD 显示屏幕) 看到 U_boot 的启框图, 可以从中看出, 接口十分丰富是这块开发板 动信息了。
84 西昌学院学报 自然科学版3.3 宿主机的 TFTP 方式的配置 本文只对 linux 系统中一个版本进行了安装和 在上文中提及在宿主机需要 tftp 服务的支持, 配置 NFS 的详细说明,实际对于 NFS 相关内容, 远不TFTP(Trivial File Transfer Protocol,简单文件传输协 止此,举例来说, NFS 有 4 个版本, 分别是 NFSv2、 是议) TCP/IP 协议族中的一个用来在客户机与服务 这 NFSv3 和 NFSv4, 里 的 linux 版 本 默 认 安 装 的 是器之间进行简单文件传输的协议, 为系统提供不复 NFSv4。
通过上面的一系列设置, 就可以在目标机杂、开销不大的文件传输服务。
的相对应位置 (本例是/mnt/nfs 文件夹)看到宿主机 在本研究过程中主要是为宿主机和目标机之 的相关内容, 由于在配置文件 exports 里面设置了可间做通讯数据提供服务, 并简单叙述 ftp 服务的配 读可写,因此在这里, 就像访问目标机的本地文件置。
在本文提及的 Linux 系统内核中, 已经默认安 去访问宿主机的文件夹和文件, 特别是在
Android装了这个服务, 可以直接修改/etc/xinet.d/tftp 这个配 平台中,这一个技术可以使得本来不大的 Flash Rom 将置文件,“disableno” 这行语句删除即可。
扩大,极大的扩展了目标板的存储空间, 方便了用4 结语 户的使用。
注释及参考文献: 1叶军.朱华生.嵌入式 Linux NFS 方式下应用程序的实现J.微计算机信息, 23 : 2007, (8) 73-75. 2沙伯海.蔡海滨.基于 Linux 下网络服务安全可靠性研究J.计算机工程与设计, 26 : 2005, (3) 738-742. 3陈璇.李捍东.嵌入式 Linux 应用开发J.昆明理工大学学报 , 30 : (理工版) 2005, (5A) 362-365. 2005 : 4孙宜进.朱杰.基于 Linux 和 SOPC 系统的 NFS 开发平台设计J.信息技术, (3) 128-130. 2010 : 5苟军年.ARM Linux 嵌入式软件开发平台的搭建J.计算机时代, (11) 53-55. The Research on Distributed Document System Agreement Based on
Android Platform LIU Chen-chen Xichang College, (School of Automotive and Electronic Engineering, Sichuan 615013) Xichang, Abstract: At present, plenty of portable electronic equipments use
Android platform based on linux,which isdeveloped and popularized by Google. However, considering portability and economy,storage space of these onequipments is quite limited at the beginning of design. Even more, some parts of embedded boards of
Android, thebasic
Android file system cannot be installed on Flash Rom. To solve this problem, author introduces adistributed network file sharing system in this paper. Key words: Embedded;
Android; Flash rom Sharing system of network file;