zoukankan      html  css  js  c++  java
  • WinCE文件系统概要(转载)

    原文地址:http://www.cnblogs.com/we-hjb/archive/2008/12/06/1349241.html

    文件系统是一个实现了数据的存储、组织、处理和获取等操作的抽象数据类型。一般分为磁盘文件系统,网络文件系统和特定功能的文件系统。

          磁盘文件系统主要包括FAT(FAT12FAT16FAT32)NTFSHFSext2ext3,现在ext4也出来了。

          FLASH文件系统是针对FLASH存储器设计的文件系统。随着移动设备的不断普及,和FLASH存储空间的不断增长,FLASH文件系统也流行起来。在嵌入式系统中,绝大多数都使用FLASH文件系统。

          数据库文件系统是基于数据库的文件系统。与分层结构的管理不同,在数据库文件系统中,文件由描述符来标识,如文件的类型、主题、作者或其他一些元数据。

          网络文件系统是用来访问服务器中文件的文件系统,常见的协议有NFSAFSSMB

          现代操作系统都集成了文件系统,WinCE也不例外。与桌面Windows的文件系统不同,WinCE的文件系统中没有分区的概念。所有的文件系统,都被Mount到根目录“\”下面。编程时需要注意,WinCE中也没有当前目录的概念,所有的目录都以根目录为参考。

          WinCE中支持的文件系统有如下几种:

    文件系统

    概要

    FATFATFS

    标准的FAT文件系统。单个文件不能超过4G,分区大小也有限制。

    exFAT

    FAT的升级版,取消了文件和分区大小的限制。

    TFAT

    基于exFAT的文件系统,支持交互操作,需要驱动的支持。

    BinFS

    支持将bin文件Mount成一个文件系统,WinCE中的Multi-BIN需要用到该文件系统。

    CDFS/UDFS

    用来支持CDDVD的文件系统。

    RAM(对象存储)

    RAM文件系统由FSD Manager管理。

    RELFSD

    在开发的过程中,将开发主机的release目录mount到设备上。

    WinCE文件系统的配置,由注册表实现,一般在[HKLM\System\StorageManager]中。
        在定制
    WinCE操作系统时,我们可以选择ROM-only 的文件系统或RAM and ROM的文件系统。当选择RAM and ROM的文件系统时,根目录文件系统在内存当中,掉电即丢失。为了实现根文件系统和注册表的保存,即在冷启动时不丢失,我们需要选择ROM-only的文件系统和HIVE BASED注册表,以将存储空间Mount成根目录,并配置注册表使其支持HIVE BASED注册表。

          Linux的文件系统有extXFSJFSReiserFS。嵌入式Linux的文件系统主要有rootfsRAMDiskCramfsJFFS2(基于日志的FLASH FS)、YAFFS2Yet Another FLASH FS)等。

          所以,想要LinuxWinCE共用一个NAND FLASH有没有可能呢?两个想法,简单而又方便的是让Linux直接挂在WinCE下的FAT分区,第二个想法是WinCE中留一些BLOCK,给Linux处理。先MARK一下,有时间再来求证。

  • 相关阅读:
    HTTP 错误 404.13
    C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
    设计模式---装饰模式(Decorator)
    设计模式---订阅发布模式(Subscribe/Publish)
    Merge into 详细介绍
    优化案例--多语句表值函数的影响
    常用脚本--Kill所有连接到指定数据库上的回话
    常用脚本--查看当前锁信息
    常用脚本--查看死锁和阻塞usp_who_lock
    常用脚本--在线重建或重整实例下所有索引
  • 原文地址:https://www.cnblogs.com/cecwxf/p/2046489.html
Copyright © 2011-2022 走看看