欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Windows操纵系统-体系结构.ppt

    • 资源ID:3686699       资源大小:919.02KB        全文页数:47页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Windows操纵系统-体系结构.ppt

    1,第二章 Windows操作系统 的体系结构(上),操作系统结构设计 Windows操作系统设计模型 Windows的体系结构,2,操作系统结构设计,操作系统设计有着不同于一般应用系统设计的特征: 复杂程度高 研制周期长 正确性难以保证 解决途径: 良好的操作系统结构 先进的开发方法和工程化的管理方法 高效的开发工具,操作系统结构设计,3,操作系统的设计目标,可靠性:正确性和健壮性 高效性:提高系统的运行效率 易维护性:易读、易扩充、易剪裁、易修改性 易移植性:一次开发,多处使用 安全性:计算机软件系统安全性的基础 可适应性 简明性,操作系统结构设计,4,Windows的设计目标,总原则:市场需求 驱动 设计目标 需求: 提供一个真32位抢占式可重入的虚拟内存操作系统 能够在多种硬件体系结构和平台上运行 能够在对称多处理系统上运行并具有良好的可伸缩性 优秀的分布式计算平台,既可作为网络客户,又可作为网络服务器 可运行多数现有16位MS-DOS和Microsoft Windows 3.1 应用程序 符合政府对符合POSLX 1003.1的要求 符合政府和企业对操作系统安全性的要求 支持Unicode,适应全球市场的需要,操作系统结构设计,5,可扩充性当市场需求变化时,代码必须易于扩充改动 可移植性系统必须能够在多种硬件体系结构中运行和相对简单地移入新的体系结构 可靠性及健壮性系统能防止内部故障及外部侵扰造成的损害,应用程序不应该损害操作系统及正在运行的其他应用程序 兼容性用户界面和API应与已有的Windows 版本兼容 性能系统应该在每一种硬件平台上尽可能快地响应,Windows的设计目标,操作系统结构设计,6,操作系统的设计阶段,功能设计:操作系统应具备哪些功能 算法设计:选择和设计满足系统功能的算法和策略,并分析和估算其效能 结构设计:选择合适的操作系统结构 按照系统的功能和特性要求,选择合适的结构,使用相应的结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简单、可靠、易读、易修改,而且使用方便,适应性强,操作系统结构设计,7,操作系统结构,操作系统结构设计,操作系统是一种大型软件, 为了研制操作系统,必须分析它的体系结构-也就是要弄清楚如何把这一大型软件划分成若干较小的模块以及这些模块间有着怎样的接口。,模块组合结构 层次结构 虚拟机结构 微内核结构,8,几种常见的操作系统结构,模块组合结构 根据功能划分系统中的模块 优点 结构紧密,接口简单直接,系统效率高,操作系统结构设计,9,模块组合结构 缺点 模块间转接随便 数据基本上作为全程量处理 常常关中断,系统的并发性难以提高,操作系统结构设计,几种常见的操作系统结构,10,层次结构 把操作系统的所有功能模块按功能的调用次序,分别排列成若干层,各层之间的模块只能是单向依赖或单向调用的关系 E.W.Dijkstra的THE系统:,操作系统结构设计,几种常见的操作系统结构,11,层次结构的特点 分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系 具有更高的可读性和可适应性 层次结构是单向依赖的,上层模块建立在下层基础上 很容易增加或替换掉一层而不影响其它层次 便于修改、扩充,操作系统结构设计,几种常见的操作系统结构,12,层次结构的层间关系,全序 半序,操作系统结构设计,几种常见的操作系统结构,13,分层原则 为了增加操作系统的可适应性,并且便于将操作系统移植到其它机器上,必须把与机器特点紧密相关的软件,如中断处理,输入输出管理等放在紧靠硬件的最低层。 为了便于操作系统从一种操作方式转 变到另一种操作方式,通常把多种操作方式共同使用的基本部分放在内层,而把随着这些操作方式而改变的部分放在外层。 为了给进程的活动提供必要的环境和条件,因此必须要有一部分软件系统调用的各功能,来为进程提供服务,通常这些功能模块(各系统调用功能)构成操作系统内核,放在系统的内层。,操作系统结构设计,几种常见的操作系统结构,14,操作系统结构设计,虚拟机结构,系统的核心 -虚拟机监控程序(VM),VM/370在裸机上运行并且具 备了多道程序功能。该系统 向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的裸机硬件, 包含:核心态用户态,IO功能,中断,及其它真实硬件所具有的全部内容。,几种常见的操作系统结构,15,操作系统结构设计,虚拟机结构,由于每台虚拟机都与裸机相同,所以每台虚拟机可以运行一台裸机所能够运行的任何类型操作系统。,会话监控系统(CMS) 程序在执行系统调用时,它的系统调用陷入其虚拟机中的操作系统。然后CMS发出硬件IO指令,在虚拟机者执行为该系统调用所需的其它操作。这些IO指令被VM370捕获,作为对真实硬件模拟的一部分,VM370随后就执行这些指令。,几种常见的操作系统结构,16,微内核结构,CMU的Mach、早期的Windows NT 非常适宜于应用在网络环境下,应用于分布式处理的计算环境中 由两大部分组成 : “微”内核 服务进程,操作系统结构设计,几种常见的操作系统结构,17,微内核 运行在核心态的内核提供所有操作系统基本都具有的那些操作,包括线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。这些部分通常采用层次结构并且只提供了一个很小的功能集合,通常称为微内核。,微内核结构,操作系统结构设计,服务进程 运行在用户态的并以客户/服务器方式运行的进程。操作系统所有的其它部分被分成若干个相对独立的服务进程,提供各种系统功能、文件系统服务以及网络服务等。客户进程与服务器进程之间使用消息进行通信。,几种常见的操作系统结构,18,主要优点 机制与策略分离 机制(mechanism)-任务在系统中完成的方法 策略(policy)-决定应该执行哪个任务,何时执行等等 可靠 灵活 适合分布式计算的需求 缺点 效率较低,微内核结构,操作系统结构设计,几种常见的操作系统结构,19,Windows操作系统设计模型,融合了分层操作系统和微内核操作系统的设计思想 Windows通过硬件机制实现了核心态以及用户态两个特权级别。对性能影响很大的操作系统组件运行在核心态。核心内没有保护。 设计充分体现了机制与策略分离的思想,20,Windows的核心态组件使用了面向对象的设计原则 出于可移植性以及效率因素的考虑,大部分代码使用了基于C语言的对象实现。 Windows的很多系统服务运行在核心态,这使得Windows更加高效,而且也是相当稳定的。,Windows操作系统设计模型,Windows操作系统设计模型,21,可移植性的获得,两种手段 分层的设计。依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的两个关键组件是HAL和内核。依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机而异的功能在HAL中实现。 Windows大量使用高级语言执行体、设备驱动程序等用C语言编写,图形用户界面用C+编写。只有那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。,Windows操作系统设计模型,Windows操作系统设计模型,22,对称多处理支持,非对称多处理(Asymmetric Multiprocessing, ASMP):又称主从模式(Master-slave mode)。 主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务; 从处理器:可有多个,执行应用程序或I/O处理。 特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是非对称的)。 对称多处理(Symmetric Multiprocessing, SMP): 操作系统交替在各个处理器上执行。任务负载较为平均,性能调节容易傻瓜式,Windows操作系统设计模型,Windows操作系统设计模型,23,对称多处理支持,Windows操作系统设计模型,Windows操作系统设计模型,24,Windows操作系统设计模型,对称多处理支持,Windows操作系统设计模型,Windows是一个支持SMP的操作系统,操作系统本身和用户线程可以在任何处理器上运行不存在主处理器 不同版本支持的处理器数目不同: Professional2 Server4 Advanced Server8 Datacenter Server32,25,Windows的体系结构,系统支持 进程,服务进程,用户程序,环境子系统,子系统动态链接库,执行体,内核,设备驱动程序,硬件抽象层(HAL),窗口与图形,26,硬件抽象层(HAL),HAL=Hardware Abstraction Layer HAL是一个核心态模块(HAL.DLL),它为运行Windows的硬件平台提供低级接口。,HAL隐藏各种与硬件有关的细节,例如I/O接口、中断控制器以及多处理器通信机制等 实现多种硬件平台上的可移植性,Windows操作系统体系结构,27,硬件抽象层(HAL),在Windows发行介质上有许多HAL: Hal.dll标准PC Halsmp.dll多处理器PC Halsp.dllCompaq SystemPro 安装时根据硬件平台选择的模块复制到系统中,并改名为Hal.dll,Windows操作系统体系结构,28,硬件抽象层(HAL),为了维护可移植性,Windows内部组件和用户编写的设备驱动程序并不直接访问硬件,而是通过调用Hal.dll中的例程。 READ_PORT_XXX WRITE_PORT_XXX READ_PORT_BUFFER_XXX WRITE_PORT_ BUFFER_XXX READ_REGISTER_XXX WRITE_ REGISTER_XXX READ_ REGISTER_BUFFER_XXX WRITE_ REGISTER_ BUFFER_XXX XXXUCHAR、USHORT、ULONG,读(写)I/O端口 从连续的I/O端口读 (写)一组数据 读(写)内存映射 的设备寄存器,Windows操作系统体系结构,29,设备驱动程序,可加载的核心态模块 I/O系统和相关硬件之间的接口 WDM=Windows Driver Model,设备驱动程序的分类 硬件设备驱动程序操作硬件。 文件系统驱动程序接受面向文件的I/O请求,并把它们转化为对特殊设备的I/O请求。 过滤器驱动程序截取I/O并在传递I/O到下一层之前执行某些特定处理。,Windows操作系统体系结构,30,内核,NTOSKRNL.EXE的下层 内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。大多数代码用C编写,部分依赖于硬件体系结构的代码用汇编编写 功能 线程安排和调度 陷阱处理和异常调度 中断处理和调度 多处理器同步 供执行体使用的基本内核对象 始终运行在核心态,代码精简,可移植性好。除了中断服务例程,正在运行的线程不能抢先内核。,Windows操作系统体系结构,31,内核对象 内核实现了一组简单的对象,称为内核对象,以帮助内核控制中心处理并支持执行体对象的创建。 控制对象包括异步过程调用(APC,asynchronous procedure call)对象、延迟过程调用(DPC,deferred procedure call)对象和几个由I/O系统使用的对象,例如中断对象。 调度程序对象负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器,内核,Windows操作系统体系结构,32,硬件支持 使得执行体和设备驱动程序同硬件无关 实现手段:一组在多个体系结构上可移植的、同语义的接口 内核也有部分代码不具有移植性 支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序 高速缓存管理 描述表切换,内核,Windows操作系统体系结构,33,执行体,Windows操作系统体系结构,执行体(Executive)是NTOSKRNL.EXE的上层 执行体应该从两种角度来理解: 1.执行体提供了一组函数调用 2.执行体本身由若干组件组成,34,执行体,提供的函数调用 从用户态导出并且可以调用的函数。这些函数的接口在NTDLL.DLL中。通过Win32API或一些其他的环境子系统可以对它们进行访问。 从用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用。 在Windows DDK中已经导出并且文档化的核心态调用的函数。 在核心态组件中调用但没有文档化的函数。例如在执行体内部使用的内部支持例程。 组件内部的函数。,Windows操作系统体系结构,35,包含的功能实体 进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows 2000内核中实现,而执行体给这些低级对象添加附加语义和功能。 虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。 安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。 I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。 高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。,Windows 2000/XP操作系统体系结构,执行体,36,对象管理器:创建、管理以及删除Windows的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。 本地过程调用(LPC,Local Procedure Call)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“远程过程调用”(RPC,Remote Procedure Call)版本。 一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。 执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。,执行体,包含的功能实体,Windows操作系统体系结构,37,NTDLL,子系统动态链接库 功能 提供系统调用入口 为子系统、子系统动态链接库、及其他本机映像提供内部支持函数 NTDLL也包含许多支持函数,例如映像加载程序、堆管理器和Win32子系统进程通信函数以及通用运行库。 用户态异步过程调用(APC)调度器和异常调度器。,Windows操作系统体系结构,38,环境子系统,将基本的执行体系统服务的某些子集以特定的形态展示给应用程序 三种环境子系统:POSIX、OS/2和Win32(OS/2 只能用于x86系统),Win32子系统必须始终处于运行状态,其他两个子系统只是在需要时才被启动,Win32子系统是Windows运行的基本条件之一。 函数调用不能在不同子系统之间混用,因此每一个可执行的映像都受限于唯一的子系统,Windows操作系统体系结构,39,Win32子系统 Win32环境子系统进程(CSRSS.EXE): 包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持16位DOS虚拟机(VDM)进程的部分。 Win32子系统动态链接库(User32.dll、Kernel32.dll、GDI32.dll),将文档化的Win32 API函数转化为适当的非文档化的核心系统服务(调用NTOSKRNL.EXE和WIN32.SYS) 核心态设备驱动程序(WIN32K.SYS): 窗口管理器(User): 控制窗口显示,管理屏幕输出,实现用户界面 图形设备接口(GDI,Graphics Device Interfaces) 图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。,环境子系统,Windows操作系统体系结构,40,环境子系统,Win32子系统,Win32 应用程序 (client),CSRSS (server),Win32子系统DLL,子系统动态链接库(NTDLL),用户态 核心态,WIN32K.SYS,LPC机制,Windows操作系统体系结构,41,环境子系统,当一个应用程序调用子系统动态链接库中的函数时,可能会出现下面三种情况之一: 函数完全在子系统动态链接库的用户态部分中实现,这时并没有消息发送到环境子系统进程,也没有调用执行体服务。函数在用户态中执行,结果返回到调用者。 例如:GetCurrentProcessId 函数需要一个或多个对执行体函数的调用。 例如:ReadFile,由子系统动态链接库调用Windows 系统服务NtReadFile 函数要求某些工作在环境子系统进程中进行。在这种情况下,将产生一个客户/服务器请求到环境子系统,其中的一个消息将被发送到子系统去执行某些操作,这时使用执行体的“本地过程调用”(LPC)机制。然后子系统动态链接库在消息返回给调用者之前会一直等待应答。 例如:CreatProcess将涉及2和3两种情况,Win32子系统,Windows操作系统体系结构,42,POSIX子系统 设计的强迫性目标 Windows 2000实现了POSIX.1,功能局限,用处不大 Windows XP/Server 2003实际上并不包含POSIX子系统 Windows Services for UNIX/Interix是一个独立于操作系统的软件,它是原POSIX子系统的超集,提供了对POSIX的支持,环境子系统,Windows操作系统体系结构,43,POSIX子系统,环境子系统,Windows操作系统体系结构,44,系统支持进程和服务进程,Idle进程 系统进程 会话管理器SMSS Win32子系统CSRSS 登录进程WINLOGIN 本地安全身份验证服务器LSASS 服务控制器SERVICES及其相关的服务进程,Windows操作系统体系结构,45,Windows的关键系统组件,Windows操作系统体系结构,46,Windows 9x的体系结构简介,Windows 9x的体系结构简介,Windows 9x操作系统内核称为虚拟机管理器(VMM),它的主要工作就是创建“虚拟”机器,这些虚拟机器共享同一个物理机器。 Windows 9x引入虚拟设备驱动程序(VxD), 其目的就是为了虚化设备,以帮助VMM实现每个虚拟机器都拥有全部硬件的假象。,47,Windows 9x的体系结构简介,Windows 9x的体系结构简介,Windows 9x在处理磁盘操作、通讯口操作、键盘操作,等等方面与Windows NT系列有很大不同。Windows 9x以两种完全不同的方式为32位应用程序和16位应用程序提供服务。,

    注意事项

    本文(Windows操纵系统-体系结构.ppt)为本站会员(小**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开