实验九根文件系统构建实验20161107分析.docxVIP

实验九根文件系统构建实验20161107分析.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验九 根文件系统构建实验 实验目的 了解嵌入式操作系统中文件系统的类型和作用。 了解yaffs2文件系统的优点及其在嵌入式系统中的作用。 掌握利用BusyBox 软件制作嵌入式文件系统的方法。 掌握嵌入式Linux 文件系统的的挂载过程。 实验工具 操作系统:ubantu10 交叉编译工具: 文件系统制作工具:busybox-1.17.2tgz 文件系统镜像制作工具:mkyaffs2image-128M 实验要求 利用BusyBox 构建简单的根文件系统,并将其制作成为yaffs 格式的文件系统镜像,并 下载到A8实验板,要求如下: kernel能够成功挂载根文件系统, 通过串口终端查看所建立的根目录, 在自己建立的根文件系统中运行简单的“hello world”程序。 实验讲解 文件系统是操作系统中组织、存储和命名文件的一种基本结构,是操作系统中统一管理信息资源的一种方式,可以管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,方便用户使用。它的存储媒质包括磁盘、光盘、FLASH等,FAT(文件分配表)是最常用的一种文件系统格式,主要优点是可以允许多种操作系统访问。 Linux的一个最重要特点就是它能同时支持多种文件系统。在加载根文件系统之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在多个不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移,Linux支持的文件系统数还会增加。 每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount(挂载)所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。 根文件系统或者可以认为是一组特定的目录结构,不同的目录里面存放了不同名称,不同用途的文件,方便系统及用户应用程序查找及调用。 根文件系统中各顶层目录,均有其特殊的用法和目的。下表提供了Linux根文件系统各顶层目录的完整清单。 表9-1 linux根目录介绍 目录内容bin 必要的用户命令(二进制文件)boot 引导加载程序所使用的静态文件dev设备文件和其他特殊文件etc 系统配置文件,包括启动文件home ?用户主目录lib ?必要的程序库(例如 C 程序库)以及内核模块media ?挂载点,用于可移除媒体mnt ?挂载点,用于临时挂载的文件系统opt ?附加的软件套件proc ?用于提供内核与进程信息的虚拟文件系统root ?root 用户的主目录sbin ?必要的系统管理员命令(二进制文件)sys ?系统信息与控制(总线、设备以及驱动程序)的虚拟文件系统tmp ?临时文件usr ?在第二层包含了对大多数用户有用的大量应用程序和文件,包括X服务器var ?用于存放服务程序和工具程序的可变资料 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括jffs2,?yaffs,?cramfs,?romfs,?ramdisk,?ramfs/tmpfs等。 基于FLASH的文件系统? flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash写入内容时,需要先擦除对应的存储区间,这种擦除是以块(block)为单位进行的。 闪存主要有NOR和NAND两种技术(简单比较见附录)。Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序。因此,必须针对Flash的硬件特性设计符合应用要求的文件系统;传统的文件系统如ext2等,用作Flash的文件系统会有诸多弊端。 在嵌入式Linux下,MTD(Memory?Technology?Device,存储技术设备)为底层硬件(闪存)和上层(文件系统)之间提供一个统一的抽象接口,即Flash的文件系统都是基于MTD驱动层的

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档