二者都是文件系统driver。都有能力读取ROM文件系统。 区别在于:前者除了能够读取ROM盘之外,他还构造了一个RAM盘。(因为file system很容易混淆,我称呼ROM盘和RAM盘) 。
MEMORY
NK 80200000 01E00000 RAMIMAGE
RAM 82000000 01E00000 RAM
FLASH 92000000 00100000 RESERVED
回到RAM and ROM File System vs ROM-only File System的话题。使用前者的话, 系统的根目录就是前面提到的RAM盘, 而外部磁盘如:/ResidentFlash,/Storage Card这些,就成为一个独立的目录挂载在根目录下面, ROM盘的内容则安置在/windows目录, 如果xip,你甚至还可以看到/binfs代表的nk.bin所在的磁盘。 除了外部磁盘, 对其他目录的写和更改都是发生在内存, 所以, 重启系统后全部消失了。这产生一个的问题:第三方软件怎么永久安装? 因为第三方软件常常保存东西在windows目录下面,也会修改注册表。重启后就不能使用了。这一点完全背离了用户习惯的使用经验。(微软考虑是设备是永不关机的,所以早期的ppc是没有关机功能的。) 在catalog中加入ROM-only File System组件, 并且修改注册表的MountFlags或者MountAsRoot就可以使用ROM-only File System功能,如果之前已有的项目,重新rebuild时候记得勾上clear。 它将一个磁盘当成系统的根目录。但是对于wince5.0会存在一个困扰, 就是同步功能不能工作了。根据资料,Wince6.0和mobile都提供了一个File replacition filter driver(fsreplxfilt.dll)能解决这个问题。我分析推测,因为同步是需要同步到Object Store, 这个驱动提供Object Store接口的处理。