arm嵌入式原理技术与应用ch-11.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
arm嵌入式原理技术与应用ch-11

; 理解文件系统的概念 掌握根文件系统制作的制作方法。; 11.1.1 根文件系统的概念 通常我们把与管理文件有关的软件和数据,统称为文件系统。它方便地组织管理计算机中的所有文件,为用户提供文件的操作手段和存取控制。同时,文件系统隐藏了系统中最为纷繁复杂的硬件设备特征,为用户以及操作系统的其他子系统提供一个统一、简洁的接口,通过文件系统,使得用户方便地使用计算机的存储、输入/输出等设备。 ; Linux系统中把CPU、内存之外所有其他设备都抽象为文件来处理。进程只和文件系统打交道,具体的细节,由设备管理部分具体实现并为文件系统提供尽可能简洁统一的接口。因此,文件系统还同时充当着设备管理接口的角色,用户进程使用和操作具体的设备,都必须通过文件系统进行。文件系统是操作系统中与管理文件有关的所有软件和数据的集合。; Linux系统自身的文件系称为ext2,它也是Linux默认的文件系统。我们把ext2以及Linux支持的文件系统称为逻辑文件系统, 通常每一种逻辑文件系统服务于一种特定的操作系统,具有不同的组织结构和文件操作函数,相互之间差别很大。 ; Linux在传统的逻辑文件系统的基础上,增加了一个称为虚拟文件系统(VFS)的接口层,如图所示。; 系统中所有的设备,包括: 字符设备 块设备 网络设备 按照某种方式由逻辑文件系统统一管理,逻辑文件系统为它们提供访问接口。 ; 虚拟文件系统在最上层,管理各种逻辑文件系统,屏蔽了它们之间的差异,为用户命令、函数调用和内核其他部分提供访问文件和设备的统一接口, 使得不同的逻辑文件系统按照同样的模式呈现在使用者面前,对于普通用户来讲,觉察不到逻辑文件系统之间的差异,可以使用同样的命令来操作不同逻辑文件系统所管理的文件,可以在它们之间自由地复制文件。 ; 根文件系统是一种特殊的文件系统。内核启动的最后步骤就是挂载根文件系统,由于根文件系统是内核启动时挂载的第一个文件系统,因此根文件系统必须包括Linux启动时所必须的目录和关键性的文件: Init进程 Shell 文件系统、网络系统等等的工具集 系统配置文件 链接库;11.1.2 文件系统的分类 Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 ; 嵌入式系统文件系统的层次示意图如图所示。; Linux启动时,第一个必须挂载的是根文件系统; 若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。 之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。 ; 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。 在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。; 1. 基于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驱动层的. 使用MTD驱动程序的主要优点在于,它是专门针对各种非易失性存储器(以闪存为主)而设计的,因而它对Flash有 更好的支持、管理和基于扇区的擦除、读/写操作接口

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档