(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf_第1页
(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf_第2页
(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf_第3页
(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf_第4页
(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机科学与技术专业论文)基于网络文件系统的windows操作系统远程启动技术研究.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院硕士学位论文 摘要 随着计算机技术的发展和由此引发的用户需求的变化,产生了以个人为中心 的计算环境的需求。而为解决本地系统备份与恢复技术不能快速恢复系统的不足, 产生了远程系统备份与恢复的需求。实现这两种需求的关键技术,都是操作系统 的远程启动技术。 传统的基于网络文件系统的操作系统远程启动技术不能用于当前广泛使用的 w i n d o w s 操作系统。为解决w i n d o w s 的远程启动问题,人们提出了基于网络存储 协议的操作系统远程启动技术。本文从服务器管理的角度,说明了基于网络存储 协议的技术与基于网络文件系统的技术相比有诸多不足。为此,本文提出了一系 列的方法,使得基于网络文件系统的远程启动技术同样可以应用于w i n d o w s 操作 系统。 本文首先分析了w i n d o w s 的本地启动过程,列举了启动过程中所有对硬盘的 访问。在此基础上,详细介绍了基于网络文件系统的w i n d o w s 远程启动的原理和 启动过程。 为了实现本文提出的技术,我们专门设计并实现了一种网络文件访问协议 s n f s 。s n f s 简单,并为w i n d o w s 远程启动应用背景做了专门的优化,提出了按 名访问、异步打开等文件访问机制。 最后,通过了w i n d o w ss e r v e r2 0 0 3 上的基于网络文件系统的远程启动技术可 行性测试。 主题词:网络计算,远程备份与恢复,远程启动,网络文件系统 第i 页 国防科学技术大学研究生院硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n du s e rn e e d s c h a n g e s 撕s i n g i r o mt h ed e v e l o p m e n t ,ap e r s o n a l c e n t r i cc o m p u t i n ge n v i r o n m e n ti s r e q u i r e d a n dt o a d d r e s st h ep r o b l e mt h a tl o c a ls y s t e mb a c k u pa n dr e c o v e r yt e c h n o l o g yc a n n o tb eu s e d t or e s t o r et h es y s t e mf a s t e n o u g h ,w eh a v eh a dar e m o t es y s t e mb a c k u pa n dr e c o v e r y r e q u i r e m e n t t h ek e yt e c h n i q u e sf o r t h er e a l i z a t i o no ft h e s er e q u i r e m e n t sa r e o p e r a t i n 2 s y s t e m sr e m o t eb o o tt e c h n o l o g y t r a d i t i o n a lt e c h n o l o g i e st ob o o to p e r a t i n gs y s t e mr e m o t e l yw h i c ha r eb a s e do n n e t w o r kf i l e s y s t e mc a nn o tb eu s e di nt h ec u r r e n tw i d e l y u s e dw i n d o w so p e r a t i n g s y s t e m t oa d d r e s st h ew i n d o w sr e m o t eb o o tp r o b l e m s ,p e o p l eb r i n gf o r w a r dr c m o t e b o o tt e c h n o l o g yb a s e do nn e t w o r ks t o r a g e p r o t o c 0 1 t h i sp a p e ri l l u s t r a t et h a tt h e r ea r em a n ys h o r t a g e so ft h et e c h n o l o g yb a s e do n n e t w o r ks t o r a g ep r o t o c o lc o m p a r e dw i t ht h et e c h n o l o g yb a s e do nn e t w o r kf i l e s y s t e m t i o mt h ev i e wo fs e r v e rm a n a g e m e n t 。t h e r e f o r e ,t h i s p a p e rp r o p o s e sas e r i e so fm e t h o d s , m a k i n gr e m o t eb o o tt e c h n o l o g yb a s e do nn e t w o r kf i l e s y s t e mc a nb ea p p l i e dt o w i n d o w s t h i sp a p e ra n a l y z e st h el o c a lw i n d o w sb o o tp r o c e s sf i r s t i y ,p o i n t i n go u tt h a ta l lo f t h eh a r dd i s ka c c e s so ft h ep r o c e s s a n dt h e nt h ep r i n c i p l ea n d b o o tp r o c e s so fw i n d o w s r e m o t eb o o tt e c h n o l o g yb a s e do nn e t w o r kf i l e s y s t e ma r ep r e s e n t e dd e t a i l e d l y i no i i d e r t oa c h i e v et h ep r o p o s e dt e c h n o l o g y ,w eh a v ed e s i g n e da n d i m p l e m e n t e dan e t w o r kf i l e a c c e s sp r o t o c o ls n f s s n f si ss i m p l e ,a n di so p t i m i z a t e de s p e c i a l l yf o ra p p l i c a t i o no f w i n d o w sr e m o t eb o o t , i n c l u d i n gf i l ea c c e s sm e c h a n i s m ss u c ha sa c c e s sb vn a m e 。o p e n a s y n c h r o n o u s 一 f i n a l l y , w ep r o v et h er e m o t eb o o ts t a r t i n gf e a s i b i l i t yb a s e do nn e t w o r kf i l es y s t e m i nw i n d o w ss e r v e r2 0 0 3 k e yw o r d s :n e t w o r kc o m p u t i n g , r e m o t eb o o t ,n e t w o r kf i l es y s t e m r e m o t es y s t e mb a c k u pa n dr e c o v e r y , 国防科学技术大学研究生院硕士学位论文 表目录 表1 1w i n d o w sx p 有可能共享的文件5 表2 1n t l d r 加载文件9 表3 1n f s b p t 结构表一1 9 表4 1 三种共享权限含义2 2 表4 2e x c l u s i v eo p l o c k 协议示例n 砌2 3 表4 3l e v e li io p l o c k 协议示例2 4 表4 4s n f s 的登陆过程2 8 表4 5s n f s 打开根目录过程2 9 表4 6s n f s 的同步打开过程:3 0 第1 i i 页 国防科学技术大学研究生院硕士学位论文 图目录 图1 1 传统的系统备份与恢复流程1 图1 2 远程系统备份与恢复流程2 图3 1 基于网络文件系统的w i n d o w s 远程启动技术结构图1 6 图3 2 基于网络文件系统的w i n d o w s 远程启动过程1 7 图4 1s n f s 报文头结构2 6 图4 2s n f s 服务器文件读命令处理流程:31 图5 1s n f s d 各进程和线程之间的关系3 3 图5 2w i n d o w s 存储系统结构图n 引3 5 图5 3 卷管理器i r p 处理流程3 8 图5 4 多u n c 提供者n 引3 9 图5 5s d f s 的i r p 处理流程4 1 图5 6s d s c s i 虚拟硬盘第1 扇区4 3 图5 7 远程启动的启动分区c 盘属性4 4 第1 v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文题目: 基王圆鳖塞佳鍪统鲍! i 旦垒q 曼墨握佳丕统亟猩雇边技盔盟究一 学位论文作者签名:刁! l日期:夕即万年z 2 月多日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文作者签名:誊兰 日期:二卯了年埋月歹一日 作者指导教师签名:乏豸垒 日期:h 牌,1 月3 d 日 国防科学技术大学研究生院硕士学位论文 1 1 论文背景 1 1 1 网络计算 第一章绪论 随着计算机技术的发展和由此引发的用户需求的变化,计算模式( c o m p u t i n g p a r a d i g m ) 发生了巨大的变化。从e n i a c 诞生到2 0 世纪8 0 年代末,计算模式从 以主机为中心的主机计算( m a i n f r a m ec o m p u t i n g ) 发展到了桌面计算( d e s k t o p c o m p u t i n g ) 幢1 。自2 0 世纪8 0 年代末以来,随着网络技术的发展,又产生了普适计 算1 、分布式计算n 朝、网络计算哺1 、透明计算 1 等计算技术。这些新技术中,网络 计算的e 1 标最贴近现实,也是当前使用最广泛的。 网络计算的核心思想是网络客户端设备不预制任何软件而是根据客户端的当 前使用者的需求从网络上下载来执行,其关键技术是软件的可定制远程启动,尤 其是最重要的系统软件操作系统的远程启动。 学生机房是最典型网络计算案例。在应用网络计算的学生机房中,每个学生 都有属于自己的计算环境。计算环境保存在服务器上,并由服务器集中管理。当 有学生需要使用计算机时,他可以选择任意一台空闲的计算机,然后从服务器上 选择自己的计算环境远程启动计算机。 1 1 2 远程系统备份与恢复 操作系统的备份与恢复是数据备份与恢复领域中的一个重要部分。对于易受 病毒感染的w i n d o w s 系统而言,系统的备份与恢复尤其重要。传统的系统备份与 恢复流程如图1 1 所示: 图1 1 传统的系统备份与恢复流程 从图1 1 可以看出,传统的系统备份与恢复存在着一个耗时较长的系统恢复过 程,在此过程中计算机是不可用的。对某些要求高可靠性的服务器而言,这个系 第1 页 国防科学技术大学研究生院硕士学位论文 统不可用的阶段是难以接受的。而且服务器用户为了保证备份数据的安全性,一 般不将备份数据保存在本地硬盘上,系统恢复即系统不可用的时间就更长了。 为了解决传统的系统备份与恢复的这点不足,人们提出了远程系统备份与恢 复。它的核心思想是当系统可用时将系统数据备份到远程服务器上,当系统损坏 不可用后,采用操作系统远程启动技术,直接从远程服务器上备份的系统数据启 动,启动之后,再将正在使用的备份数据还原到本地硬盘上。其关键技术是将服 务器上的备份数据作为系统数据进行远程启动。其流程如图1 2 所示: 图1 2 远程系统备份与恢复流程 采用这种技术,当本地硬盘上的系统不可用时,可以立即从服务器上的备份 数据远程启动。系统不可用的时间从传统的系统恢复与本地启动时间之和减少到 一次远程启动时间,大大缩短了系统不可用的时间。随着不可用时间的减少,系 统可靠性得到了提高。 1 2 研究现状 1 2 1 操作系统远程启动相关研究 操作系统远程启动技术早已产生,最初是应用在l i n u x u n i x 等存在单一内核 文件的操作系统上的。客户端通过b o o t p 远程启动协议获取自身i p 地址、操作 系统内核镜像路径等信息,从t f t p 文件服务器上下载包含网络文件系统功能的操 作系统内核镜像。操作系统启动后,在文件系统层使用特定的网络文件系统例如 n f s 隋1 、a f s 徊1 、c i f s n 等作为系统根目录1 。这种远程启动技术称为基于网络文 件系统的操作系统远程启动技术。 由于以下原因,这一传统的远程启动技术不能用于w i n d o w sn t 系列操作系统 的远程启动。为叙述方便,如无特别说明,本文所指w i n d o w s 操作系统均指 w i n d o w sn t 系列,所指计算机均指采用i n t e l3 8 6 兼容处理器的i b mp c 兼容机。 ( 1 ) w i n d o w s 在启动过程中要检查启动分区是否是可以访问的硬盘分区,如果不是 第2 页 国防科学技术大学研究生院硕士学位论文 启动将失败; ( 2 ) w i n d o w s 不存在一个单一的、支持网络文件系统的内核文件。w i n d o w s 最主要 的核心文件是n t o s k m l e x e 。但n t o s k m l e x e 只包含进程管理、内存管理等操作 系统核心功能。远程启动需要的网络设备、网络协议和网络文件系统的功能, 都是以驱动程序的形式实现的,并不包含在n t o s k r n l e x e 中; ( 3 ) w i n d o w s 不支持将网络文件系统设置为系统根目录,系统根目录必定指向本地 文件系统。 w i n d o w sn t 诞生的最初几年,由于对远程启动并没有多少需求,其远程启动 问题未被过多关注。但随着w i n d o w s 服务器版本的出现,w i n d o w s 广泛应用于服 务器领域。服务器的远程系统备份和恢复,对w i n d o w s 远程启动产生了刚性需求。 而随着网络技术的飞速发展,计算模式发生了重大变化。网络计算也逐步走入了 大学、公司的实验室,这也对w i n d o w s 远程启动产生了需求。 由于传统的基于网络文件系统的远程启动技术不能应用于w i n d o w s 系统,人 们便提出了一种新的基于网络存储协议的远程启动技术。网络存储协议是一种让 客户端可以远程访问网络上的硬盘的技术,例如i s c s i 1 2 3 1 1 3 、i f c p 1 4 o 基于网络存 储协议的操作系统远程启动的思想是通过一定的方法,让w i n d o w s 远程启动过程 中像访问本地硬盘一样访问网络硬盘。 基于网络存储协议的远程启动技术,有硬件、软件两类实现方法。硬件的方 法,为了突出它硬件实现的特色,一般称为基于外接网络硬盘的远程启动技术。 如无特殊说明,通常所说的基于网络存储协议的远程启动技术,专指软件实现的 远程启动技术。但它们都是基于网络存储协议的,网络存储服务器的管理也是相 同的。 基于网络存储协议的远程启动技术随后也移植到了l i n u x u n i x 等系统。但由 于下文提到的这一技术的缺陷,时至今日,l i n u x u n i x 远程启动仍然采用的是传统 的基于网络文件系统的远程启动技术。 1 2 - 2 基于外接网络硬盘的w i n d o w s 远程启动技术 基于外接网络硬盘的w i n d o w s 远程启动技术,核心思想是不修改现行任何代 码,却使得计算机远程启动过程中所有对硬盘的访问都能正确执行,其关键技术 就是通过实现一套硬盘访问接口来模拟一块物理硬盘,而硬盘数据则通过网络存 储协议在网络上的服务器上存取。即在计算机上插上一块对任何程序而言普通的 硬盘,但此硬盘上的数据在网络上的服务器上。 目前比较成熟的外接网络硬盘产品有中国台湾的顺昱公司的e h d ( e t h e r n e t h a r dd i s k ) o p 以太网络硬盘。e h d 实现的硬盘访问接口为s c s i ( s m a l lc o m p u t e r 第3 页 国防科学技术大学研究生院硕十学位论文 s y s t e mi n t e r f a c e ) ,网络存储协议为该公司专有的e d c ( e l e c t r o n i cd i s k c o m m u n i c a t i o n ) 协议。 1 2 3 基于网络存储协议的w i n d o w s 远程启动技术 基于网络存储协议的远程启动技术,核心思想在不改变计算机硬件的情况下, 根据计算机启动过程中访问硬盘方式的不同,采用修改或者替换现有的硬盘访问 代码来实现硬盘访问。硬盘数据则通过网络存储协议在网络上的服务器上存取。 其关键技术如下: ( 1 ) 当处理器处于实模式时,无论是b i o s 中的程序,还是w i n d o w s 的启动程序, 访问硬盘的方式都是通过b i o si n t 一1 3 中断服务h 5 删来完成的。通过改写b i o s i n t 一1 3 中断服务,为实模式下的程序提供网络硬盘访问服务; ( 2 ) w i n d o w s 开始初始化后,处理器处于保护模式,此时w i n d o w s 是通过硬盘设 备驱动程序访问硬盘的。通过提供网络硬盘驱动程序来实现w i n d o w s 初始化 以后的硬盘访问。 1 2 4 基于网络存储协议的远程启动技术的不足 基于网络存储协议的远程启动技术,是因传统的基于网络文件系统的远程启 动技术难以应用在w i n d o w s 操作系统上而提出的一种技术,并不是因为该技术比 传统的基于网络文件系统的远程启动技术要好。基于网络存储协议的远程启动技 术应用到l i n u x u n i x 系统已经很多年了,时至今日,基于网络文件系统的启动技 术仍然是l i m l x u n i x 远程启动的主流技术。 除文件系统的驱动程序外,不论是应用程序,还是操作系统其他部件,都不 关心文件的数据存放于何处,是磁盘上还是网络上,更不会关心文件分成几个部 分又分别存在哪几个硬盘的哪几个扇区上。对远程启动的操作系统而言,它关心 的是服务器提供给他的文件的数据,而不是一个个扇区的数据。虽然操作系统可 以通过一个个扇区得到文件数据,但多了一层文件系统的转化。正是因为将从扇 区到文件的转化的功能,即本地文件系统的功能交给了客户端,服务器失去了文 件数据的控制权,从而导致了以下不足。 1 2 4 1 缺乏伸缩性 无论是l i n u x u n i x 还是w i n d o w s ,磁盘分区在线扩展和缩减都是一个难题, 至今仍没有成熟的解决方案。即便是离线改变大小,也存在着数据丢失等安全隐 患或者是开销过大。为了应对系统分区潜在的不足,用户一般将系统分区设置得 足够大。不仅是系统分区,要保证数据不丢失,改变其它分区的大小也一样是不 第4 页 国防科学技术大学研究生院硕士学位论文 容易的。 基于网络存储协议的远程启动技术,服务器为用户分配空间的单位在逻辑上 是整块硬盘。一旦用户认为当初分配的硬盘空间不再适合自己目前的需求,就需 要重新分配大小。为了保证当前系统可用性,必须保证分区大小改变后数据不丢 失,这是比较困难的。为了应对硬盘空间可能的不足,用户往往要求分配超过其 自身需求的空间,导致服务器资源的浪费。 基于网络文件系统的远程启动技术,服务器是以目录为单位为客户端分配空 间的。客户端的数据以文件的形式保存在服务器上,使得客户端对数据的需求, 服务器可以做到按需分配。 1 2 4 2 数据共享困难 不论是l i n u x u n i x ,还是w i n d o w s ,启动分区都有很多文件是有可能共享的。 包括只读的文件、虽然不是只读但是从来不写的文件和只在系统更新的时候才写 文件。以w i n d o w s 为例,只读的文件有n t l d r 和字体文件;虽然不是只读的, 但从来不被修改的文件有s y s t e m r o o t l r e p a i r 目录下的用于恢复系统的注册表储槽 文件;只在系统更新的时候修改的文件更多,例如系统服务程序执行文件 s v c h o s t e x e 和大部分驱动程序。 如果不考虑病毒的破坏,而且各个用户在相同的时机更新系统,这三类文件 对不同的w i n d o w s 用户而言是相同的。表1 1 列举了以上三类有可能共享的文件 在w i n d o w sx pp r o f e s s i o n a l 系统中所占大小。 表1 1w i n d o w sx p 有可能共享的文件 类别主要文件 所占空间 只读n t l d r 、字体文件 约1 0 0 m 【b 非只读,但从不写备份的注册表储槽文件等 约2 0 m b 只在系统更新时写w i n d o w s 内核、各种驱动程序、帮助文档及自带应用约6 0 0 m b 程序 从表1 1 种可以看出,大约有7 2 0 m b 的文件数据可以在不同的w i n d o w sx p p r o f e s s i o n a l 用户间共享。如果考虑在一定背景下的网络计算环境,例如大学里为 研究生准备的机房,文档处理软件、编译器、编辑器等软件都是可以共享的,这 又增加不少可共享的文件。 基于网络存储协议的远程启动技术,服务器虽然管理着所有的客户端的数据, 但是那些可以共享的文件分布在硬盘的各个扇区,如何将不同硬盘上那些虽然数 据内容相同,但位置混乱的不同的扇区进行共享,只保留一份是一个非常难的问 题,目前还没有好的解决方案。 而基于网络文件系统的w i n d o w s 远程启动技术,由于客户端所需文件由文件 第5 页 国防科学技术大学研究生院硕士学位论文 服务器进行管理,进行共享是非常方便的。例如,在l i n u x u n i x 下,可以采用联 合文件系统u n i o n f s n 7 h 埘,通过写时复制技术在文件服务器上共享数据。 1 3 研究内容 在网络计算和系统远程备份与恢复应用领域,操作系统远程启动技术都是不 可或缺的关键技术。远程启动技术出现较早,最初是应用于l i n u x u n i x 系统的基 于网络文件系统的远程启动技术。但这种技术不能应用于w i n d o w s 操作系统。为 此,人们提出了基于网络存储协议的远程启动技术以支持w i n d o w s 的远程启动。 本文对基于网络存储协议的远程启动技术做了简单的介绍,分析了它的不足,指 出基于网络文件系统的远程启动技术要优于基于网络存储协议的远程启动技术。 为了改进现有技术,本文作者提出了一种基于网络文件系统的w i n d o w s 远程启动 技术,实现了基于网络文件系统的远程启动技术在w i n d o w s 上的应用。 本文首先在分析了泄露出来的部分w i n d o w sn t 和w i n d o w s2 0 0 0 源代码的基 础上,对w i n d o w s 启动过程做了深入的研究,并对基于网络存储协议的w i n d o w s 远程启动技术的启动过程作了分析,指出了该技术对本文所提出的基于网络文件 系统的w i n d o w s 远程启动技术可供借鉴的地方。 基于网络文件系统的w i n d o w s 远程启动技术,客户端需要使用网络文件访问 协议来访问服务器上的文件。理论上讲,当前主要的网络文件访问协议,如n f s 、 c i f s 都可以用来进行w i n d o w s 远程启动。但它们都非常复杂,实现起来比较困难。 而且它们是为文件共享设计的,并非为远程启动专门设计,更没有为w i n d o w s 远 程启动进行优化。本文针对w i n d o w s 远程启动过程中文件访问的特点,设计了一 种简单的网络文件访问协议s n f s ( s i m p l en e t w o r kf i l es y s t e m ) ,它能实现现有 的w i n d o w s 文件访问语义,并为w i n d o w s 启动分区文件访问做了专门的优化。 最后,实现了w i n d o w ss e r v e r2 0 0 3 平台下的基于网络文件系统的w i n d o w s 远程启动技术并进行了测试。 1 4 论文组织 本文共分为六章,各章主要内容如下: 第一章,绪论。介绍了操作系统远程启动技术在网络计算和远程系统备份与 恢复领域中的应用需求,简单介绍了基于网络文件系统的和基于网络存储协议的 远程启动技术,指出前者优于后者的原因,并提出了将基于网络文件系统的远程 启动技术应用到w i n d o w s 的技术。 第二章,w i n d o w s 启动过程研究。在分析了泄露出来的部分w i n d o w sn t 和 第6 页 国防科学技术大学研究生院硕士学位论文 w i n d o w s2 0 0 0 源代码的基础上,对w i n d o w s 启动过程做了深入的研究,并对现有 两种w i n d o w s 远程启动过程作了分析。 第三章,基于网络文件系统的w i n d o w s 远程启动设计。介绍了基于网络文件 系统的w i n d o w s 远程启动的思想、原理,并对启动过程做了分析。 第四章,网络文件访问协议s n f s 。介绍了专门为w i n d o w s 远程启动做了优 化的简单的网络访问协议s n f s 。 第五章,系统实现与测试。给出了基于网络文件系统的w i n d o w s 远程启动技 术在w i n d o w ss e r v e r2 0 0 3 下的详细实现过程,并进行了可行性测试。 第六章,结束语。总结了本文工作的不足,提出下一步的改进目标。 第7 页 国防科学技术大学研究生院硕士学位论文 第二章w i n d o w s 启动过程及现有远程启动技术分析 w i n d o w s 作为一种现代操作系统,与l i n u x u n i x 操作系统不同,其启动过程 仍然十分原始、复杂。根据启动过程中主要完成的任务,本文将w i n d o w s 启动分 为w i n d o w s 加载器加载、w i n d o w s 核心文件加载和w i n d o w s 初始化三个阶段。本 章从w i n d o w s 启动三个阶段着手,分别介绍w i n d o w s 本地硬盘启动、基于外接网 络硬盘和基于网络存储协议的远程启动过程,并分析了两种远程启动技术的特点。 w i n d o w s 启动过程和w i n d o w s 启动分区n 刚关系密切。为了论述方便,本章使 用一个具体的启动分区作为例子。这个启动分区文件系统格式为n t f s ,处于第一 个硬盘的第一个主分区,系统根目录为w i n d o w s 引。 除特别交待外,本文中出现的w i n d o w s 内核代码都是w i n d o w sn t 源代码。 2 1w i n d o w s 本地启动过程 2 1 1w i n d o w s 加载器加载 操作系统加载器( o p e r a t i n gs y s t e mb o o tl o a d e r ) ,是指加载操作系统内核及 其他必要数据,为操作系统内核建立运行环境的程序。w i n d o w s 加载器是其专有 的,只能加载w i n d o w s 操作系统,名为n t l d r ( n tl o a d e r ) 。n t l d r 以文件的 形式存在于w i n d o w s 系统分区钟根目录下。w i n d o w s 引导块( b o o tb l o c k ) n 们 加载n t l d r 到内存,并为n t l d r 建立运行环境。引导块位于w i n d o w s 系统分 区的前1 6 个连续扇区,共8 k b 。引导块根据系统分区的文件系统的格式不同分为 n t f s b o o t 、f a t b o o t 等四种类型。安装w i n d o w s 时,安装程序根据系统分区的文件系 统类型将相应的引导块安装到硬盘上。每种类型的引导块都包含该类型文件系统 根目录的读功能。 n t l d r 加载过程如下: ( 1 ) b i o s 将m b r n 钔加载到内存,并将控制权交给m b r ; ( 2 ) m b r 或者其他引导程序将作为引导分区( b o o tp a r t i t i o n ) n 们的w i n d o w s 系统分 区的引导块的第一个扇区加载到内存,并将控制权交给引导块第一扇区; ( 3 ) 引导块第一扇区将引导块所有的扇区加载到内存,并将控制权交给引导块第二 扇区: ( 4 ) 引导块查找系统分区根目录下的n t l d r 。如果n t l d r 存在,f a t b o o t 将n t l d r 的第一个5 1 2 字节加载到内存的0 x 2 0 0 0 0 处,而其他类型的引导块将整个 n t l d r 加载到内存,然后引导块将控制权交给n t l d r ;否则,引导块报错, 启动停止。 第8 页 国防科学技术大学研究生院硕士学位论文 b i o s 、m b r 和引导块都工作在实模式下,所有对硬盘的访问都通过b i o s i n t - 1 3 中断服务来完成。 2 1 2w i n d o w s 核心文件加载 n t l d r 获得控制权后,需要将w i n d o w s 内核及驱动等文件加载到内存。 n t l d r 加载的文件称为w i n d o w s 核心文件。表2 1 列出了n t l d r 加载的文件。 表2 1n t l d r 加载文件 文件名组件备注 n t o s k r n l e x e 执行体和内核 h a l d 1 1 硬仲抽象层 s y s t e m s y s t e m 注册表储槽n 龇存储系统配置信息,主要包括驱动程序 配置信息 h a r d w a r e硬件注册表储槽1 9 1 存储硬件配置信息 d i s k s y s 等 引导设备驱动程序n 卅在s y s t e m 注册表储槽中标记为在系 统引导时加载 b o o t i n i 引导菜单文件配置启动参数 核心文件加载过程如下: ( 1 ) n t l d r 首先判断自己是从哪个分区加载的,如果是从f a t 3 2 分区加载,则将 n t l d r 剩下的部分加载到内存: ( 2 ) n t l d r 将处理器由实模式改为保护模式。在建立足够的页表以映射1 6 m b 以 下的内存后,n t l d r 打开分页机制; ( 3 ) n t l d r 包含了只读的n t f s 和f a t 3 2 代码,利用这段内置的代码,从系统根 目录下读入引导菜单文件b o o t 。i n i 文件; “) n t l d r 清空屏幕。如果b o o t i n i 中有多个引导选择项,n t l d r 将向用户显 示一个引导选择菜单,等待用户选择一个。b o o t i n i 的选择项以a r c ( a d v a n c e dr i s cc o m p u t i n g ) 瞳表明w i n d o w s 启动目录n 钔所在的位置; ( 5 ) n t l d r 根据w i n d o w s 启动目录,读入正确的内核和h a l 映像。如果没有在 启动选项中特别指定,分别为n t o s k m l e x e 和h a l d l l 。如果不能正确加载两者 中的任何一个,则n t l d r 打印出错信息,启动中止; ( 6 ) 读入h a r d w a r e 、s y s t e m 等注册表储槽,然后扫描在s y s t e m 注册表中 标记为引导启动的驱动程序,这种驱动程序称为引导设备驱动程序,又称为 引导- 力口载驱动程序; ( 7 ) 将所有引导设备驱动程序加载到内存中。如果启动选择项中s o s 开关打开, 加载引导设备驱动程序过程中,n t l d r 会在屏幕上显示加载的文件名; ( 8 ) 执行与特定处理器相关的启动代码,为n t o s k r n l e x e 建立执行环境。 第9 页 国防科学技术大学研究生院硕士学位论文 为n t o s k r n l e x e 建立好执行环境后,n t l d r 的主要工作就完成了,下一步就 将控制权交给n t o s k r n l e x e 。n t o s k m l e x e 的入口函数是m a i n ,它的参数由n t l d r 传递,包括此次引导的菜单选择项字符串和三个指针。其中一个指针包括n t l d r 加载的引导设备驱动程序列表n 引。 n t l d r 本身不带任何硬盘驱动程序,不能直接访问硬盘,又运行在保护模式 下,不能通过b i o si n t 1 3 中断服务访问硬盘。如果系统分区位于一个不能用b i o s 中断访问的s c s i 硬盘,n t l d r 将加载名为n t b o o t d d s y s 的s c s i 小端口驱动程序, 用它来提供硬盘访问服务;否则n t l d r 对硬盘的访问都由引导块代码提供的硬盘 访问服务完成。引导块提供的硬盘访问服务,首先将系统由保护模式改为实模式, 然后调用b i o si n t 1 3 中断服务访问硬盘,然后再将处理器改回保护模式。 2 1 3w i n d o w s 初始化 n t o s k m l e x e 获得控制权后,就进入了w i n d o w s 初始化过程。w i n d o w s 初始化 分为阶段0 和阶段l 初始化,而w i n d o w s 的每个子系统的初始化过程也都分为阶 段0 和阶段1 初始化n 9 1 。 阶段0 初始化主要初始化一些核心表格如中断向量表、任务状态段等,然后 依次调用w i n d o w s 各子系统即内存管理器、对象管理器、安全引用监视器、进程 管理器、i 0 管理器和即插即用管理器的阶段0 初始化过程。进程管理器的阶段0 初始化在完成进程、线程的创建、管理、运行环境后,创建s y s t e m 进程和执行 p h a s e l i n i t i a l i z a t i o n 函数的系统线程。由执行p h a s e l i n i t i a l i z a t i o n 的系统线程完成阶 段1 初始化。 阶段1 初始化过程如下: ( 1 ) 调用h a l l n i t s y s t e m ,为系统建立中断处理环境,并开启中断; ( 2 ) 初始化文件系统全局数据结构; ( 3 ) 对象管理器创建名字空间根目录和系统根目录s y s t e m r o o t 等名字。此时的 s y s t e m r o o t 是一个符号链接,指向启动分区上系统根目录的a r c 名字。例如, 启动分区为第一个硬盘的第一个主分区,启动分区的系统根目录为 w i n d o w s ,那么系统根目录s y s t e m r o o t 作为符合链接将指向a r c 路径 k m u l t i ( 0 ) d i s k ( 0 ) r d i s k ( 0 ) p a r t i t i o n ( 1 ) w i n d o w s 。由于w i n d o w s 内核中并没有任 何内建的硬盘驱动程序,而且引导设备驱动程序都没有初始化,此时还不能通 过硬盘的a r c 名字访问硬盘,也就不能访问系统根目录s y s t e m r o o t ; ( 4 ) 初始化i o 管理器; ( 5 ) 调用r t l c r e a t e u s e r p r o c e s s 创建用户进程会话管理器s m s s 。 创建用户会话管理器s m s s 后,第一个用户进就建立了。从操作系统的角度看, 第1 0 页 国防科学技术大学研究生院硕十学位论文 操作系统启动过程就此结束。 在整个阶段1 初始化过程中,i o 管理器的初始化,是整个w i n d o w s 初始化中 最复杂的一部份,其过程如下: ( 1 ) 调用i o p c r e a t e o b j e c t t y p e s 创建包括设备、驱动、文件在内的所有对象类型; ( 2 ) 调用i o p c r e a t e r o o t d i r e c t o r i e s 创建 d r i v e r 和h f i l e s y s t e m 名字以容纳各种设备驱 动程序和文件系统驱动程序; ( 3 ) 调用i o p l n i t i a l i z e b o o t d r i v e r s 初始化所有引导设备驱动程序; 所有的引导设备驱动程序都由n t l d r 加载到了内存,并以参数的形式,将引 导设备驱动程序的列表传递给了n t o s k m l e x e 。根据引导设备驱动程序列表, i o p i n i t i a l i z e b o o t d r i v e r s 依次调用每个引导设备驱动程序的初始化函数,即入口函 数d r i v e r e n t r y 瞻。启动分区所在的硬盘设备驱动程序作为引导设备驱动程序正是 在此时初始化的。 i o 管理器为了访问系统中的硬盘、分区、卷等设备,为硬盘设备驱动程序定 义了一套接口规范,其主要内容是设备在名字空间中名字的格式,称为n t 名字。 如i o 管理器将名字d e v i c e k h a r d d i s l ( ) ( p a r t i t i o n y 视为硬盘x 上的分区y 。i 0 管 理器并不关心设备名字对应的具体设备的类型,无论i d e 硬盘、s c s i 硬盘,还是 网络硬盘,对i o 管理器而言都是一样的。本地硬盘驱动程序在初始化后,为每一 个识别的硬盘和及其逻辑上的分区、卷在系统中创建了符合i o 管理器硬盘访问接 口规范的n t 名字。i o 管理为每个硬盘及其分区建立对应的a r c 名字,并将a r c 名字作为符号链接指向对应的硬盘或者分区的n t 名字。 ( 4 ) 调用i o p m a r k b o o t p a r t i t o n 检查启动分区是否可用。i o p m a r k b o o t p a r t i t o n 是依据 启动分区的a r c 名字进行检查的,主要检查的就是启动分区能否打开和关闭, 一般情况下就是检测启动分区的a r c 名字是否存在; ( 5 ) 调用p s l o c a t e s y s t e m d l l 通过文件系统接口,加载系统动态链接库n t d l l d l l ,使 用的名字s y s t e m r o o f i s y s t e m 3 2 h a t d l l d l l ,并把n t d l l d l l 映射到用户态地址空 间,为创建用户进程准备环境; ( 6 ) 调用i o p l n i t i a l i z e s y s t e m d r i v e r s 加载所有在注册表中标记为系统一加载的设备 驱动程序到内存。i o p l n i t i a l i z e s y s t e m d r i v e r s 最终是通过文件系统接口以内存映 射的方

温馨提示

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

评论

0/150

提交评论