文档详情

嵌入式Linux文件系统.ppt

发布:2017-11-09约6.91千字共43页下载文档
文本预览下载声明
文件:是指具有符号名的数据信息的集合。 命名了的字符串集合 例如,在UNIX系统中,文件系统从物理上将每个文件仅仅看成是由一系列字符串组成。 命名了的相关记录集合 例如一个命名为“学生登记表”的文件是一个学生情况记录的集合,每个学生情况的记录是由姓名、性别、年龄等数据项组成,而姓名、年龄、性别等数据项则由若干个字符组成。 文件的分类 按文件用途分类 系统文件、库文件、用户文件 按文件中数据分类 源文件、目标文件、可执行文件 按文件保护方式分类 只读文件、读写文件、不保护文件 按文件保存时间分类 临时文件、永久文件 文件的操作 文件系统不应要求用户必须了解文件的物理组织才能使用文件,而应方便用户,提供给用户按其逻辑组织形式来使用文件。 一个文件系统至少要提供用户以下的文件操作功能 打开、关闭、建立、撤消、复制文件,文件换名、文件列表 读、写、修改、插入、删除数据项操作 目录的概念 目录: 文件系统层次结构的一个非终结节点,一个目录通常包含有许多目录项,每个目录项可以是一个文件或目录。而文件是文件系统层次结构的一个终结节点,即在文件下不可能再包含文件或目录。 目录的层次结构 文件系统 VFS的主要功能包括: 1.对实际文件系统的数据结构进行抽象,以统一的数 据结构进行管理。 2.在内核层提供统一的文件处理形式,方便上层系统 调用使用。 3.接受其他内核子系统的操作请求。 4.支持多种实际文件系统之间的相互访问。 5.将对VFS文件系统(VFS)的操作映射到实际文件系统 中对应的操作。 VFS原理简述: 文件系统初始化时,需要在VFS中登记,而且这些过 程要在系统启动操作系统初始化时完成。 Linux运行时所支持的文件系统都维护在一个文件系 统注册链表中。 该链表的每一个节点对应一个文件系统,其中包含 了文件系统类型等信息,并且维护了一个指针用于 指向下一个文件系统节点。 文件系统类型的注册和注销的两种途径: 一种:是在编译内核时确定是否将实际的文件系统内建 到内核中,并且在系统初始化时通过内嵌的函数 调用向注册链表登记; 另外一种:利用Linux的模块挂载(mount)/卸载(umount) 机制来实现。(如实验中的NFS挂载) 4.4.3 Linux中的文件类型与结构 VFS最终是与实际的文件系统相接口,实际文 Linux中有三种不同类型的文件,它们是: 磁盘文件 设备文件 特殊文件 磁盘文件:就是通常意义上的文件,一般以磁盘为 存储介质。 例如:ROMFS采用EPROM之类的介质; RAMDISK是用在内存中模拟磁盘介质; 嵌入式系统中则采用闪存作为存储介质; 这些文件包含两个部分: 一是存储的数据本身; 二是有关该文件的组织和管理信息; 其中:与组织和管理有关的信息主要存储在文件的 索引节点(inode数据结构)和目录项(dentry 数据结构)中。 设备文件: 同样包含用于组织和管理的信息,同样有存储介质上的 索引节点与目录项,但是却不一定有存储着的数据。 根据设备类型和性质的不同,它可以是用于存储/读 出的(如字符设备与块设备),可以是用于接收/发送的 (如网络设备),还可以是供采集/控制的(如机电传感设 备),甚至可以是多种设备类型的组合。 特殊文件: 一般都与外部设备无关,所涉及的介质通常就是内 存以及CPU本身,在内存中也有inode数据结构和dentry 数据结构。Linux中/proc目录下的一系统文件就是属于 这种特殊文件(相当于windows下的控制面板,用于查看 设备状态) 4.5 MTD技术 在嵌入式设备中:往往没有IDE接口的硬盘设备! 那么嵌入式Linux系统如何来管理闪存芯片来实施数据存储的呢? MTD技术来管理闪存数据的存储! Linux系统:使用MTD (Memory Technology Device)技术 来支持多种闪存技术。 MTD设备:就是闪存芯片、小型闪存卡、记忆棒之类的设 备;这类设备在嵌入式系统中使用是越来越频 繁。 MTD驱动程序:就是针对以上设备在Linux系统下嵌入式环 境中使用专门开发的新的一类驱动程序。 MTD驱动程序:对闪存设备有着良好支持、管理以及基于 扇区的擦除和读/写操作的更好接口。 MTD驱动程序介绍: MTD在硬件和上层应用之间提供一个抽象的接口(即硬件抽象层HAL),这样MTD驱
显示全部
相似文档