File System Boot Process (Windows Embedded CE 6.0)英文
2013-11-24 11:57
423 查看
本文来自于MSDN http://msdn.microsoft.com/en-us/library/ee490357(v=winembedded.60).aspx 方便查找
1/6/2010
After the kernel starts the Filesys.dll process, Filesys.dll must initialize its state before the kernel finishes its initialization. The kernel must wait because it is dependent on the registry, which is initialized by Filesys.dll. The following steps show
the boot process for Filesys.dll.
Filesys.dll detects whether this is a cold or warm boot.
For a cold boot, the object store memory is initialized and then mapped for Filesys.dll. For a warm boot, memory is not initialized before being mapped for Filesys.dll.
Filesys.dll loads the OEM Certification DLL from ROM.
If a cold boot is required on a system that had previously warm booted, Filesys.dll calls the OEM adaptation layer (OAL) function
pNotifyForceCleanboot.
For a cold boot, Filesys.dll initializes the real-time clock by calling the
OEMIoControl function with the
IOCTL_HAL_INIT_RTC I/O control.
Filesys.dll initializes the following APIs in the order listed:
Database APIs
File system APIs
Point-to-point message queue APIs
Event log APIs
Registry APIs
For a cold boot, Filesys.dll initializes the registry data. The data initialization process varies, depending on whether the RAM-based or hive-based registry is in use.
If a default user profile is specified in the registry, Filesys.dll loads the default user profile and initializes data under
HKEY_CURRENT_USER.
If Device.dll is not started and HKEY_LOCAL_MACHINE\System\StorageManager
points to a DLL that can be loaded, Filesys.dll loads Storage Manager.
If Storage Manager is loaded, Filesys.dll creates a thread to initialize it. The thread exits when it is completed.
Filesys.dll initializes national language support (NLS) data.
For a clean boot, Filesys.dll reviews the Initobj.dat file and copies files from ROM into the root file system.
Filesys.dll initializes the time zone and sets daylight saving time (DST), if necessary.
For a cold boot, Filesys.dll sets the locale to use with the database engine by calling the
CeChangeDatabaseLCID (EDB) for EDB databases, or
CeChangeDatabaseLCID (CEDB) for CEDB databases.
In addition, for a cold boot, Filesys.dll populates the object store databases by loading data from the Initdb.ini file.
Filesys.dll communicates to the kernel that Filesys.dll is ready. Filesys.dll then waits for the kernel to signal that Filesys.dll can boot the rest of the OS.
Filesys.dll creates named events for all event names in the HKEY_LOCAL_MACHINE\System\Events
registry location. These events are set by the processes that own them. For more information, see
Ready-Event Registration.
Filesys.dll runs the applications listed in HKEY_LOCAL_MACHINE\Init.
If Device.dll is located in HKEY_LOCAL_MACHINE\Init and has already started, Filesys.dll opens the SYSTEM/BOOTPHASE2 event and signals Device.dll.
This action enables Device.dll to reread the registry and perform the final driver initialization phase. Any driver can also wait for the same event, to be notified when the real registry comes online. By doing so, the driver can reread registry data, if necessary.
During a normal boot process, Filesys.dll and other components create a number of files and store them in user storage. These files can use as much as 1.8 MB of available user storage.
Files
Created on Boot
The following table provides descriptions of files that are normally created in the process of initialization and cold boot.
All paths in the Location column of the following table are provided relative to the persistent storage root on the device.
See
Also
OAL Initialization of RAM-based Registry
Hive-based Registry Initialization
Nk.exe Boot Process
1/6/2010
After the kernel starts the Filesys.dll process, Filesys.dll must initialize its state before the kernel finishes its initialization. The kernel must wait because it is dependent on the registry, which is initialized by Filesys.dll. The following steps show
the boot process for Filesys.dll.
Filesys.dll detects whether this is a cold or warm boot.
For a cold boot, the object store memory is initialized and then mapped for Filesys.dll. For a warm boot, memory is not initialized before being mapped for Filesys.dll.
Filesys.dll loads the OEM Certification DLL from ROM.
If a cold boot is required on a system that had previously warm booted, Filesys.dll calls the OEM adaptation layer (OAL) function
pNotifyForceCleanboot.
For a cold boot, Filesys.dll initializes the real-time clock by calling the
OEMIoControl function with the
IOCTL_HAL_INIT_RTC I/O control.
Filesys.dll initializes the following APIs in the order listed:
Database APIs
File system APIs
Point-to-point message queue APIs
Event log APIs
Registry APIs
For a cold boot, Filesys.dll initializes the registry data. The data initialization process varies, depending on whether the RAM-based or hive-based registry is in use.
If a default user profile is specified in the registry, Filesys.dll loads the default user profile and initializes data under
HKEY_CURRENT_USER.
If Device.dll is not started and HKEY_LOCAL_MACHINE\System\StorageManager
points to a DLL that can be loaded, Filesys.dll loads Storage Manager.
If Storage Manager is loaded, Filesys.dll creates a thread to initialize it. The thread exits when it is completed.
Filesys.dll initializes national language support (NLS) data.
For a clean boot, Filesys.dll reviews the Initobj.dat file and copies files from ROM into the root file system.
Filesys.dll initializes the time zone and sets daylight saving time (DST), if necessary.
For a cold boot, Filesys.dll sets the locale to use with the database engine by calling the
CeChangeDatabaseLCID (EDB) for EDB databases, or
CeChangeDatabaseLCID (CEDB) for CEDB databases.
In addition, for a cold boot, Filesys.dll populates the object store databases by loading data from the Initdb.ini file.
Filesys.dll communicates to the kernel that Filesys.dll is ready. Filesys.dll then waits for the kernel to signal that Filesys.dll can boot the rest of the OS.
Filesys.dll creates named events for all event names in the HKEY_LOCAL_MACHINE\System\Events
registry location. These events are set by the processes that own them. For more information, see
Ready-Event Registration.
Filesys.dll runs the applications listed in HKEY_LOCAL_MACHINE\Init.
If Device.dll is located in HKEY_LOCAL_MACHINE\Init and has already started, Filesys.dll opens the SYSTEM/BOOTPHASE2 event and signals Device.dll.
This action enables Device.dll to reread the registry and perform the final driver initialization phase. Any driver can also wait for the same event, to be notified when the real registry comes online. By doing so, the driver can reread registry data, if necessary.
During a normal boot process, Filesys.dll and other components create a number of files and store them in user storage. These files can use as much as 1.8 MB of available user storage.
Files
Created on Boot
The following table provides descriptions of files that are normally created in the process of initialization and cold boot.
All paths in the Location column of the following table are provided relative to the persistent storage root on the device.
Filename | Location | Typical size at boot in KB | Description |
---|---|---|---|
System.hv | \Documents and Settings\system.hv | 345 | System registry hive. |
User.hv | \Documents and Settings\default\user.hv | 345 | User registry hive for default user. |
Default.vol | \Documents and Settings\default.vol | 345 | Object store replacement volume for persistent CEDB databases. |
*.jpg | \MyDocuments\MyPictures | 56 | Default storage for user images. |
Replstor | \ReplStorVol | 256 | File replication database volume, created by fsreplxfilt.dll, the file replication file system filter. |
Mxip_system.vol, Mxip_lang.vol, Mxip_notify.vol, and Mxip_initdb.vol | \ | 200 | Metabase volumes, including language-specific data and storage for notifications. |
Cemail.vol | \ | 65 | Default e-mail storage. |
Pim.vol | \ | 260 | Personal Information Manager (PIM) data, such as address book and schedules. |
Also
Concepts
Hive-based Registry SetupOAL Initialization of RAM-based Registry
Hive-based Registry Initialization
Other Resources
File SystemsNk.exe Boot Process
相关文章推荐
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader 收藏
- Hive-based Registry Initialization (Windows Embedded CE 6.0)英文
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Hive-based Registry Setup (Windows Embedded CE 6.0)英文
- Windows Embedded CE 6.0开发初体验(三)设置Boot-loader
- Windows Embedded CE 6.0 Update下载地址
- Windows Embedded CE 6.0开发初体验(七)编译和调试平台
- Windows Embedded CE 6.0开发初体验(五)构建CE平台
- Windows Embedded CE 6.0 系统用户界面语言切换
- Windows Embedded CE 6.0的内存管理(二)
- Windows Embedded CE 6.0 R3 发布
- SPARK Your Embedded Development Project with eBox-4300 Windows Embedded CE 6.0 R2 Jump Start Kit
- Windows Embedded CE 6.0开发环境的搭建
- Windows Embedded CE 6.0开发初体验(四)跑个应用程序先
- Windows Embedded CE 6.0开发环境的搭建
- Windows Embedded CE 6.0开发初体验(五)构建CE平台