Windows XP系统的启动过程

离大三上学期结束不足半月,至此已了解掌握了许多有关程序运行的层次化知识。比如一个简单的QQ,从点击启动按钮开始,调用应用层的程序如C#代码,调用框架层的程序如.NET开发框架函数,调用操作系统的程序,汇编层次的程序,使用CPU的指令集,再到后面的晶体管逻辑、集成电路、电流的通断等等,自己对一个程序运行的理解,是由外入内,由高到低的过程。看了一篇关于windows系统启动工作原理的文章,才忽然发现学校课程的学习中是如此的循序渐进,自己也不知不觉成长了起来。

说到Windows系统工作,因课程需要,我重点理解和学习有关其系统启动的过程。首先展示一下上课时老师的ppt中有关截图:

说真的,我觉得好复杂。。背起来也很拗口。哈哈,被发现我在死记硬背的事实了。所以,静下心来好好学一下吧。

预引导阶段,是指按下电源键后,在Windows操作系统启动之前这一阶段。计算机首先运行POST(Power On Self Test)进行加电自检,监测系统的总内存以及其他硬件设备的现状。如果BIOS是即插即用的,而且所有硬件设备都已经被自动识别和配置,接下来计算机将会定位引导设备,并从引导设备读取并运行MBR(主引导记录,Master Boot Record)。活动分区中的引导扇区加载到内存中,此时加载并运行Windows的NTLDR(NT Loader)文件。

引导阶段。NTLDR文件将处理器由实模式(Real Mode)切换为32位平坦内存模式(32-bit Flat Memory Mode),切换的原因是实模式下无法使用全部的物理内存,NTLDR启动内建的mini-file system drivers 使自己可以识别每一个用NTFS/FAT文件系统格式化的分区,此时初始化引导载入程序就完成了。操作系统选择这一步骤是因为如果计算机安装了多个Windows系统才出现的,NTLDR通过读取boot.ini文件选择加载操作系统。如果只安装了一个操作系统,操作系统选择一步会自动跳过。选择完操作系统后,Ntdetect.com首先将当前计算机中安装的所有硬件信息收集起来,做成表交给了NTLDR。如果计算机创建了多个硬件配置文件,还需要进行配置文件选择这一步骤。

进入内核加载环节,NTLDR加载内核文件Ntoskrnl.exe。随后被载入的是硬件抽象层,起到内核和物理硬件的桥梁作用。接下来要被内核载入的是HKEY_LOCAL_MACHINE/System注册表键。Ntldr会根据载入的Select键的内容判断接下来需要载入哪个Control Set注册表键。载入后NTLDR将系统的控制权交给操作系统内核。

进入初始化内核极端后,需要完成创建Hardware注册表键、对Control Set注册表键进行复制、载入和初始化设备驱动,以及启动服务这四项任务。系统内核成功载入,并且成功初始化所有底层设备驱动后,会话管理器会开始启动高层子系统和服务,然后启动Win32子系统。Win32子系统的作用是控制所有输入/输出设备以及访问显示设备。当所有这些操作都完成后,Windows的图形界面就可以显示出来了,同时我们也将可以使用键盘以及其他I/O设备。接下来会话管理器会启动Winlogon进程,至此,初始化内核阶段已经成功完成,这时候用户就可以开始登录了。

进入登录阶段。在这一阶段,由会话管理器启动的winlogon.exe进程将会启动本地安全性授权(Local Security Authority,lsass.exe)子系统。到这一步之后,屏幕上将会显示Windows XP的欢迎界面或者登录界面,这时候您已经可以顺利进行登录了。不过与此同时,系统的启动还没有彻底完成,后台可能仍然在加载一些非关键的设备驱动。随后系统会再次扫描HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services注册表键,并寻找所有Start键的数值是“2”或者更大数字的服务。这些服务就是非关键服务,系统直到用户成功登录之后才开始加载这些服务。

 

参考:https://blog.csdn.net/xiongyouqiang/article/details/79360459

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方隐侠-千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值