种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

嵌入式档案系统

(2019-09-13 02:02:44) 百科综合
嵌入式档案系统

嵌入式档案系统

嵌入式档案系统(Embedded file system)是指嵌入式系统中实现档案存取、管理等功能的模组,提供一系列档案输入输出等档案管理功能,为嵌入式系统和设备提供档案系统支持。在嵌入式系统中,应用程式通常需要对信息进行存取操作,当任务运行的时候,任务可以在其任务堆叠中存放少量信息,但是存储量要受到记忆体空间的严格限制,而且在记忆体空间中的信息随着任务的退出而消失,不适于存放要长期保存的信息。

基本介绍

  • 中文名:嵌入式档案系统
  • 外文名:Embedded file system
  • 学科:计算机套用
  • 实例:QNX,FFS等
  • 特点:可移植性等
  • 定义:嵌入式系统中档案存取管理的模组

技术介绍

嵌入式档案系统是指嵌入式系统中实现档案存取、管理等功能的模组,提供一系列档案输入输出等档案管理功能,为嵌入式系统和设备提供档案系统支持。在嵌入式系统中,应用程式通常需要对信息进行存取操作,当任务运行的时候,任务可以在其任务堆叠中存放少量信息,但是存储量要受到记忆体空间的严格限制,而且在记忆体空间中的信息随着任务的退出而消失,不适于存放要长期保存的信息。另一方面,一些公共信息为多个任务所共享,需要这些信息独立于具体的任务而存在。
嵌入式系统和桌面系统一样,为用户提供档案系统以方便信息的处理。嵌。入式档案系统以普通桌面作业系统的档案系统为基础发展而来,但两种档案系统的套用环境和自身的要求又有很大的不同:在普通桌面作业系统中,档案系统不仅要管理档案,提供档案系统调用API,还要管理各种设备,支持对设备和档案操作的一致性。而在嵌入式档案系统中,由于大部分嵌入式系统都是针对特殊目的定製的,因而对嵌入式作业系统的系统功能的模组化和可裁减性提出了更高的要求。
嵌入式系统的套用条件往往比桌面计算机恶劣的多,在恶劣使用环境下系统的稳定性、安全性还要得到足够的保障,通用的档案系统对于可靠性和档案系统自身的安全性并没有特殊的保障机制,因此无法保证这些性能。所以,虽然有许多已经较为成熟的桌面作业系统下的档案系统,如DOS下的FAT档案系统、WINDOWS NT下的NTFS档案系统以及UNⅨ下的inocde档案系统等,但这些档案系统都不能直接适用于嵌入式系统。要想适用于嵌入式系统,必须进行重新设计。嵌入式档案系统应该借鉴成熟的桌面档案系统,并且进一步根据具体的硬体环境以及套用需求来设计档案系统的体系结构和实现方法。嵌入式档案系统作为嵌入式作业系统的重要组成部分,对于实现嵌入式系统中大量数据的存储和各种操作的管理,有着不可替代的作用。
嵌入式档案系统虽然继承了通用档案系统的组织结构,但由于功能和作用与普通桌面作业系统的档案系统不同,同时又有自己的特点:
  1. 在嵌入式系统中,档案系统是嵌入式系统的一个组成模组。它是作为系统的一个可载入选项提供给用户,由用户决定是否需要载入它。
  2. 需要满足结构紧凑、代码量小的特点,合理地对档案存储器进行管理。嵌入式系统中的档案存储器空间相对不会太大,必须对其进行高效的管理,以避免对资源的浪费。
  3. 使用简单便捷。用户只要知道档案名称、档案路径等简单信息特徵,就可以方便地对档案进行操作,不必知道档案在具体物理存储空间的运作过程。
  4. 安全可靠。对档案、数据的保护是档案系统的基本功能。嵌入式系统的套用通常要求系统必须有较高的可靠性。
  5. 支持多种存储设备、可伸缩、可剪裁、可移植等特点。嵌入式套用的领域相当广泛,其採用的硬体环境和作业系统也各不相同。为了适应这种差异性,档案系统应降低对具体硬体环境和作业系统的依赖,具备良好的可移植性。

组件分类

国内外流行的嵌入式作业系统中,多数均具有可根据套用需求而进行定製的档案系统组件,下面对几个主流的嵌入式作业系统的档案系统组件做一个简要介绍。
  • QNX的档案系统组件
QNX被称为X86平台上最好的嵌入式作业系统。它提供多种资源管理器,包括各种档案系统和设备管理,支持多个档案系统同时运行,包括提供完全的POSIX.1以及UNIX语法的POSIX档案系统,支持多种快闪记忆体设备的嵌入式档案系统,支持对多种档案伺服器(WINDOWS NT/95、LANManager等)的透明访问的SMB档案系统、DOS档案系统、CD-ROM档案系统等,并支持多种外部设备,如USB舢ART,IDE及SCSI磁碟等。
  • VxWorks的档案系统组件FFS
