
EMB315 Non-Volatile Object Store And Hive Based Registry Design For Windows CE Rick Austin Principle Engineer Intermec Corporation MEDC DevCon 2005
EMB315 Non-Volatile Object Store And Hive Based Registry Design For Windows CE Rick Austin Principle Engineer Intermec Corporation

Microsoft MEDC Mobile Embedded DevCon 2005 May9-12,2005 Las Vegas Microsoft

着Windows Mobile Windows CE5.0 Windows Windows Hardware/privers OEM/HV Supplied BSP OEM Hardware and Standard PC (ARM,SH4,MIPS) Standard Drivers Hardware and Drivers Device Bulding Windows XP DDK Tools Platform Builder Windows Embedded Studio Lightweigh EDB SQL Server 2005 Express Edition Relational SQL Server 2005 Mobile Edition SQL Server 2005 Native Win32 MFC 8.0,ATL 8.0 Managed .NET Compact Framework .NET Framework server side ASP.NET Mobile Controls ASP.NET Windows Media Multimedia DirectX Location services MapPoint Development Tools Visual Studio 2005 Internet Security and Acceleration Server communications Exchange Server Messaging Live Communications Server Speech Server Device Update Agent Management Image Update Software Update Services Tools Systems Management Server Microsoft Operations Manager
Management Tools Communications & Messaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update Location Services Multimedia MapPoint DirectX Windows Media Development Tools Visual Studio 2005 MFC 8.0, ATL 8.0 Native Win32 Managed Server Side Lightweight Relational EDB SQL Server 2005 Express Edition Data Programming Model Device Building Tools Hardware/Drivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005 Mobile Edition SQL Server 2005 ASP.NET Mobile Controls ASP.NET .NET Compact Framework .NET Framework Microsoft Operations Manager Systems Management Server

History RAM Registry ·SYSGEN_FSREGRAM Most Common Implementation in PDAs Content Loss on boot Save And Restore Methods require difficult code pReadRegistryFromOEM pWriteRegistryToOEM RAM Object store SYSGEN FSRAMROM most common denominator for application development Object Store Volume is always mounted Object Store is the Root of the file system Content Loss on cold boot Object Store and Executable Memory Tradeoff FSRAMPERCENT SetSystemMemoryDivision() RAM Object store limited to 256 MB
History RAM Registry SYSGEN_FSREGRAM Most Common Implementation in PDAs Content Loss on boot Save And Restore Methods require difficult code pReadRegistryFromOEM pWriteRegistryToOEM RAM Object store SYSGEN_FSRAMROM most common denominator for application development Object Store Volume is always mounted Object Store is the Root of the file system Content Loss on cold boot Object Store and Executable Memory Tradeoff FSRAMPERCENT SetSystemMemoryDivision() RAM Object store limited to 256 MB

Persistence Benefits 9 Simplifies Cold Boot System startup Data and Configuration is permanent Install applications once Reduce Data Backup/Restore Requirement Eliminate Redundant Data storage Requirement Reduce Cold Boot Times No Limit On Object Store Size
Persistence Benefits Simplifies Cold Boot System startup Data and Configuration is permanent Install applications once Reduce Data Backup/Restore Requirement Eliminate Redundant Data storage Requirement Reduce Cold Boot Times No Limit On Object Store Size

Persistence Benefits Better Power Management Reduce/Remove Backup Battery needs Increase Battery run time Lower RAM requirements Lower Power Easy to Implement Largely Transparent to current Apps Mainly Simple Registry Setup Required ⊙Lower Cost systems Flash is cheaper than RAM for Data Store
Persistence Benefits Better Power Management Reduce/Remove Backup Battery needs Increase Battery run time Lower RAM requirements = Lower Power Easy to Implement Largely Transparent to current Apps Mainly Simple Registry Setup Required Lower Cost systems Flash is cheaper than RAM for Data Store

Boot Phase Definitions 0=Prior to init of locale (wince.nls) 1 After locale init (wince.nls)but before registry is functional 2=After registry is functional
Boot Phase Definitions 0 = Prior to init of locale (wince.nls) 1 = After locale init (wince.nls) but before registry is functional 2 = After registry is functional

File System Fundamentals Autoload file systems HKLM\System\StorageManager\AutoLoad Do not need block drivers Don't require Device.exe Loaded by Storage Manager Can Start in BootPhase 0 or 1 Can Load Synchronously or Asynchronously [HKLMISystem\StorageManagerlAutoload\] “BootPhase”=dword:0 “LoadFlags'”=dword:o;Async(default) ;Sync=1
File System Fundamentals Autoload file systems HKLM\System\StorageManager\AutoLoad Do not need block drivers Don’t require Device.exe Loaded by Storage Manager Can Start in BootPhase 0 or 1 Can Load Synchronously or Asynchronously [HKLM\System\StorageManager\Autoload\] “BootPhase” = dword:0 “LoadFlags” = dword:0 ;Async (default) ;Sync = 1

File System Fundamentals Block Driver Based File Systems Loaded By Device.exe IClass indicates its managed by storage manager (A4E7EDDA-E575-4252-9D6B- 4195D48BB865} Specifies partition and File system drivers Must Start in Bootphase 1 HKLM\Drivers\Builtin\ “BootPhase”=dword:1
File System Fundamentals Block Driver Based File Systems Loaded By Device.exe IClass indicates its managed by storage manager {A4E7EDDA-E575-4252-9D6B- 4195D48BB865} Specifies partition and File system drivers Must Start in Bootphase 1 HKLM\Drivers\Builtin\ “BootPhase” = dword:1

Hive Fundamentals Hives are registry files stored on persistent file systems Boot Hive Changes made during boot are copied to system hive Default Hive System Hive System Data (HKLM,HKCR,HKU) User Hive User Data(HKCU) Allows settings for different users at logon Only Deltas are stored
Hive Fundamentals Hives are registry files stored on persistent file systems Boot Hive Changes made during boot are copied to system hive Default Hive / System Hive System Data (HKLM, HKCR, HKU) User Hive User Data (HKCU) Allows settings for different users at logon Only Deltas are stored