电子科大 第7章 嵌入式linux软件设计——文件系统

电子科大 第7章 嵌入式linux软件设计——文件系统

ID:34484461

大小:521.28 KB

页数:29页

时间:2019-03-06

电子科大 第7章 嵌入式linux软件设计——文件系统_第1页
电子科大 第7章 嵌入式linux软件设计——文件系统_第2页
电子科大 第7章 嵌入式linux软件设计——文件系统_第3页
电子科大 第7章 嵌入式linux软件设计——文件系统_第4页
电子科大 第7章 嵌入式linux软件设计——文件系统_第5页
资源描述:

《电子科大 第7章 嵌入式linux软件设计——文件系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章嵌入式Linux软件设计——根文件系统移植第7章嵌入式Linux软件设计主要内容1文件系统介绍2根文件系统介绍3Busybox工具包4利用Busybox制作根文件系统2第7章嵌入式Linux软件设计7.5根文件系统介绍文件系统概念:文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户与操作系统的交互。没有文件系统,用户和操作系统的交互就断开了。3第7章嵌入式Linux软件设计7.5根文件系统介绍Linux文件系统的体系结构:用户空间包含一些应用程序(例如,文件系统的使用者)和GNU

2、C库(glibc),它们为文件系统调用(打开、读取、写和关闭)提供用户接口。系统调用接口的作用就像是交换器,它将系统调用从用户空间发送到内核空间中的适当端点。VFS是底层文件系统的主要接口。这个组件导出一组接口,然后将它们抽象到各个文件系统,各个文件系统的行为可能差异很大。有两个针对文件系统对象的缓存(inode和dentry)。它们缓存最近使用过的文件系统对象。4第7章嵌入式Linux软件设计7.5根文件系统介绍Linux文件系统的体系结构:每个文件系统实现(比如ext2、JFS等等)导出一组通用接口,供V

3、FS使用。缓冲区缓存会缓存文件系统和相关块设备之间的请求。例如,对底层设备驱动程序的读写请求会通过缓冲区缓存来传递。这就允许在其中缓存请求,减少访问物理设备的次数,加快访问速度。以最近使用(LRU)列表的形式管理缓冲区缓存。注意,可以使用sync命令将缓冲区缓存中的请求发送到存储媒体(迫使所有未写的数据发送到设备驱动程序,进而发送到存储设备)。5第7章嵌入式Linux软件设计7.5根文件系统介绍常用文件系统:jffs2日志闪存嵌入式系统文件系统版本2(JournallingFlashFileSystemv2)

4、:jffs2是Redhat公司基于jffs开发的闪存文件系统,主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2的运行速度大大放慢。6第7章嵌入式Linux软件设计7.5根文件系统介绍常用文件系统:yaffs(YetAnotherFlashFileSystem):yaffs是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与jff

5、s2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux和eCos,还支持WinCE,pSOS和ThreadX等。yaffs自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。当然,yaffs也可与MTD驱动程序配合使用。7第7章嵌入式Linux软件设计7.5根文件系统介绍常用文件系统:cramfs(CompressedROMFileSyste

6、m):Cramfs是Linux的创始人LinusTorvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。由于以上特性,Cramfs在嵌入式系统中应用广泛。但是它的只读属性同时又是它的一大缺陷,使得用户无法对其内容

7、对进扩充。Cramfs映像通常是放在Flash中。8第7章嵌入式Linux软件设计7.5根文件系统介绍常用文件系统:nfs(NetworkFileSystem):NFS是由Sun开发并发展起来的一项在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。以上讨论的都是基于存储设备的文件系统(memory-basedfilesystem),它们都可用作Linux的根文件系统。实

8、际上,Linux还支持逻辑的或伪文件系统(logicalorpseudofilesystem),例如procfs(proc文件系统),用于获取系统信息,以及devfs(设备文件系统)和sysfs,用于维护设备文件。9第7章嵌入式Linux软件设计7.5根文件系统介绍根文件系统概念:根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。