VxWorks是使用最广泛的嵌入式作业系统。它提供的档案系统组件.“快速档案系统”(FFS)非常适合于实时系统的套用。它包括几种支持使用块设备(如磁碟)的本地档案系统,这些设备都使用一个标準的接口从而使得档案系统能够被灵活的在设备驱动程式上移植。另外,VxWorks也支持SCSI磁带设备的本地档案系统【101。VxWorks的I/O体系结构甚至还支持一个单独的VxWorks系统上同时并存几个不同的档案系统,VxWorks支持四种档案系统:FAT、TRLlFS、rawFS、tapeFS。VxWorks借鉴了UNIX设计中“设备即档案”的重要思想,将外部设备作为一个特殊的数据档案进行处理,使得普通数据档案和外部设备在用户面前有相同语法定义,使用相同的保护机制,便于系统管理和套用设计。
  • uCLinux的档案系统
uCLinux继承了Linux完善的档案系统性能,其採用的是romfs档案系统。这种档案系统相对于一般的ext2档案系统要求更少的空间,空间的节约来自于两个方面:首先,核心支持romfs档案系统比支持ext2档案系统需要更少的代码;其次,romfs速度档案系统相对简单,在建立档案系统超级块(superblock)需要更少的存储空间。Romfs档案系统不支持动态擦写保存,对于系统需要动态保存的数据採用虚拟ram盘的方法进行处理(ram盘将採用ext2档案系统)。
  • pSOS档案管理系统
pSOS档案管理系统称为pHILE+,它提供了档案系统管理和对块设备的管理。pSOS可以通过pHILE+有效的访问各种不同的存储设备,包括本地设备和网路设备。档案系统包括CD.ROM设备、FAT兼容档案系统和pSOSytem特有的快速档案系统。以上几种嵌入式档案系统是现在商用嵌入式档案系统的主流,占领大部分的市场,也代表了这个领域的先进技术,但是由于商业机密的限制,原始码和核心技术不可能公开,购买和维护费用昂贵,而且由于嵌入式系统的专用性。无法形成统一的标準。

特点

可移植性
移植性是判定嵌入式软体,特别是作业系统组件实用性的一大重要指标。档案系统组件在设计开始就注重了软体的移植性。首先,整个实时档案系统模组和设备驱动管理模组主体由C语言构建,可以较为方便地移植到不同体系结构的CPU之上;此外,档案系统组件与实时作业系统核心的接口为有限的信号量、定时器、中断、记忆体等系统调用。由于几乎所有的实时作业系统核心都提供了上述机制,因此档案系统组件只需针对实际情况作少量修改就可以非常方便的移植到不同的实时核心之上。
资源消耗
档案系统组件的资源消耗主要包括程式代码本身占用的存储空间开销、运行时记忆体动态分配引起的开销、处理器时间占用开销等。由于在不同平台下使用不同编译器编译生成的代码长度有微小的差别,表1以ARM-7晶片为硬体平台,列出了GNU C编译器下实时档案系统(包括FAT12/FAT16/FAT32逻辑档案系统代码,不包括具体的设备驱动和设备高速快取)引起的记忆体资源开销。设备驱动程式占用空间大小由取决于具体套用。由于档案系统组件设备驱动管理层对各种设备驱动程式对上层的接口作了统一的抽象处理,支持在运行中方便的挂载各种不同的设备驱动程式,因此档案系统组件除了上表所列的记忆体资源开销外,还包括使用的设备驱动程式引起的开销。表2列出了目前档案系统实现的主要设备驱动的记忆体空间占用量。不难看出,整个实时档案系统组件结构紧凑、代码量小,并且可以根据套用的需求作进一步裁剪。在一个典型的套用环境下,整个档案系统(含设备驱动)的代码不超过100KB完全可以固化在ROM中,用于各种嵌入式套用。
FAT表存取最佳化
档案系统中借鉴了Linux中得以广泛套用的虚拟档案系统(Virtual File System)的实现机制,理论上可以挂载不同逻辑格式的档案系统,目前已完全支持FAT全系列(FAT12/FAT16/FAT32)。由于FAT是一类点阵图型的档案系统格式,对档案的读写操作需要不断的访问和修改FAT表,因此对FAT表的读写效率在一定意义上影响了档案系统的性能。对于FAT12/FAT16两种FAT表较小的档案系统,採用将FAT表一次全部缓冲到物理记忆体中的方式;FAT32档案系统的FAT表较大(最坏情况下可达数兆之多),在嵌入式套用中完全缓冲显然不现实,因此採取了折中的机制,根据目标环境可以配置FAT cache的大小,以提高FAT表的存取效率。

标 签

搜索
随机推荐

Powered By 种豆资源网||