c2_Windows 2000XP的体系结构PPT课件_第1页
c2_Windows 2000XP的体系结构PPT课件_第2页
c2_Windows 2000XP的体系结构PPT课件_第3页
c2_Windows 2000XP的体系结构PPT课件_第4页
c2_Windows 2000XP的体系结构PPT课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

精选,1,Windows2000/XP的体系结构,西北工业大学计算机学院周兴社谷建华张凯龙,精选,2,本章要点,操作系统的设计目标操作系统的设计阶段几种常见的操作系统体系结构范型Windows2000/XP的操作系统模型Windows2000/XP的体系结构Windows2000/XP的重要组成部分Windows2000/XP的系统机制Windows2000/XP注册表、服务控制与管理机制,精选,3,操作系统的设计问题,操作系统设计有着不同于一般应用系统设计的特征复杂程度高研制周期长正确性难以保证解决途径良好的操作系统结构先进的开发方法和工程化的管理方法高效的开发工具,精选,4,操作系统的设计目标,可靠性:正确性和健壮性,主要指并发、共享及其引起的不确定性高效性:提高系统的运行效率易维护性:易读、易扩充、易剪裁、易修改性易移植性:一次开发,多处使用安全性:计算机软件系统安全性的基础可适应性简明性,精选,5,Windows2000/XP的设计目标,总原则:市场需求驱动设计目标需求:提供一个真32位抢占式可重入的虚拟内存操作系统能够在多种硬件体系结构和平台上运行能够在对称多处理系统上运行并具有良好的可伸缩性优秀的分布式计算平台,既可作为网络客户,又可作为网络服务器可运行多数现有16位MS-DOS和MicrosoftWindows3.1应用程序符合对POSLX1003.1的要求符合政府和企业对操作系统安全性的要求支持Unicode,适应全球市场的需要,精选,6,Windows2000/XP的设计目标:可扩充性可移植性可靠性及坚固性兼容性性能,精选,7,操作系统的设计考虑,功能设计:操作系统应具备哪些功能算法设计:选择和设计满足系统功能的算法和策略,并分析和估算其效能结构设计:选择合适的操作系统结构,精选,8,操作系统结构设计,按照系统的功能和特性要求,选择合适的结构,使用相应的结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简单、可靠、易读、易修改,而且使用方便,适应性强,精选,9,操作系统体系结构问题,程序结构程序结构的两层含义:整体结构、局部结构程序的结构良好的准则软件结构操作系统体系结构大型软件,模块划分、接口定义复杂并发性,接口复杂、信息交换频繁计算机体系结构日益复杂,应用扩大、使用要求提高使得操作系统体系结构日趋复杂,精选,10,几种常见的操作系统结构,模块组合结构模块组合结构的特点与适应性模块间转接随便数据基本上作为全程量处理常常关中断,系统的并发性难以提高,精选,11,层次结构层次结构设计方法的核心思想例如E.W.Dijkstra的THE系统:,精选,12,分层原则与硬件相关的最底层计算机具有多操作方式多操作方式共有的基本部分放在内层,具体操作方式相关的方在外层;OS基于进程的概念,内核放在内层;内层中又分多层,公用功能在最内层。,精选,13,层次结构的特点分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系具有更高的可读性和可适应性层次结构是单向依赖的,上层模块建立在下层基础上,设计了比较可靠的基础很容易增加或替换掉一层而不影响其它层次便于修改、扩充,精选,14,层次结构的层间关系,全序:同层模块不互相调用,各层简单向半序:有循环,精选,15,进程分层结构实现代价较大:必须设立一个进程控制块,用以保留进程的状态信息,增加了内存开销进程之间的控制转移、状态保留及信息传送,均由核心去管理,时间消耗多,效率下降系统并发活动过多,调度负担过重,且同步操作过于分散,易于造成死锁,影响了系统的安全性,层次结构的两种类型,精选,16,层次管程结构进程:并发单位类程:专用资源的抽象管程:共享资源的抽象一个动态的系统由内核和一组有限个满足规定调用关系的进程P、类程C和管程M构成。其中进程是系统中唯一能动的成份,管程和类程都是被动成份,精选,17,优点采用层次管程结构的系统结构清晰、统一同步操作相对集中,系统安全性较高用高级语言书写程序,研制周期短,通过编译技术获取更高的灵活性和效率只用一种概念描述并发,减少了不必要的并行性,减少了系统开销。缺点:管程嵌套问题比较难于高效的解决不便于管理多个资源和全局性资源,精选,18,虚拟机结构,如IBM大型机上的系列操作系统基本思想:系统应该提供多道程序能力及一个比裸机有更方便扩展界面的计算机。但二者的实现应相互独立特点虚拟机概念可以实现完全保护用软件从硬件逐层扩展虚拟机方法把多道程序和扩展机器的功能完全分开,使每一部分都简单、灵活,更易于维护。,精选,19,CMS:会话监控系统,精选,20,微内核(客户/服务器结构),CMU的Mach、早期的WindowsNT非常适宜于应用在网络环境下,应用于分布式处理的计算环境中由下面两大部分组成运行在核心态的“微”内核用户态,以C/S模式运行的若干进程,通过内核进行通信主要特点机制(内核)与策略(服务进程)分离比较彻底可靠灵活适合分布式计算的需求缺点:效率较低,精选,21,其它体系结构,外展式核心(Exokernels)这种观点认为操作系统应该只负责在竞争的用户之间安全、有效的分配计算资源传统操作系统的绝大部分功能应该在系统库中以可选的方式链接进用户程序可扩展系统可扩展系统认为应该将尽可能多的模块以一种受保护的方式放进核心当中。操作系统的构造者可以先构造从一个只包含稍微多于核心保护机制的一个最小核心。而其它的功能则通过不断的往核心中添加受保护的模块实现。,精选,22,2.2Windows2000/XP系统模型,融合了分层操作系统和微内核操作系统的设计思想,使用面向对象的分析与设计,采用整体式的实现Windows2000/XP通过硬件机制实现了核心态以及用户态两个特权级别。对性能影响很大的操作系统组件运行在核心态。核心内没有保护。Windows2000/XP的核心态组件使用了面向对象设计原则出于可移植性以及效率因素的考虑,大部分代码使用了基于C语言的对象实现。Windows2000/XP的很多系统服务运行在核心态,这使得Windows2000/XP更加高效,而且也是相当稳定的。,Windows2000/XP的构成,精选,24,用户态组件系统支持进程(systemsupportprocess),不是Windows2000/XP服务,不由服务控制器启动。服务进程(serviceprocess),Windows2000/XP的服务。环境子系统(enviromentsubsystems),它们向应用程序提供操作系统功能调用接口包括:Win32、POSIX和OS/21.2。应用程序(userapplications),五种类型:Win32、Windows3.1、MS-DOS、POSIX或OS/21.2。子系统动态链接库:调用层转换和映射,精选,25,核心态组件核心(kernel)包含了最低级的操作系统功能,例如线程调度、中断和异常调度、多处理器同步等。同时它也提供了执行体(Executive)用来实现高级结构的一组例程和基本对象。执行体包含基本的操作系统服务,例如内存管理器、进程和线程管理、安全控制、I/O以及进程间的通信。硬件抽象层(HAL,HardwareAbstractionLayer)将内核、设备驱动程序以及执行体同硬件分隔开来,实现硬件映射。设备驱动程序(DeviceDrivers)包括文件系统和硬件设备驱动程序等,其中硬件设备驱动程序将用户的I/O函数调用转换为对特定硬件设备的I/O请求。图形引擎包含了实现图形用户界面(GUI,GraphicalUserInterface)的基本函数。,精选,26,可移植性的获得,两种方法分层的设计依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的两个关键组件是HAL和内核。依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机而异的功能在HAL中实现。Windows2000/XP大量使用高级语言执行体、设备驱动程序等用C语言编写,图形用户界面用C+编写。只有那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。,精选,27,对称多处理器支持,代码对多处理器的可伸缩性好完善的IPC和锁机制解决资源竞争问题核心态组件代码可重入程度极高多优先级抢占式调度(利用系统陷阱调度),多数核心态组件代码都可以被抢占由NTOSKRNL.EXE屏蔽SMP硬件设置,绝大多数组件不可见、也无需关心,。,精选,28,2.3Windows2000/XP的构成,P43图2-5windows2000/xp体系结构,内核内核对象硬件支持硬件抽象层执行体驱动程序环境子系统与动态链接库Win32PosixOs/2Ntdll.dll系统支持进程,精选,29,内核,功能线程安排和调度陷阱处理和异常调度中断处理和调度多处理器同步供执行体使用的基本内核对象始终运行在核心态,代码精简,可移植性好。除了中断服务例程(ISR,interruptserviceroutine),正在运行的线程不能抢先内核。,精选,30,内核对象帮助控制、处理并支持执行体对象的操作,以降低系统策略代价控制对象,这个对象集和包括内核进程对象、异步过程调用(APC,asynchronousprocedurecall)对象、延迟过程调用(DPC,deferredprocedurecall)对象和几个由I/O系统使用的对象,例如中断对象。调度程序对象集合负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器,精选,31,内核与硬件使得执行体和设备驱动程序同硬件无关实现手段:一组在多个体系结构上可移植、同语义的接口内核也有部分代码不具有移植性支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序高速缓存管理描述表切换,精选,32,硬件抽象层(HAL),实际硬件与Windows2000/XP抽象计算机描述的接口层和功能映射层隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等实现多种硬件平台上的可移植性,精选,33,执行体,提供的功能性调用从用户态导出并且可以调用的函数。这些函数的接口在NTDLL.DLL中。通过Win32API或一些其他的环境子系统可以对它们进行访问。从用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用。在Windows2000DDK中已经导出并且文档化的核心态调用的函数。在核心态组件中调用但没有文档化的函数。例如在执行体内部使用的内部支持例程。组件内部的函数。,精选,34,包含的功能实体进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows2000内核中实现,而执行体给这些低级对象添加附加语义和功能。虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。I/O系统执行独立于设备的输入/输出,并为进一步处理调用适当的设备驱动程序。高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。,精选,35,对象管理:创建、管理以及删除Windows2000/XP的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。本地过程调用(LPC,LocalProcedureCall)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“远程过程调用”(RPC,RemoteProcedureCall)版本。一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。,精选,36,设备驱动程序,可加载的核心态模块I/O系统和相关硬件之间的接口使用WDM以及加强的WDM方式分类硬件设备驱动程序操作硬件。文件系统驱动程序接受面向文件的I/O请求,并把它们转化为对特殊设备的I/O请求。过滤器驱动程序截取I/O并在传递I/O到下一层之前执行某些特定处理。,精选,37,环境子系统,将基本的执行体系统服务的某些子集以特定的形态展示给应用程序,函数调用不能在不同子系统之间混用,因此每一个可执行的映像都受限于唯一的子系统三种环境子系统:POSIX、OS/2和Win32(OS/2只能用于x86系统)Win32子系统必须始终处于运行状态,其他两个子系统只是在需要时才被启动,Win32子系统是Windows2000/XP运行的基本条件之一。,精选,38,Win32子系统Win32环境子系统进程CSRSS,包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持16位DOS虚拟机(VDM)进程的部分。核心态设备驱动程序(WIN32K.SYS)。图形设备接口(GDI,GraphicsDeviceInterfaces)子系统动态链接库,它调用NTOSKRNL.EXE和WIN32.SYS将文档化的Win32API函数转化为适当的非文档化的核心系统服务。图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。其他混杂的函数,如几种自然语言支持函数。,精选,39,POSIX子系统设计的强迫性目标实现了POSIX.1,功能局限,用处不大WindowsXP实际上并不包含POSIX子系统今后产品的POSIX/UNIX子系统将大大加强,P49图2-7interix的体系结构,精选,40,NTDLL,主要用于子系统动态链接库的特殊系统支持库功能提供系统调用入口为子系统、子系统动态链接库、及其他本机映像提供内部支持函数NTDLL也包含许多支持函数,例如映像加载程序、堆管理器和Win32子系统进程通信函数以及通用运行库。用户态异步过程调用(APC)调度器和异常调度器。,精选,41,系统支持进程,Idle进程系统进程会话管理器SMSSWin32子系统CSRSS登录进程WINLOGIN本地安全身份验证服务器LSASS服务控制器SERVICES及其相关的服务进程,精选,42,Windows2000/XP的系统机制,陷阱调度,包括中断、延迟过程调用(DPC,DeferredProcedureCall)、异步过程调用(APC,AsynchronousProcedureCall)、异常调度(ExceptionDispatching)和系统服务调度(SystemServiceDispatching)执行体对象管理器(ExecutiveObjectManager)同步(Synchronization),包括自旋锁(Spinlock)、内核调度程序对象(KernelDispatcherObjects)本地过程调用(LPC,LocalProcedureCall),精选,43,陷阱调度,当异常或中断发生时,硬件或软件可以检测到,处理器会从用户态切换到核心态,并将控制转交给内核的陷阱处理程序,该模块检测异常和中断的类型,并将控制交给处理相应情况的代码,精选,44,异常和中断中断是异步事件,可能随时发生,与处理器正在执行的内容无关。中断主要由I/O设备、处理器时钟或定时器产生,可以被启用或禁用异常是同步事件,它是某一特定指令执行的结果。在相同条件下,异常可以重现。例如内存访问错误、调试指令以及被零除。系统服务调用也视作异常。软件和硬件都可以产生异常和中断。陷阱帧:完整的线程描述表的子集,用于现场保护陷阱处理程序处理少量事件,多数转交给其他的内核或执行体模块处理,精选,45,中断调度,中断分类和优先级中断请求级别(IRQL,InterruptRequestLevel)硬件中断软件中断APC异步过程调用DPC延迟过程调用,P53图2-9中断请求级别,精选,46,硬件中断处理过程保存计算机的状态禁用中断调用中断调度程序提高处理器的IRQL到中断源的级别重新启用中断在中断分配表中查找处理特定中断的例程服务例程执行降低处理器的IRQL到该中断发生前的级别加载保存的机器状态中断返回,精选,47,软件中断的处理延迟过程调用,P56图2-10延迟过程调用的提交,精选,48,异步过程调用apc异步过程调用为用户程序和系统代码提供了一种在特殊用户线程的描述表(一个特殊的进程地址空间)中执行代码的方法有用户态APC和核心态APC,精选,49,异常调度,异常直接由运行程序的执行所产生。除了那些可由陷阱处理程序解决的简单异常外,所有异常都是由异常调度程序接管结构化异常处理基于框架的异常处理程序异常调度过程,P59图2-11异常调度,精选,50,系统服务调度,在Alpha处理器上执行syscall指令或在Intelx86处理器上执行int2E指令都会引起系统服务调度系统服务调度程序将依次作下面几件事:校验参数调用者的参数从线程的用户堆栈复制到它的核心堆栈中执行系统服务,P60图2-12系统服务调度,精选,51,精选,52,对象管理器,执行体组件之一用于创建、删除、保护和跟踪对象提供使用系统范围内资源使用的公共、一致的机制实现对象的集中保护实现了资源的访问控制对象管理器有一套对象命名方案和统一的保留规则,能够容易地操纵现有对象,精选,53,执行体对象由执行体的各种组件实现进程管理器、内存管理器、I/O子系统等内核对象由内核实现的原始的对象集合这些对象对用户态代码是不可见的,它们仅在执行体内创建和使用内核对象提供了一些基本性能,许多执行体对象内包含着一个或多个内核对象。,精选,54,对象命名对象头:存储对象管理信息和描述信息类型对象:保存特定对象类型的类型信息对象的生存周期对象方法对象句柄对象安全配额和资源记帐,精选,55,同步机制,内核同步内核的临界区是修改共用数据结构的代码段最大问题是中断自旋锁,精选,56,执行体同步自旋锁使用的限制被保护的资源必须被快速访问,并且没有与其他代码的复杂的交互作用。临界区代码不能换出内存,不能引用可分页数据,不能调用外部程序(包括系统服务),不能生成中断或异常情况。调度程序对象,精选,57,本地过程调用,一个用于高速信息传输的进程间通信机制(使用共享内存)LPC常常被使用在一个服务器进程与该服务器的一个或多个客户进程之间,以及在两个用户态进程之间或一个核心态组件和一个用户态进程之间常被视作经过高度优化的RPC的本地版本,精选,58,LPC的三种交换信息的方法:使用包含信息的缓冲区调用LPC可以发送少于256字节的信息。然后,这个信息又从发送进程的地址空间复制到系统地址空间,再从那里拷贝到接收进程的地址空间。如果用户和服务器想交换大于256字节的数据,那么他们可以选择使用双方都映射了的共享区。发送方将信息数据放到共享区,然后向接收方发送一小段信息表明在共享区的什么地方可以找到数据。当服务器想读或写大量数据,而共享区又太小时,数据可以直接从客户地址空间读出或向客户地址空间写入。,精

温馨提示

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

评论

0/150

提交评论