探究Windows操作系统启动过程_第1页
探究Windows操作系统启动过程_第2页
探究Windows操作系统启动过程_第3页
探究Windows操作系统启动过程_第4页
探究Windows操作系统启动过程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-1-探究Windows操作系统启动过程从我们初次接触电脑开始,几乎所有人就开始与WindowsR系列操作系统打交道。WindowsR系统如同其它主流操作系统一样,经过了长时间的演化和改善,MicrosoftR也正是这样成为家喻户晓的软件公司。现在最新操作系统除了MicrosoftR的WindowsRVistaR系列,还有AppleR公司的MacOSXLeopard。当今家用操作系统市场也只有这两家公司可以媲美了。不论是什么系统,当我们每次坐在电脑前重复同样的动作等待开机完成的时候,只有很少的人真正了解在自己焦急等待的时间里电脑究竟干了些什么,一部分不解的人还嫌开机速度太慢。实际上,在这段时间里,电脑进行了最关键也是最复杂的过程。下面我们以WindowsR系列操作系统为例探究一下一个操作系统的启动经历了怎样的过程。(因为WindowsR9x已过时的缘故,这里不介绍它繁琐的启动过程)一、WindowsRXPor2000启动过程WindowsRXPor2000的启动过程,由于所用内核不同(WindowsR9x基于DOS内核系统;WindowsRXPor2000使用NT内核),与之前的WindowsR9x启动在时间以及方式上都有相当大的不同和改善,不再基于DOS和MSDOS.SYS文件启动系统。(当然,多系统中如果包括WindowsR9x,它们还有重要作用的。)1.预引导(Pre-Boot)阶段按动计算机启动按钮后,计算机首先运行PowerOnSelfTest(POST),POST检测系统的总内存以及其他硬件设备的现状。并由BIOS(基本输入输出系统)完成基本硬件配置。然后读取硬盘的MBR(主引导记录),检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此时即执行NTLDR(操作系统加载器)。2.引导阶段1首先进行初始引导加载器阶段(InitialBootLoader)——NTLDR将计算机微处理器从实模式转换为32位平面内存模式。(在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统视所有内存为可用内存。)接着,NTLDR启动内建的mini-filesystemdrivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载WindowsXP,到这里,初始引导加载器阶段就结束了。2操作系统选择阶段。如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。在boot.ini中,主要包含以下内容:[bootloader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operatingsystems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/fastdetectmulti(0)disk(0)rdisk(0)partition(2)\WINNT="WindowsWindows2000Professional"其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找WindowsXP的系统文件的位置的。如果选择启动Windows2000/XP,NTLDR会继续引导进行以下过程;如果选择为非Windows2000/XP系统,NTLDR则会读取系统引导扇区副本BOOTSECT.DOS转入启动相应系统。3硬件检测阶段。将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。4配置选择阶段。如果计算机含有多个硬件配置文件*列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载WindowsXP。*硬件配置文件:指保存计算机特定硬件配置的系统文件。可以创建多个不同的硬件配置文件以满足计算机在不同场合的应用。总结:引导阶段至此结束。在整个阶段中,系统要用到的文件一共有:NTLDR,Boot.ini,,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。3.加载内核阶段在加载内核阶段,NTLDR加载称为WindowsXP内核ntokrnl.exe。系统加载了WindowsXP内核但是没有将它初始化。接着NTLDR加载硬件抽象层(HAL,hal.dll)*,然后,系统继续加载HKEY_LOCAL_MACHINE\system键,NTLDR读取select键来决定哪一个ControlSet将被加载。控制集中包含设备的驱动程序以及需要加载的服务。NTLDR加载HKEY_LOCAL_MACHINE\system\service\下start键值为0的最底层设备驱动。当作为ControlSet的镜像的CurrentControlSet被加载时,NTLDR传递控制给内核,初始化内核阶段就开始了。*硬件抽象层(HAL):隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。4.初始化内核在初始化内核阶段开始的时候,彩色的WindowsXP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:1内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键。2内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制ControlSet来创建了CloneControlSet。CloneControlSet配置是计算机数据的备份,不包括启动中的改变,也不会被修改。3系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGoodControlSet重新启动,如果使用LastKnownGoodControlSet启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGoodControlSet重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行4SessionManager启动了WindowsXP高级子系统以及服务,SessionManager启动控制所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕。5.用户登录开始登录进程。由WIN32子系统启动WINLOGON.EXE,并由它启动LOCALSECURITYAUTHORITY(LSASS.EXE)显示登录对话框。用户登录后,WINDOWSRXP会继续配置网络设备和用户环境。最后,伴随着微软之声和熟悉的个性化桌面,WINDOWSRXP的启动过程终于完成。二、WindowsRVista启动过程WindowsRVista的启动过程,开辟了Microsoft系统启动技术的新纪元——它不同于以往任何版本的Windows操作系统。在WindowsRVista的启动过程中,NTLDR和Boot.ini已经不再被使用(当然,在多启动环境下需要引导WindowsR2000/XP或WindowsRServer2003时,它们还是起重要作用的)。1、POST阶段(与XP大致相同)计算机系统将进行加电自检(POST)。如果通过,之后BIOS会读取主引导记录(MBR)——被标记为启动设备的硬盘的首扇区,并传送被WindowsVista建立的控制编码给MBR。2、引导阶段1.MBR读取引导扇区-活动分区的第一扇区。此扇区包含用以启动Windows启动管理器(WindowsBootManager)程序Bootmgr.exe的代码。2.Windows启动管理器读取“启动配置数据存储”(BootConfigurationDatastore)中的信息。此信息包含已被安装在计算机上的所有操作系统的配置信息。并且用以生成启动菜单。3.当在启动菜单中选择下列动作时:1如果选择的是WindowsVista,Windows启动管理器(WindowsBootManager)运行%SystemRoot%\System32文件夹中的OSloader-Winload.exe。2如果选择的是自休眠状态恢复WindowsVista,那么启动管理器将装载Winresume.exe并恢复您先前的使用环境。3如果在启动菜单中选择的是早期的Windows版本,启动管理器将定位系统安装所在的卷,并且加载WindowsNT风格的早期OSloader(Ntldr.exe)——生成一个由boot.ini内容决定的启动菜单。3、用户登陆WindowsVista启动时加载其核心文件Ntoskrnl.exe和hal.dll从注册表中读取设置并加载驱动程序。接下来将运行Windows会话管理器(smss.exe)并且启动Windows启

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论