首页 > 代码库 > window ce操作系统的启动过程

window ce操作系统的启动过程


当bootloader启动任务完成后,内核kernel接管了cpu的控制权,cpu的执行将跳转到内核的入口函数kernelStart。KernelStart负责配置虚拟内存管理器,初始化中断向量表,然后,kernelStart向下回调HAL(硬件抽象层),执行OEMInit例程。

oeminit由oem提供。oeminit的工作是初始化oem硬件,包括挂起中断,初始化中断向量表等。oeminit调用initclock()设置时钟为操作系统的滴答时钟。调用initdisplay()初始化lcd。

当oeminit返回时,内核将回调之hal来询问系统是否有额外的可以内存(这时一个可选过程)。

系统在启动时,将会默认启动4个最重要的进程:NK.exe,filesys.exe,,device.exegwes.exe。
filesys.exe将使用已初始化的文件系统,或者创建一个文件系统,同时还将创建默认的数据库映像和默认的注册表。

一旦filesys初始化完毕,就可以进行系统初始化了。此时,内核需要等待来自注册表的数据以继续启动系统。

下一个被加载模块是device.exe。该模块的功能是加载和管理系统中的可安装设备的驱动程序。

接下来要加载的模块是gwes.exe。包括gwe子系统,图形窗口和事件管理器。


到此时,作为操作系统,windows ce将开始启动并运行起来。

window ce操作系统的启动过程