




已阅读5页,还剩60页未读, 继续免费阅读
(信息与通信工程专业论文)电子数据分离存储与安全恢复系统的研究及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮l u 入学硕i j 研究生学位论文 摘受 摘要 从文件安全存储的需求出发,分析当前文件安全存储领域的研究和应用现状,比较分 析各种不同解决方案的优缺点,指出当前方案的不足之处,在此基础上,提出一种基于分 离存储的文件安全存储解决方案。 针对分离存储和安全恢复系统的开发运行环境,对w i n d o w s 系统组件进行分析,特 别地对w i n d o w se x e c u t i v e 组件进行了详细论述;在分析文件系统驱动及过滤驱动工作原 理后,对过滤驱动程序设计进行了详细的阐述;与此同时,对开发过滤驱动过程中使用的 重要数据结构进行了分析。 论文对分离存储和安全恢复思想进行详细论述后,借鉴密钥分解理论,设计了一种电 子数据分离存储和安全恢复的配套算法,给出了具体的算法示例。与此同时,从数据机密 性、数据完整性、认证和访问控制等多方面对系统的安全性进行了设计和实现。 设计实现了基于文件过滤驱动和用户层程序相结合的原型系统,分析了算法选择和实 现的具体方法、系统的交互协议等。从目标设备对象的附着、i r p 的创建、例程的完成、 目标设备对象附着解除等几个方面分析并研究系统实现中所面临的关键技术问题,给出了 过滤驱动所使用的重要数据结构。 最后,通过系统测试和性能分析,对原型系统的功能和性能进行了验证,表明了解决 方案的可行性和有效性。 提出的解决方案和实现的原型系统可实现文件数据的分离存储与安全恢复。通过将数 据加密、数据分离、数据动态网络存储和安全访问等技术融合在一起,用一种安全技术融 合的新模式,更好地解决文件数据的安全存取问题。 关键词:电子数据;分离存储;安全恢复;动态存取;过滤驱动 a b s t r a c t t h r o u g hr e s e a r c ha n da n a l y s i st ot h ee l e c t r o n i cd a t as e c u r i t yp r o b l e m ,h a sf i n do u tt h e a d v a n t a g e sa n dd i s a d v a n t a g e so fd if f e r e n ts o l u t i o n s ,p o i n t e do u tt h ec u r r e n tp l a n sf l a w b a s e d o nt h ei d e ao fs e p a r a t es t o r a g e ,a ne l e c t r o n i cd a t as e c u r i t ys t o r a g es c h e m ew a s p r o p o s e d a c c o r d i n gt o t h ed e v e l o p m e n ta n do p e r a t i n ge n v i r o n m e n t ,t h ep a p e ra n a l y z e dt h e w i n d o w ss y s t e mc o m p o n e n t si nd e t a i l ,i np a r t i c u l a rt h ew i n d o w se x e c u t i v e a f t e ra n a l y s i st o t h ew o r k i n gp r i n c i p l eo ff i l es y s t e md r i v e ra n df i l t e rd r i v e r , h a sc a r r i e do nd e t a i l e d e l a b o r a t i o nt ot h ef i l t e rd r i v e rp r o g r a m d e s i g n a tt h es a m et i m e ,s o m ei m p o r t a n td a t as t r u c t u r e i nd e v e l o p i n gaf i l t e rd r i v e ri sa l s oa n a l y z e d t h ea r t i c l eh a sd i s c u s s e dt h ei d e ao fs e p a r a t es t o r a g ea n ds a f er e c o v e r ys y s t e mi nd e t a i l a f t e rt h a t ,b a s e do nk e y d e c o m p o s i t i o nt h e o r y , a na l g o r i t h ma b o u tf i l es p l i t t i n ga n dr e c o v e r i n g i sd e s i g n e d t os y s t e m ss a f e t yp r o p e r t y , s u c ha sc o n f i d e n t i a l i t y , d a t ai n t e g r i t y , a u t h e n t i c a t i o n a n da c c e s sc o n t r o l ,h a sb e e nd e s i g n e da n dr e a l i z e ds e p a r a t e l y t h ep r o t o t y p es y s t e mh a sb e e nr e a l i z e d ,w h i c hu n i f i e dt h ef i l ef i l t e rd r i v e ra n dt h e u s e r - l e v e lp r o c e d u r e h a sa n a l y z e dt h ea l g o r i t h ms e l e c t i o na n di m p l e m e n tm e t h o d ,t h es y s t e m i n t e r a c t i v ep r o t o c o la n ds oo n a n ds t u d i e dt h ek e yt e c h n o l o g i e sq u e s t i o n ,s u c ha s :a d h e r et o t a r g e td e v i c eo b j e c t ,i r pc r e a t i o n ,r o u t i n ec o m p l e t i o n h a sg i v et h ei m p o r t a n td a t as t r u c t u r e u s e di nt h ef i l t e rd r i v e r f i n a l l y , t h r o u g ht h es y s t e mt e s ta n db e h a v i o ra n a l y s i s ,c o n f i r m e dt h ep r o t o t y p es y s t e m s f u n c t i o na n dt h ep e r f o r m a n c e ,h a sp r o v e nt h es o l u t i o nf e a s i b i l i t ya n d v a l i d i t y i nt h i ss y s t e m ,s e c u r i t yt e c h n i q u e si n t e g r a t e d ,s u c ha sd a t ae n c r y p t i o n ,d a t as e p a r a t i o n , d y n a m i cn e t w o r ks t o r a g e ,s a f ea c c e s sa n ds oo n w i t ht h i sn e wm o d e l ,t h es e c u r i t yo fe l e c t r o n i c d a t aa c c e s si s s u e sw a sb e t t e rs o l v e d k e y w o r d s :e l e c t r o n i cd a t a ;s e p a r a t es t o r a g e ;s a f er e c o v e r y ;d y n a m i ca c c e s s ;f i l t e rd r i v e r 南京邮电大学学位论文原创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得南京邮电大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:二l 查蔓王鱼:日期:出垒2 :z ! z 丝 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留本人所送 交学位论文的复印件和电子文档,可以采用影印、缩印或其它复制手段保存论 文。本文电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。 论文的公布( 包括刊登) 授权南京邮电大学研究生部办理。 研究生签名:j 左:笔 导师签名: i i 7日期:地! 乏:笙2 旦 南京l l l i ;l b 人学顺i :研究生学位论文 第一章绪论 第一章绪论 1 1 课题研究背景 随着信息化的不断推进和普及,企业和公司及政府部门的电子数据r 益增多,随之而 来的电子数据的安全问题也同益突出,电子数据的安全存储也成为近年柬的研究和应用热 点。 在当今信息社会中,人们普遍将各种重要的信息( 如国家机密、商业秘密、个人隐私等) 存放在没有安全防范措施的计算机中,这很容易受到内部窃贼、计算机病毒和网络黑客的 攻击,就像用未锁的文件柜来存放机密文件,具有极大的危险性。目前,我国计算机安全 防护能力处于发展的初级阶段,在安全存储方面,无论是防范意识、核心技术还是安全产 品,都存在很多空白。每年各种重要数据、文件的滥用、泄露、丢失、被盗给国家、企业 和个人造成的损失数以亿计。这还不包括那些还没有暴露出来的深层次的问题。可见计算 机安全问题解决不好,不仅会造成巨大的经济损失,甚至会危及国家的安全和社会的稳定。 此外,当前我国的信息安全产业还存在着应用需求不明的问题。安全产品针对的主要对象 是病毒、黑客和有害数据侵入,这造成安全产品高度集中在防火墙和加密机等有限的几类 产品上,使众多厂商在这一狭小的领域内恶性竞争,根本无法解决国内信息安全的实际问 题。诚然,防火墙、入侵检测隔离装置等网络安全保护对于阻止网络病毒的入侵有着不可 替代的作用,但网络安全产品只能对来自外部的非法攻击起到保护作用。事实上,被大多 数人忽视的计算机本身才是发生信息安全事故最多的环节! 中国国家信息安全测评认证中 心提供的调查结果显示,现实的威胁主要为信息泄露和内部人员犯罪,而非病毒和外来黑 客引起。据公安部门统计,7 0 的泄密犯罪来自于内部;计算机应用单位8 0 未设立相应 的安全管理。可见,一个能进入办公室的普通人有时比一个技术二流的网上黑客的潜在威 胁要大的多。 1 2国内外文件安全存储的研究及应用现状 1 2 1文件安全存储的研究现状 从目前的研究看,针对电子数据的安全存储问题,大都是通过采用加密存储的方式来 解决,其区别主要是在何处、何时对电子数据进行加解密【l 】。根据加解密的位置和时问的 不同,可以分为应用层加密、磁盘加密、文件过滤驱动加密三类【2 1 【3 1 。 1 ) 应用层加密 l 南京邮i u 人学硕。i :t o f 5 ( 生学位论文第一章绪论 这是最简单易行也是最常用的办法,就是在用户层编写应用程序,根据自身需求,选 定密码算法,设制特定的文件格式,将需要保护的数据加密后保存在此格式的文件中。最 有名的就是美国n e t w o r ka s s o c i a t ei n c 出产的免费软件p g p ( p r e t t yg o o dp r i v a c y ) ;或者在 应用软件中加入插件,在打开文档时输入密码进行解密,在保存文档时把数据加密后再保 存,比如w o r d 、w i n r a r 等应用软件。 由于是在用户态编程,所以实现较为简单,使用灵活,可以与应用程序紧密结合。但 是对所保护的文件或数据的读写严重依赖此应用程序,不具有通用性。 2 ) 磁盘加密 一般情况下,操作系统也需要从磁盘设备上引导,所以很难使用单纯的软件对整个磁 盘进行加密保存,通常是使用硬件对磁盘进行加解密处理,或是将此功能直接集成到磁盘 设备中。例如希捷公司推出的全磁盘加密技术( f u l ld i s ke n c r y p t i o n ,f d e ) ,能自动对写入 硬盘的所有用户数据进行加密,并在读取时解密。支持该功能的固件还允许开启和关闭 f d e ,改变主密码和用户密码,或将密钥存储到另一个位置。f d e 独立于操作系统,对操 作系统透明。此外,部分指纹u 盘、加密u 盘,应用的也是此项技术。但在操作系统运行 时,磁盘上的文件数据对所有用户都是明文展示的,不能针对用户权限、文件的级别分别 处理。 3 )文件过滤驱动加密 在常用的操作系统中,操作系统允许在i o 管理器与各个文件系统之间插入一个文件 过滤驱动程序( f i l ef i l t e rd r i v e r ) ,这样这个文件过滤驱动程序在绑定到指定的文件系统对 象之后,就可拦截到通过此文件系统的对文件及高速缓存的打开、关闭、读取和写入等等 操作4 】【5 】。根据这个特性,就可以对指定的文件或文件夹进行加密、解密或是其他处理, 从而达到安全存储的目的。 文件过滤驱动同文件系统一样,是运行在操作系统的内核态,因此,在通过用户验证 后,可以完全做到对所有的应用程序透明调用、读写加密文件,不需要对原有的应用软件 作任何改动;但如果未通过用户验证,就可能读到一堆乱码、或是被禁止读取、或是干脆 不能查找到此文件。特别是当多个网络用户共享服务器上的文件资源时,只需在终端客户 机上安装此文件过滤驱动加密系统,就可以在客户机本地输入密码或密钥,进行身份认证, 通过后透明地执行、读写服务器上的文件。而骇客就算成功入侵服务器,也只能得到一堆 加密后的乱码。 但是由于它是内核念程序,也造成它的开发难度大、开发周期长。 2 南京i l i l l i b , 人学坝i j 研究生学位论文 第一章绪论 1 2 2 文件安全存储的应用现状 从目前企业和单位的现实应用来看,电子数据安全存取解决方法,主要的有逻辑加密 盘技术、电子文件保险箱、文件系统监视器【6 】【7 1 。 1 ) 逻辑加密盘技术 逻辑加密盘技术的基本思想是在操作系统上增加设备管理的内核服务,为用户提供用 于保存电子文档的虚拟盘。由于虚拟盘的电子文档均采用专门的技术进行加密,因此能够 较好地解决其安全性要求。 2 )电子文件保险箱 电子文件保险箱主要保证电子文档的存储安全,即采用一种信息交换和存储的电子文 档保险箱机制,相当于将电子文档存放在一个“保险箱”中。在这种机制中,采用对称密钥 算法对明文进行加密,提供机密性保护;采用数字签名技术,保证文件的完整性;并采用 身份认证技术,确认用户的合法身份。 3 )文件系统监视器 文件系统监视器主要是监视所有文件系统中活动的应用程序。其设计思想是在系统平 台的系统内核层实现一个虚拟驱动程序,该虚拟驱动程序通过相应的设备驱动程序实现对 文件的监视【8 1 。 以上三种方法是分别针对不同的安全需求提出来的,其主要针对外部人员,而不是内 部人员,采用的是主动加密的思想,即密钥的产生和加密过程由用户进行控制,也就是说, 用户能够随时使用自己所掌握的密钥解密数据【9 】。这对于那些关系到生存发展的机密电子 数据来说,这些安全防护还远远不够,不能很好的解决内部人员的非法泄密问题。 1 3 课题的研究意义和主要内容 1 3 1 课题研究的意义 本课题旨在通过对文件安全存储问题的研究,提出一种基于分离存储思想的文件安全 存储解决方案,并实现基于索引或其它方式的文件数据的分离存储原型系统。系统的实 现是要把数据加密、数据分离、数据动态网络存储等技术融合的一起,通过这种安全技 术融合的新模式,更好地解决文件数据的安全存取问题。 本课题的研究不仅能够解决针对外部人员的安全问题,而且还能解决内部人员的非法 泄密问题。因此,开展本课题的研究具有一定的理论意义和很好的应用前景。 3 南京邮l 匕人学烦。l j 研究生学位论文第一章绪论 1 3 2 课题研究的主要内容 课题研究的主要内容是通过对文件安全存储现状的研究和分析,提出一种新的基于分 离存储思想的文件安全存储方案;在所提方案的基础上展开系统的详细设计,包括系统的 安全性设计、系统的各个关键程序模块的设计,并论证和分析如此设计的依据和可行性; 把密码学中的密钥分解理论引入文件安全存储研究,设计并实现一种文件分割和恢复算 法;在完成系统的详细设计后,利用文件过滤驱动技术实现文件安全存储与恢复系统的原 型系统,并对系统实现过程中的关键技术和问题进行研究分析,最后对系统的安全性和性 能进行分析和论证。 1 4 本文的组织结构 全文共分为六章: 第一章为绪论,由当前文件安全存储的需求出发,通过研究分析当前本课题的研究和 应用现状,指出了各种方案优缺点,由此明确了开展本课题的研究意义,确定了课题的主 要研究内容和侧重点。 第二章是系统开发环境及相关技术的分析,根据课题的研究需要,对系统环境的系统 框架和主要机制进行了介绍与分析,对课题研究涉及到的文件系统和文件过滤驱动技术进 行了必要的理论和技术准备工作。 第三章为基于分离存储思想的系统设计,这是本文的核心章节之一。通过引入分离存 储这一新的思想,展开了系统的研究与设计:首先介绍了基于分离存储思想的文件存储系 统的原理架构,并论述了采用此架构设计的原因和依据;然后,根据系统的原理架构和模 块划分,对系统的安全性进行了详细的分类设计,对系统模块进行了功能划分与设计;在 本章的最后,通过把密码学中的密钥分解理论引入文件存储研究,设计实现了一种文件分 割与恢复算法,通过把该算法应用到本系统中,用软件的方法进一步加强了系统的安全性。 第四章是基于文件过滤驱动技术的系统实现,这是系统的实现章节。首先,介绍了系 统实现环境,明确了系统实现目标;然后对系统实现用到的安全算法进行了选择,并分析 了选用的依据和考虑;接着,详细论述了系统的三方通信架构巾的两方之间的协议实施, 详细介绍了系统运行时三方的协调工作过程:在最后,针对系统实现的几个难点问题和关 键技术进行了详细的研究分析,重点分析了文件过滤驱动程序设计。 第五章是系统的安全和性能分析。首先,结合系统设计,分别对系统的数据机密性、 数据完整性、认证和访问控制进行了安全性分析和论证;然后,针对实现的原型系统进行 了功能和性能测试,分析了测试结果,得出了系统安全和性能的分析结论。 4 南京l l l l l l l ! 人学颂i ;t o f y 生学位论文 第一章绪论 第六章是总结,这章主要对本课题的研究工作进行了全面的总结性评述。首先,介绍 了在课题研究中做的主要工作和作出的成绩;最后说明了课题研究中存在的问题和不足之 处,并指出了以后工作的方向。 1 5 本章小结 本章从当前文件存储的安全需求出发,分析了目前严峻的安全现状,针对课题的研究 现状和具体的应用情况,根据所采用技术的不同,进行了详细的分析比较。 由此,找出了各种方案的优点和不足之处,指出了目前针对内部人员的安全解决方案 的不足,从而引出了开展本课题研究的方向和意义,明确了本课题所要研究的主要内容和 重点。 南京邮i u 人学硕。l :研j e 生学位论文第二章系统开发运行列:境和相关披术分析 第二章系统开发运行环境和相关技术分析 本章主要是根据系统开发环境和选用的技术方案,通过对相关资料的整理,对系统开 发环境和选用的相关技术进行了详细阐述,为后面的系统设计和实现进行必要的理论分析 和技术准备。 文件系统属于操作系统内核组件,它们与操作系统其它组件密切联系。所以理解 w i n d o w s 系统各组件如何工作,尤其是w i n d o w se x e c u t i v e 各部分的工作原理,是开发文 件系统及内核模式驱动必备的理论基础。本章主要论述了w i n d o w s 操作系统系统组件构 成,重点分析了w i n d o w se x e c u t i v e 各组件的工作原理,然后介绍了文件系统、文件系统 驱动和过滤驱动。 2 1 系统框架分析 w i n d o w s 操作系统的设计借鉴了m a c h ( 著名的微核操作系统先驱,导致产生很多闻 名的操作系统:n x e t ,f l u x ) 操作系统的设计思想。包括努力缩小k e m e l ( 1 为核) 的尺寸,采 用客户r 务模型实现一些组件,使用消息在模块间传递信息。另外,实现了一种分层的操 作系统,使得每一个组成部分都可以通过定义好的接口与其他层软件进行交互。 w i n d o w s 2 0 0 0 x p 操作系统可以分为两个部分:用户模式和内核模式1 0 1 。 2 1 1 用户模式 操作系统使用受保护子系统,每一个子系统存在于自己的进程空间,虚拟内存管理器 向其提供内存保护。子系统向用户模式进程提供定义好的应用编程接口( a p i ) ,用户模式进 程可以用a p i 获得想要的服务。另一方面子系统可以利用定义好的系统服务调用和操作系 统的内核模式部分进行通信。对用户程序来说,为自己提供执行环境的子系统就是操作系 统的个性特征。用户模式进程可以在操作系统提供的安全的子系统上正常的运行,而不用 担心容量,编程接口及操作系统内核要求等问题。 w i n d o w s2 0 0 0 x p 操作系统提供以下一些子系统: 1 ) w i n 3 2 w i n d o w s 程序的本地执行环境,微软鼓励应用程序开发者使用w i n 3 2a p i 来获得操作 系统系统服务。w i n 3 2 子系统比其他子系统更有优先权,它是唯一负责管理同用户直接打 交道设备的( 显示器,键盘,鼠标) ,也是唯一的系统窗口管理器,并定义图形用户界面的 策略。 6 南京邮l 【1 人学硕i :t i t f 究生学位论义第二二章系统开发运行环境和相关技术分析 2 ) p o s i x p o s i x 代表了u n i x 类型的操作系统接口的国际标准集,它鼓励制造商实现兼容的 u n i x 风格接口,以使编程者能很容易地将他们的应用程序从一个系统移植到另一个系统。 提供基于p o s i x 1 源码标准的应用程序的运行环境,基于这种标准a p i 开发的应用程序, 理论上可以在w i n d o w s2 0 0 0 x p 平台上编译,连接及执行。但是由于p o s i x 1 只定义了一 组有限的服务,所以单独的p o s i x 子系统并不是一个完整的编程环境。 3 ) o s 2 支持i n t e lx 8 6 硬件平台上基于1 6 位o s 2 的应用程序。 4 ) n t d l l 。d l l n t d l l d l l 是一个特殊的系统支持库,主要用于子系统动态链接库。n t d l l d l l 包含两种类型的函数:执行体提供的系统服务调度占位程序;子系统,子系统动态链接库 以及其他本机映像使用的内部支持函数。其中第一组函数提供了可以从用户态调用的作为 w i n d o w s2 0 0 0 x p 执行体系统服务的接口。这些函数的大部分功能可以通过w i n 3 2a p i 访 问。对于这些函数中的每个函数,n t d l l 都包含一个有相同名称的入口点。在函数内的 代码含有体系结构专用的指令,它能够产生一个进入核心态的转换以调用系统服务调用程 序。在进行一些验证后,系统服务调用程序将调用包含在n t o s k r n l e x e 内的实代码的 实际核心态系统服务。n t d l l 也包含许多支持函数,例如映像加载程序,堆管理器和w i n 3 2 子系统进程通信函数以及通用运行时库例程。此外,它还包含用户态异步过程调用调度器 和异步调度器。 2 1 2内核模式 在内核模式还是用户模式执行代码的区别在于c p u 执行代码时的硬件优先级。大多数 c p u 体系提供至少2 种硬件优先级,很多还提供多种优先级。c p u 的硬件优先级决定了代 码可执行的指令级。例如,当执行在用户模式,进程将不能直接修改或者访问c p u 寄存器 和用于虚拟内存管理的页表。 w i n d o w sn t 使用种简单的硬件优先级模型,它只有两种优先级:内核模式( 允许代 码在处理器上做任何需要的事) ,用户模式( 进程被严格限制在允许的范围内) 。对应i n t e lx 8 6 体系结构集,内核模式相当于处理器在r i n g0 优先级执行,用户模式对应r i n g3 优先级。 作为第三方开发者,通常不能在c p u 处于内核模式优先级的情况下执行w i n d o w s 程序, 除非第三方开发者j 下在设计和开发w i n d o w s 内核模式驱动程序。 7 南京邮i u 人学硕i j 研究生学位论文第二章系统开发运行珂:境和相关技术分析 2 2 系统内核模块 2 2 1 系统内核的组成 w i n d o w s 内核模块由以下三部分组成: 1 )硬件描述层( h a l ) w i n d o w s 操作系统被设计成跨硬件平台的,事实上可以运行在i n t e lx 8 6 平台,d e c a l p h a 等平台上。另外,还支持多种外部总线标准,包括i s a 、e i s a 、v l b u s 、p c i 。w i n d o w s 开发者创造出h a l 来抽象不同的硬件设备。h a l 是一组相对瘦小的软件层接口,它直接 面对c p u 和其他系统硬件,负责向操作系统其他部分提供适当的功能。由h a l 描述的硬 件对操作系统其他内核部分来说是一个理想化的硬件。所有硬件结构的差异都被h a l 隐 藏在内部。操作系统内核组件及添加到操作系统的设备驱动可以调用h a l 提供的函数集。 h a l 提供的函数允许访问系统计时器、i o 总线、d m a 和中断控制器、设备寄存器等。 2 ) w i n d o w sk e m e l w i n d o w s 内核提供操作系统的基本函数供操作系统剩余部分使用。可以把内核想象成 负责提供构建块( b u i l d i n gb l o c k s ) 的模块,这种构建块随后被w i n d o w s 执行部分( w i n d o w s e x e c u t i v e ) 使用,这样w i n d o w s 执行部分就可以提供操作系统所有的强大功能。内核的具体 功能是提供进程和线程时序安排,通过s p i n 锁结构来支持多处理器异步处理,中断处理, 调度及其他功能。 3 )w i n d o w se x e c u t i v e w i n d o w se x e c u t i v e 部分是操作系统的最大组成部分。它使用内核和h a l 提供的服务, 因此它是高度独立予各种结构体系及硬件平台的。它向各种子系统提供了丰富的系统服务 集,并允许它们访问操作系统提供的服务。w i n d o w s 执行部分的主要组件包括对象管理器, 虚拟内存管理器,进程管理器,v o 管理器,安全参考监视器( m es e c u r i t yr e f e r e n c em o n i t o r ) , 特征管l - 里器( t h ec o n f i g u r a t i o nm a n a g e r ) ,缓存管理器( t h ec a c h em a n a g e o 。文件系统,设备 驱动和属于i o 子系统一部分的中间驱动也是w i n d o w s 执行的一部分。 2 2 2 系统内核的作用及分类 1 ) w i n d o w sk e r n e l 的作用 尽管和w i n d o w se x e c u t i v e 比较w i n d o w sk e r n e l 很小,但它是操作系统的心脏。它负 责提供以下功能: ( 1 ) 支持内核对象 ( 2 ) 调度线程 r 南京邮i u 人学颁i :l i ) f 究生学位论文第一二章系统开发运行环境和相关技术分析 ( 3 ) 多处理器同步 ( 4 ) 硬件异常处理 ( 5 ) 中断处理及调度 ( 6 ) 陷阱处理 ( 7 ) 其他硬件特性功能 2 ) 内核对象的分类 w i n d o w sk e r n e l 维护一种以对象为基础的环境。k e r n e l 定义了一个内核对象集并提供 访问和维护这些对象的函数,w i n d o w se x e c u t i v e 部分可以使用这些内核对象。w i n d o w s e x e c u t i v e 使用k e r n e l 提供的对象来构建更复杂的对象提供给用户模式进程使用。 内核对象分为两类 ( 1 ) 调度对象 这些对象控制同步和系统线程调度。调度对象包括:线程、事件、计时器、互锁和信 号对象类型。 ( 2 ) 控制对象 这些对象影响内核模式代码操作但不影响调度和同步,控制对象包括a p c 对象,d p c 对象,中断对象,进程对象和设备队列对象。 2 2 3系统内核的主要机制 1 ) 中断请求优先级 下面介绍一下3 种重要的内核模式代码的中断请求优先级 ( 1 ) p a s s i v e l e v e l 普通线程执行中断优先级。一个线程想要向大多数文件系统驱动请求服务必须执行在 i r q l _ p a s s i v e _ l e v e l ,相反,多数底层驱动,例如设备驱动可以在更高的优先级上被调 用。这个优先级是较低的优先级。 ( 2 ) a p c l e v e l 异步处理调用( a p c ) q h 断优先级。这个调用是由软件触发,并影响目标线程的控制流 程。a p c 指向的线程会被中断,创建a p c 时指定的程序会被执行在中断线程( 处于 a p c l e v e _ i r q l ) 的上下文中。 ( 3 ) d i s p a t c h l e v e l 线程调度和延时处理调用( d p c ) 中断优先级。如果线程的i r q l 被提升到d p c 或者更 高级,线程安排时序会被挂起。 9 南京邮i 乜人学硕i :t 0 d 生学位论义第二章系统开发运行王1 :境和相关技术分析 2 ) 陷阱机制 操作系统用陷阱机制来处理意外事件。当异常或中断发生时,硬件或软件可以检测到 它们,并捕获正在执行的线程,处理器会从用户念切换到核心态,并将控制权转交给操作 系统中相对固定的地址。在w i n d o w s2 0 0 0 x p 中,处理器将控制转交给内核的陷阱处理程 序。当陷阱处理程序被调用时,会在记录机器状态时暂时禁用中断,创建c a l lf r a m e 来保 存被中断的线程运行现场,c a l lf r a m e 有两个组成部分: ( 1 ) t r a pf r a m e :包含易失的寄存器状态。 ( 2 ) e x c e p t i o nf r a m e :当t r a p 发生时,非易失性寄存器状态也会被保存。 f r a m e 用于在合适的时候恢复线程的执行。陷阱处理程序本身可以处理一些事情,但 在大多数情况下,陷阱处理器判定发生的情况,然后将控制权交给相应的其它内核模块。 2 3w i n d o w se x e c u t i v e 组件分析 w i n d o w se x e c u t i v e 可清晰地分为几个模块或子系统,每个模块负责一些首要的功能。 通常说w i n d o w s 内核模式代码主要是指e x e c u t i v e 模块。e x e c u t i v e 为子系统访问它的服务 提供了丰富的系统服务调用( a p i ) ,另外,e x e c u t i v e 也为那些希望扩展现有功能的开发者 提供了广泛的支持。这些开发通常是第三方设备驱动,可安装文件系统驱动及提供附加服 务的中间和过滤驱动。 下面对w i n d o w se x e c u t i v e 的几个组件:对象管理器,进程管理器,虚拟内存管理器, 缓存管理器,i o 管理器,根据与本文的关联程度重点或简单介绍分析。 2 3 1对象管理器与进程管理器 1 ) 对象管理器 e x e c u t i v e 所有为其它内核模式模块输出数据类型的组件都使用对象管理器提供的服 务,包括定义、创建、管理这些数据类型及实例。 对象管理器管理对象。一个对象就是被定义的一个不透明的数据结构,由内核模式组 件来实现和管理。每个对象可能有一系列为它定义的方法,包括创建一个对象实例、删除 实例、等待对象信号态和向对象发信号等。 对象管理器有以下作用: ( 1 ) 动态地向系统添加一个新的对象类型。 ( 2 ) 允许模块向对象指定安全和保护参数。 ( 3 ) 提供创建和删除对象实例的方法。 ( 4 ) 允许模块为其自定义的对象类型提供自己的方法( 例如创建,关闭,删除) 来维护 1 0 南京邮i u 人学颂? i :研究生学位论文第二章系统开发运行环境和相关技术分析 对象类型的实例。 ( 5 ) 提供统一的方法来维护对象类型实例的引用。 ( 6 ) 提供基于通用的文件系统体系反向树的全局命名体系。 对象管理器维护一个全局命名空间。可以通过这个命名空间访问系统上所有命名对 象。对象命名空间效仿普通文件命名协议。因此,系统初始化时象管理器也建立一个全局 根目录“v ,e x e c u t i v e 组件可以在根目录下建立目录和子目录,之后就可以在这些目录下创 建对象类型实例。无论何时创建一个对象并插入到这些目录里,对象管理器都会从全局命 名空间的根目录开始解析对象名。如果这个对象类型有自己的解析方法,对象管理器会调 用这个解析方法。 对象管理器维护对象类型结构,包括诸如对象类型实例该分配的内存类型,该对象的 合法访问类型,该对象对应的方法指针( 建立、打开、关闭、删除等方法) ,以及为一个类 型所有实例维护的一些同步结构。 2 ) 进程管理器 该组件负责进程和线程的创建和删除。它利用w i n d o w sk e r n e l 提供的服务来完成诸如 挂起一个执行程序,恢复进程的执行,提供进程相关信息等任务。 2 3 2 虚拟内存管理器 v m m 管理本地系统的全部可用物理内存。负责向操作系统其余部分( 包括应用程序) 提供虚拟内存管理功能。几乎所有内核模式和用户模式模块都必须和v m m 打交道。大多 数模块都是v m m 的客户,因此需要依靠v m m 提供内存管理服务。但是,文件系统很特 殊,它们经常向v m m 提供服务( 例如读写页面文件) 。 2 3 3 缓存管理器 缓存管理器负责对文件数据向二级存储媒介( 例如硬盘) 的存储提供虚拟块缓存功能。 缓存管理器使用v m m 的服务来完成缓存功能。所有本地文件系统执行都使用缓存管理器 提供的服务。 1 )缓存管理器的作用: ( 1 ) 为二级存储上的数据提供系统范围的缓存服务。它与文件系统驱动,v m m 和i 0 管理器一起合作完成这些任务。 ( 2 ) 提供预读服务。它为每个访问数据的应用程序提供预读服务。所有对缓存文件访 问的请求都要通过缓存管理器,所以缓存管理器可以明白访问数据的访问方式。 ( 3 ) 为修改缓存数据提供延迟写功能。i 0 管理器会在数据被实际写入硬盘前将修改 1 1 南京邮l 【1 人学硕:i :研究生学位论文第二章系统开发运行环境和相关技术分忻 后的数据保存在内存罩一段时问。 2 )读写操作中的缓存 w i n d o w s 系统允许用户在打开文件时指定是否需要缓存服务,那些没有定 i r pn o c a t c h 标志的文件会将它们的数据缓存到系统内存中。缓存管理器使用文件映射 来缓冲文件数据。对于一个文件流的缓存开始于某个文件系统驱动向缓存管理器发出一个 缓冲请求,当收到这种请求时,缓冲管理器调用v m m 创建一个s e c t i o n 对象来代表这个文 件映射。然后,当有进程试图访问属于该文件流的数据时,缓冲管理器动态地将文件流映 射到属于缓存管理器的保留虚拟地址空间中去。下面是系统执行读请求的步骤,如下图2 1 所示。 i o 管理器 ( 2 ) 请求 发往 文件 系统 驱动 ( 8 )。l虚拟内存管理器 。掣甲擘 文件系统驱动 ( 9 ) i 土 请求传给 设备驱动 盟 从设符驱动 得到数据 繁糍4 卜用户内存i 缓存管理器 旦 末映射,创 建映射视图 图2 - i 系统执行读请求的步骤 用户应用程序执行读操作,控制权被传到i o 管理器,接着执行以下步骤: ( 1 ) 用户模式下的应用程序发出i o 请求到i o 管理器 ( 2 ) i 0 管理器把该请求用i r p 的方式发到相应的文件系统驱动中。 ( 3 ) 文件系统驱动接收到该读请求并注意到目标文件已经打开。如果该文件还未被缓 1 2 一一一一 一一芋 南京邮l u 人学硕:i :研究生学位论文第二章系统开发运行环境和相关技术分析 存,文件系统会调用缓存管理器缓冲该文件。同样,缓存管理器会请求v m m 为 缓冲该文件创建一个文件映射视l 羽( s e c t i o n 对象) 。 ( 4 ) 文件系统驱动用c c c o p y r e a d 0 把读请求传递给缓冲管理器。缓冲管理器现在负责 把数据传递给用户。 ( 5 ) 缓存管理器检查数据结构,是否有对用户请求的字节范围的映射,如果没有,缓 存管理器将创建一个。 ( 6 ) 缓冲管理器仅仅完成一个从映射视图到用户内存的拷贝工作。 ( 7 ) 如果该映射没有包含所需数据的物理内存页支持,将产生一个错误,控制权交给 v m m 。 ( 8 )由于发生页错误,v m m 通过i o 管理器发出一个非缓冲的分页i o 请求。 ( 9 ) 对于收到这个非缓冲读请求,文件系统驱动创建一个相应的i o 请求从二级缓存 获得数据并把这个i o 请求发到下层驱动。 ( 1 0 ) 下层驱动从二级存储或者网络获得数据来完成请求。 ( 1 1 ) 文件系统驱动从v m m 完成这个分页i o 请求。 ( 12 ) 导致页错误的指令被重新执行。 ( 1 3 ) 缓冲管理器完成从映射到用户内存的拷贝。这次拷贝不会发生页错误。 ( 1 4 ) 缓冲管理器返回控制权给文件系统驱动。 ( 1 5 ) 文件系统驱动完成原始i r p 请求。 ( 1 6 ) i o 管理器完成原始用户请求。 写操作和读类似。 2 3 4i o 管理器 i o 管理器定义和管理一个所有内核模式驱动( 包括文件系统,网络,磁盘,中间和过 滤驱动) 都能存在的框架。 1 ) i o 管理器的作用: ( 1 ) i o 管理器定义和支持一个允许操作系统使用系统上外围设备的框架。 ( 2 ) i o 管理器提供丰富的系统服务末满足各种子系统实际完成i o 请求的需要( 也包 括向其它内核模式驱动请求服务的请求) 。 ( 3 ) i o 管理器定义了一种单一输入输出模型,系统上的所有驱动都必须遵守。 ( 4 ) i o 管理器向可安装文件系统提供支持。 ( 5 ) i o 管理器支持动态安装内核模式驱动。 南京邮i u 人学硕一i j 研究生学位论文 第一二章系统开发运行纠:境和相关技术分析 ( 6 ) i o 管理器提供设备无关的服务,这些服务被操作系统其它部分及第三方提供商 开发的内核模式驱动使用。 ( 7 ) i o 管理器与缓存管理器互相作用来提供对文件数据的虚拟块缓存。 ( 8 ) i o 管理器与虚拟内存管理器、文件系统相互作用来支持内存映射文件。 2 ) i o 管理器工作特点 ( 1 ) 包驱动 i o 子系统所有的输入输出请求都是以数据包的形式发出的,称作i o 请求包( i r p ) 。 通常是由i o 管理器应用户请求建立i r p ,并把它发向目标内核驱动。 ( 2 ) 对象模型 i o 管理器遵守对象管理器定义和实现的对象模型。例如,文件对象有一个与自己相 联系的名字来表明它所代表的在磁盘上的文件。 ( 3 ) 分层驱动 i o 管理器支持分层的内核模式驱动。每个在这个分层系统罩的驱动都接受i r p ,处理 完后调用下一层的驱动。底层驱动是最接近实际硬件的设备,只有最底层的驱动才是实际 直接和硬件设备打交道的程序。 ( 4 ) 异步i o i o 管理器支持异步i o 处理,允许一个线程发出一个i o 请求后继续处理其他任务。 ( 5 ) 抢先和中断 i o 子系统是可以抢先和中断的。每个执行在内核模式下的线程都有系统定义的中断 请求等级( i r q l ) ,每个i r q l 都有一个系统分配的中断向量,w i n d o w s 共有3 2 种i r q l 。 ( 6 ) 模块化 i o 子系统是模块化的。i o 子系统罩的任何驱动都能很容易的被其它提供相同例程入 口的驱动代替。 ( 7 ) 可配置的 所有i o 子系统都是可配置的。在系统启动时i o 管理器和h a l 一起工作来决定连接 到系统上的外围设备集,随后,i o 管理器初始化适当的数据结构来维护这些设备,这个 过程避免使用任何固定代码来配置设备。维护设备使用内核模式驱动,每个驱动可动态安 装和卸载。 1 4 南京邮l u 人学顺_ i :研究生学位论文第二章系统开发运行环境和相关技术分析 2 4 文件系统驱动与过滤驱动 2 4 1 文件系统驱动 1 ) 文件系统驱动的定义和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省达州市东辰国际学校2026届英语九上期末综合测试试题含解析
- 综合部年终总结2025
- 西藏日喀则市南木林一中学2026届英语九年级第一学期期末监测模拟试题含解析
- 2026届濮阳市重点中学英语九上期末检测模拟试题含解析
- 2026届辽宁大连甘井子区育文中学化学九年级第一学期期中检测试题含解析
- 2026届江苏省南京市江宁区南京市临江高级中学一模生物试题
- 医师资格考试题库及答案
- 福建省福州福清市2026届化学九年级第一学期期中学业质量监测试题含解析
- 内蒙古自治区鄂尔多斯市东胜区第二中学2026届化学九上期中考试模拟试题含解析
- 2026届辽宁省抚顺市五十中学九年级化学第一学期期末达标检测试题含解析
- (一检)泉州市2026届高三高中毕业班质量监测(一)数学试卷(含标准答案)
- 2025年福建省榕圣建设发展有限公司项目招聘12人笔试参考题库附带答案详解
- 一年级上册语文晨读课件
- 2025-2030数据安全合规审计服务市场爆发及等保测评机构并购价值评估
- 苹果栽培学完整版课件
- 湿性愈合和新型敷料选择课件
- 软件生命周期与开发模型课件
- 实验动物从业人员上岗证考试题库(含近年真题、典型题)
- 印制电路板(PCB)的设计与制作课件
- 数据安全事件应急预案
- 祁县昌源河湿地公园工程建设可研报告(1800万元)
评论
0/150
提交评论