wince物件儲存 Object Store

2021-06-01 00:17:29 字數 983 閱讀 4434

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之後仍然儲存住。這是微軟的意思,但是通常我們的硬體板上都沒有這個ram的backup power,所以在系統冷啟動之後,儲存在系統根目錄下的內容會丟失掉。現在很多wince系統為了放在根目錄下的內容能夠持久儲存,會選擇rom-only file system + hive登錄檔,這樣最大的好處是使用者通過cab包安裝的軟體在系統冷啟動之後仍然不會丟失,仍然可以使用。

對於作業系統來說,它使用object store主要完成以下任務:

1 管理stack和memory heap。

2 在需要時壓縮或者擴充套件檔案。

3 無縫整合(seamlessly integrate)基於rom的應用程式和基於ram的資料。

object store中的資料儲存機制是基於事務(transaction-based)的,這裡是借用了乙個資料庫中的概念。事務具有4個屬性:原子性、一致性、隔離性、持續性。這四個屬性通常稱為acid特性。也就是說,如果系統突然掉電了,那麼正在向object store中執行的寫操作,要麼將資料全部寫入,要麼恢復到寫之前的狀態,以保證object store中儲存的內容不被破壞。

列印object物件

一般情況在測試js時,如果介面返回的資料是object物件。如果不知道這個物件裡面具體的屬性就取值容易得到undefined。哪麼怎麼知道乙個object物件裡面到底是什麼東西呢。答案就是將其轉換成string字串列印出來。function obj2string o if typeof o obje...

物件導向 object

object 是所有物件的直接後者間接父類,傳說中的上帝。該類中定義的肯定是所有物件都具備的功能。object類中已經提供了對物件是否相同的比較方法。如果自定義類中也有比較相同的功能,沒有必要重新定義。只要沿襲父類中的功能,建立自己特有比較內容即可。這就是覆蓋。class demo extends ...

Object物件詳解

如果方法區中沒有class物件,需要先載入類 padding保證總位元組數8的倍數 屬性mark word class pointer 例項資料 padding 占用位元組84 不定不定 屬性mark word class pointer 陣列長度 元素資料 padding 占用位元組84 4不定不...