好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

手机文件系统介绍.doc

8页
  • 卖家[上传人]:第**
  • 文档编号:31007183
  • 上传时间:2018-02-03
  • 文档格式:DOC
  • 文档大小:328.50KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 文件系统介绍文件系统介绍1 文件概述2 文件系统概述2.1 文件系统2.2 FAT 文件系统2.3 文件系统的特点2.4 闪存转换层(FTL)3 通用文件系统(UFAT)1 文件概述文件是一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名它是一个抽象机制,它提供了一种把信息保存在存储介质上,而且便于以后存取的方法,用户不必关心实现细节根据文件的定义,每个文件必须有一个唯一的文件名不论是系统管理,还是用户使用都使用文件名文件系统通常支持多种类型的文件,包括正规文件、目录文件、设备文件、管道和FIFO等几种情况,以满足不同的应用需求:常规文件:即通常意义上的文件,主要用来存放用户的数据目录:管理文件系统结构的系统文件设备文件:在大多数的文件系统中,设备都被当作一种特殊的文件进行处理,设备文件包括块设备文件、字符设备文件、网络文件和FLASH文件(Flash File)等几种情况每个文件都有自己的文件名和数据,此外,文件还应该具有文件属性,不同的文件系统的属性相差很大,但是一般来说都会具有以下的文件属性:只读标志,隐藏标志、ASCII/二进制文件标志、创建日期、最后修改时间、文件长度等等。

      文件的存取和记录是通过目录完成的,目录是管理文件系统结构的系统文件,其本身还是文件目录文件中包含的是目录项,每个目录项代表一个普通文件或者一个目录文件,这样就形成了一个层次目录结构目录项中包含文件名、文件属性以及文件数据在存储介质中的位置FAT文件系统就是采用这样的方法来记录文件而在UNIX或者Linux中采用的方法是在目录项中保存文件名和一个指向另外一个数据结构的指针,文件属性、数据和存储地址都存放在这个数据结构中2 文件系统概述2.1 文件系统负责从文件存储器中管理和存取文件信息的软件模块称为文件管理系统,简称文件系统文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等从用户角度来看,文件系统主要是实现"按名取存",文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方文件管理系统具有如下特性:1)方便性:文件系统实现按名存取,用户无需关心文件存放的物理位置,特别是当文件的位置发生改变,在具有按名存取的文件系统中,用户程序对文件的存取方式无须改变。

      2)安全性:文件系统可以提供各种保护措施,防止无意的或有意的文件破坏另外,用户允许其文件被其他几个用户共同使用,若发现事先未核准的用户要使用该文件,则文件系统认为非法并予以拒绝3)统一性:用户使用统一的系统调用,可存取各种介质上的文件文件系统向用户提供了统一访问外存的接口通常文件系统应具有以下功能:1)、提供用户对文件操作的命令;2)、提供用户共享文件的机制;3)、管理文件的存储介质;4)、提供文件的存取控制的机制,保障文件及文件系统的安全性;5)、提供文件及文件系统的备份和恢复功能;6)、提供对文件的加密和解密功能而本文的文件管理正是从用户角度来说的,用户只要按照文件路径找到自己要的文件名,然后对文件名进行操作,而无需知道这个文件究竟存放在物理设备的什么地方2.2 FAT 文件系统本文的存储设备上用的是FAT文件系统,所以对FAT要做一些初步的了解FAT文件系统有三种形式:FAT12、FAT16、FAT32正如他们的命名一样,他们分别支持12位、16位、32位的簇集地址,而具体的每个簇占用多大的空间会根据不同的要求来具体实现一个FAT文件系统包括四个不同的部分:引导区、文件分配表(FAT1、FAT2)、文件目录表(FDT)、数据区。

      如图 1)图 1 盘结构其中:1)引导区:位于存储设备最开始的位置包含跳转指令、出厂标志、扇区大小、簇大小、保留扇区数等如图 2)图 2 引导目录内容2)文件分配表:它包含有两份文件分配表,这是出于系统冗余考虑,尽管它很少使用,即使是磁盘修复工具也很少使用它它是分区信息的映射表,指示簇是如何存储的数据区的簇号从2开始(FAT[0]、FAT[1]保留)一个分区分成同等大小的簇,也就是连续空间的小块簇的大小随着FAT文件系统的类型以及分区大小而不同,典型的簇大小介于2KB到32KB之间每个文件根据它的大小可能占有一个或者多个簇;这样,一个文件就由这些簇号所形成的簇链所表示然而,每个文件所占用的簇在存储设备上并不一定是连续的,它们经常是零散的分布在整个数据区域如图4)文件分配表(FAT)是映射到分区每个簇的条目列表每个条目记录下面五种信息中的一种链中下一个簇的地址 、一个特殊的文件结束符(EOF)符号指示链的结束 、一个特殊的符号标示坏簇 、一个特殊的符号标示保留簇 、0来表示空闲簇 每个版本的FAT文件系统使用不同大小的FAT条目这个大小已经由名字表示出来,例如FAT16文件系统的每个条目使用16位表示,32位文件系统使用32位表示。

      3)文件目录表:它是在根目录中存储文件和目录信息的目录表它是一个表示目录的特殊类型文件(现今通常称为文件夹)它里面保存的每个文件或目录使用表中的32位条目表示每个条目记录名字、扩展名、属性(档案、目录、隐藏、只读、系统和卷)、创建的日期和时间、文件/目录数据第一个簇的地址,最后是文件/目录的大小 除了FAT12和FAT16文件系统中的根目录表占据特殊的根目录区域位置之外,所有其它的目录表都存在数据区域每个文件在目录表中的形式 如图3)图 3 文件目录4)数据区 :这是实际的文件和目录数据存储的区域,它占据了分区的绝大部分通过简单地在FAT中添加文件链表的个数可以任意增加文件大小和子目录个数(只要有空簇存在)然而需要注意的是每个簇只能被一个文件占有,这样的话如果在32KB大小的簇中有一个1KB大小的文件,那么31KB的空间就浪费掉了从文件目录表到文件分配表,然后再到数据区,其实就是一本书的阅读过程拿到一本书,打开第一页首先读到的是引言(引导去DBR),然后翻到它的目录(文件目录表FDT),每个章节标题都在目录中,然后看每个小结后边对应的页码就是这个这一节开始的位置(DATA去的开始位置)。

      如图4)图 4 文件分配2.3 文件系统的特点嵌入式文件系统不同于普通计算机中使用的文件系统,它作为嵌入式系统应用中的一个重要可加载模块,一方面实现对嵌入式系统中的文件进行各种操作管理,另一方面还要符合整个嵌入式系统的特点文件系统的引入不能对嵌入式系统整体性能产生很大的负面影响嵌入式文件系统除了具有普通文件系统的一些特点外还别具特性,具体有如下特点:(1)存储设备管理合理嵌入式系统的存储设备比较特殊,与通用计算机系统中用的存储介质不同,其存贮器容量不会太大、功耗小、可移动性较强、具有防震性能等特点因此,文件系统必须对其进行高效、可靠的管理以避免对资源的浪费和数据的丢失2)操作简捷用户只需要知道文件名、文件路径等简单特征信息,就可以方便地对文件进行操作,而不必知道文件在具体的物理空间如何运作3)安全可靠对文件、数据的保护是文件系统的基本功能嵌入式系统的应用通常要求系统必须具有高可靠性,而作为操作系统的一部分,文件系统也应该满足高可靠性的要求4)良好的可移植性嵌入式应用领域相当广泛,其采用的硬件环境和操作系统也各不相同为了适应这种差异性,文件系统应该降低对具体的硬件环境和操作系统的依赖,具有良好的可移植性。

      5)高灵活性为了适应嵌入式系统的灵活性,文件系统必须具备这一点嵌入式文件系统,不同于普通计算机中的文件系统,它是一个相对独立的整体在嵌入式系统需要时,它可以灵活地被加载并且不需要时可以自由地卸载2.4 闪存转换层(FTL) FTL(Flash Translation layer)作为一个独立的部分,提供对Flash的高效访问是NAND Flash的综合管理层在这一层需要对NAND Flash进行分区,地址映射,坏块管理,屏蔽NAND所有的物理特性,只向上层软件提供理想的,可靠的存储空间在本地文件系统、存储器之前起到一个桥梁的作用图5 闪存转换示意图其中:Application:是应用层,为用户提供接口函数,通过这部分的接口函数户可以直接对文件进行操作File System:是针对闪存的文件系统,其向上层Application用户应用层提供API函数.应用层用户通过这些函数可以对存储器的内容直接进行操作,而用户不必知道这些内容在存储器中是怎样具体存放的FTL:闪存转换层,是本地文件系统与闪存之间的一个桥梁实现文件系统的逻辑地址到闪存的物理地址的转换,实现存储器上坏块管理、空闲块管理、块的擦除、断电保护等功能。

      Flash Media:本次设计实际应用的闪存,是基于第四章硬件环境要求而采的存储设备3 通用文件系统(UFAT)本研究内容就是采用的是通用文件系统UFAT,他可以用在具有文件存储形式的多嵌入式应用程序中是一个遵循POSIX规范的文件系统它包含一个库文件UFAT_953V1.0.a以及一个头文件Sys_vfs.hUFAT向下与FAT文件系统相兼容,向上层用户提供统一的接口函数,开发者可以通过这些接口函数对各种文件系统下的存储设备上的文件进行操作而不用特意去判断不同存储设备上的不同文件系统类型,然后才针对不同的文件系统下的存储设备上的文件进行操作通用文件系统的引入,节省了判断不同文件系统的时间,这样设计的文件管理,让用户在实际的文件操作中可以明显感受到处理速度有明显的提高UFAT的层次结构:图 6 通用文件系统结构应用程序层:用于对文件和目录进行操作接口层:用于提供给用户符合POSIX规范的函数调用形式文件系统层:按文件分配表存储规则对文件分配表和簇进行操作逻辑块层:这层定义了对存储设备逻辑块的底层访问接口,可通过高速缓存来读写各块驱动程序层:提供不依赖于硬件的对上层设备的访问接口。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.