wince对象存储(Object Store)

来源:互联网 发布:广西网络广电局 编辑:程序博客网 时间:2024/05/22 15:47

http://www.cnblogs.com/NorthCan/archive/2011/10/16/2214283.html

wince对象存储(Object Store)

油漆工

2011-10-16

--------------------------------------------------------------------------------

  对于Object Store的认识一直是模模糊糊,看了下微软的文档,不知道自己的理解是否贴切。

 

  在构建wince操作系统的时候,可以选择RAM and ROM File System作为内部文件系统。这样在系统启动之后的根目录(\),是作为基于RAM的文件系统挂载的,所以保存到\目录下的文件和数据在系统冷启动之后会丢失。

  Object Store包含哪些内容呢?主要就是上面提到的RAM文件系统,数据库,还有基于RAM的注册表,它们合在一起构成了Object Store。可以把Object Store想象成一个RAM盘,可以用来保存、读写文件。

  在物理上,Object Store存储在非易失性的RAM芯片中,而且会有备电电池,可以在主电源掉电的情况下供电,所以存储在Object Store中的内容可以在系统Code Restart之后仍然保存住。这是微软的意思,但是通常我们的硬件板上都没有这个RAMbackup power,所以在系统冷启动之后,保存在系统根目录下的内容会丢失掉。现在很多wince系统为了放在根目录下的内容能够持久保存,会选择ROM-only File System + Hive注册表,这样最大的好处是用户通过cab包安装的软件在系统冷启动之后仍然不会丢失,仍然可以使用。

  对于操作系统来说,它使用Object Store主要完成以下任务:

  1 管理stackmemory heap

  2 在需要时压缩或者扩展文件。

  3 无缝集成(Seamlessly integrate)基于ROM的应用程序和基于RAM的数据。

  Object Store中的数据存储机制是基于事务(transaction-based)的,这里是借用了一个数据库中的概念。事务具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。也就是说,如果系统突然掉电了,那么正在向Object Store中执行的写操作,要么将数据全部写入,要么恢复到写之前的状态,以保证Object Store中存储的内容不被破坏。

 

原创粉丝点击