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将开始启动并运行起来。

时间: 2024-12-20 21:04:54

window ce操作系统的启动过程的相关文章

Linux学习之旅(二) --- Linux启动过程

一.通用操作系统的启动过程: 不同的处理器和硬件系统会采用不同的启动策略,从而具体的启动过程会有所差异. 但无论差异如何,从计算机系统的角度来看,启动过程一般分为三个步骤:                  开机并执行bootloader程序     ---->     操作系统内核初始化     ---->     执行第一个应用程序 大致流程: 1.开机,系统供电,此时硬件电路会产生一个确定的复位时序,保证CPU是最后一个被复位的器件: 2.当正确完成复位后,CPU开始执行第一条指令,该指

Linux操作系统的启动

最近一直在看0.12版本的内核,一直想实现一个简单的多任务内核,发现还真得先了解linux操作系统的启动过程. 1.BIOS 开机程序被写入ROM当中,计算机通电之后的第一件事就是读取它. 这块芯片里的程序叫做基本输入输出系统,简称BIOS 1.1硬件自检 检查计算机硬件能否满足运行的基本条件,这叫做硬件自检 1.2启动顺序 硬件自检完成之后,BIOS就把控制权转交给下一阶段的启动程序. 这时,BIOS需要知道,"下一阶段的启动程序"具体放在那里.也就是说,BIOS需要有一个外部存储设

linux系统的启动过程简要分析

接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程:一般来说,所有的操作系统的启动流程基本就是: 总的来说,linux系统启动流程可以简单总结为以下几步:1)开机BIOS自检,加载硬盘.2)读取MBR,进行MBR引导.3)grub引导菜单(Boot Loader).4)加载内核kernel.5)启动init进程,依据inittab文件设定运行级别6)init进程,执行rc.sysinit文件.7)启动内核模块,执行不同级别的脚本程序.8)执行/

#23 centos5(RHEL)系列操作系统的启动流程、与命令mkinitrd、dracut的使用

centos(RHEL)系列操作系统的启动流程:Intel x86兼容架构: Linux的系统组成:内核 + 应用程序  GUN/Linux:单纯的指Linux内核: 从硬盘存储和启动操作系统的角度: Linux的系统组成:内核 + 根文件系统(rootfs) 内核功能:进程管理,文件系统管理,内存管理,网络协议,驱动程序,安全功能,... Linux系统的系统运行环境可以分为两部分: 内和空间:内核代码(系统调用) 就是内核进程占用的CPU和内存资源的总和: 用户空间:应用程序(进程或线程)

systemd启动过程

理解Linux启动过程 在我们打开Linux电脑的电源后第一个启动的进程就是init.分配给init进程的PID是1.它是系统其他所有进程的父进程.当一台Linux电脑启动后,处理器会先在系统存储中查找BIOS,之后BIOS会检测系统资源然后找到第一个引导设备,通常为硬盘,然后会查找硬盘的主引导记录(MBR),然后加载到内存中并把控制权交给它,以后的启动过程就由MBR控制. 主引导记录会初始化引导程序(Linux上有两个著名的引导程序,GRUB和LILO,80%的Linux系统在用GRUB引导程

VxWorks启动过程具体解释(下)

上一节主要是从映像的分类和各种映像的大致载入流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程: 1. Boot Image + Loadable Images: 以下是详细的流程图: 当中第一阶段的运行流程使用的是上图的左边的源文件里的那些函数(romInit->romStart->usrInit->sysHwinit->usrKernelinit->usrRoot);第二阶段运行流程使用的是上图中右边源文件里的那些函数(sysInit-&

Linux的2种启动过程

Linux启动过程分为2种,init方式和systeamd方式. 先说init启动过程: 1.首先,启动电源. 2.启动POST(Power on self test),加电自检程序,检查主板硬件上有无短路等等,如果正常,会"滴"的响一声,这是很多人熟知的开机"滴"声.(上面那篇文章没写到.) 3.然后处理器会在系统存储中找到BIOS(Basic Input Output System). (注:BIOS一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机

Android 启动过程的底层实现

转载请标明出处: http://blog.csdn.net/yujun411522/article/details/46367787 本文出自:[yujun411522的博客] 3.1 android正常模式启动流程 主要流程例如以下: 1.系统加电.运行bootloader,bootloader会将内核载入到内存中. 2.内核载入到内存之后首先进入内核引导阶段,最后调用start_kernel进入内核启动.start_kernel终于会启动init程序 3.init程序负责解析init.rc文

U-Boot启动过程--详细版的完全分析2

一.初识u-boot 3 1,Bootloader介绍 3 2,Bootloader的启动方式 3 (1)网络启动方式 4 (2)磁盘启动方式 4 (3)Flash启动方式 4 3,U-boot的定义 4 4,u-boot源代码的目录结构 4 5,U-boot中的地址 5 (1)什么是编译地址?什么是运行地址? 5 (2)编译地址和运行地址如何来算呢? 5 (3)为什么要分配编译地址?这样做有什么好处,有什么作用? 5 (4)什么是相对地址? 6 (5)如何去做呢? 6 二.U-Boot总体分析