Windows02

上传人:油条 文档编号:47551921 上传时间:2018-07-02 格式:PPT 页数:47 大小:827.50KB
返回 下载 相关 举报
Windows02_第1页
第1页 / 共47页
Windows02_第2页
第2页 / 共47页
Windows02_第3页
第3页 / 共47页
Windows02_第4页
第4页 / 共47页
Windows02_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《Windows02》由会员分享,可在线阅读,更多相关《Windows02(47页珍藏版)》请在金锄头文库上搜索。

1、第二章 Windows操作系统 的体系结构(上)F操作系统结构设计 FWindows 2000/XP的操作系统模型 FWindows 2000/XP的体系结构1操作系统结构设计 操作系统设计有着不同于一般应用系统设 计的特征: 复杂程度高 研制周期长 正确性难以保证 解决途径: 良好的操作系统结构 先进的开发方法和工程化的管理方法 高效的开发工具 操作系统结构设计2操作系统的设计目标 可靠性:正确性和健壮性 高效性:提高系统的运行效率 易维护性:易读、易扩充、易剪裁、易修改性 易移植性:一次开发,多处使用 安全性:计算机软件系统安全性的基础 可适应性 简明性 操作系统结构设计3Windows

2、2000/XP的设计目标 总原则:市场需求 驱动 设计目标 需求: 提供一个真32位抢占式可重入的虚拟内存操作系统 能够在多种硬件体系结构和平台上运行 能够在对称多处理系统上运行并具有良好的可伸缩性 优秀的分布式计算平台,既可作为网络客户,又可作 为网络服务器 可运行多数现有16位MS-DOS和Microsoft Windows 3.1 应用程序 符合政府对符合POSLX 1003.1的要求 符合政府和企业对操作系统安全性的要求 支持Unicode,适应全球市场的需要 操作系统结构设计4 可扩充性当市场需求变化时,代码必须易于扩 充改动 可移植性系统必须能够在多种硬件体系结构中 运行和相对简单

3、地移入新的体系结构 可靠性及健壮性系统能防止内部故障及外部侵 扰造成的损害,应用程序不应该损害操作系统及正 在运行的其他应用程序 兼容性用户界面和API应与已有的Windows 版 本兼容 性能系统应该在每一种硬件平台上尽可能快地 响应Windows 2000/XP的设计目标操作系统结构设计5操作系统的设计阶段 功能设计:操作系统应具备哪些功能 算法设计:选择和设计满足系统功能的 算法和策略,并分析和估算其效能 结构设计:选择合适的操作系统结构按照系统的功能和特性要求,选择合适的结 构,使用相应的结构设计方法将系统逐步地 分解、抽象和综合,使操作系统结构清晰、 简单、可靠、易读、易修改,而且使

4、用方便 ,适应性强操作系统结构设计6操作系统结构操作系统结构设计操作系统是一种大型软件, 为了研制操作系统, 必须分析它的体系结构-也就是要弄清楚如何 把这一大型软件划分成若干较小的模块以及这 些模块间有着怎样的接口。 模块组合结构 层次结构 虚拟机结构 微内核结构7几种常见的操作系统结构 模块组合结构根据功能划分系统中的模块优点 结构紧密,接口简单直接,系统效率高操作系统结构设计8 模块组合结构缺点 模块间转接随便 数据基本上作为全程量处理 常常关中断,系统的并发性难以提高几种常见的操作系统结构操作系统结构设计9 层次结构 把操作系统的所有功能模块按功能的调用次序 ,分别排列成若干层,各层之

5、间的模块只能是 单向依赖或单向调用的关系 E.W.Dijkstra的THE系统:几种常见的操作系统结构操作系统结构设计10F层次结构的特点 分解成许多功能单一的模块,各模块之间有清 晰的组织结构和依赖关系 具有更高的可读性和可适应性 层次结构是单向依赖的,上层模块建立在下层 基础上 很容易增加或替换掉一层而不影响其它层次 便于修改、扩充 几种常见的操作系统结构操作系统结构设计11F层次结构的层间关系全序 半序几种常见的操作系统结构操作系统结构设计12几种常见的操作系统结构F分层原则 为了增加操作系统的可适应性,并且便于将操作系统 移植到其它机器上,必须把与机器特点紧密相关的软 件,如中断处理,

6、输入输出管理等放在紧靠硬件的最 低层。 为了便于操作系统从一种操作方式转 变到另一种操作 方式,通常把多种操作方式共同使用的基本部分放在 内层,而把随着这些操作方式而改变的部分放在外层 。 为了给进程的活动提供必要的环境和条件,因此必须 要有一部分软件系统调用的各功能,来为进程提 供服务,通常这些功能模块(各系统调用功能)构成 操作系统内核,放在系统的内层。操作系统结构设计13几种常见的操作系统结构操作系统结构设计虚拟机结构 系统的核心-虚拟机监控程序(VM) VM/370在裸机上运行并且具备了多道程序功能。该系统向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的 裸机硬件, 包含:核心态用

7、户态,IO功能,中断,及其 它真实硬件所具有的全部内容。 14几种常见的操作系统结构操作系统结构设计虚拟机结构 由于每台虚拟机都与裸机相 同,所以每台虚拟机可以运 行一台裸机所能够运行的任 何类型操作系统。 会话监控系统(CMS)程序在执行系统调用时,它的系统调用陷入其虚拟机中的操 作系统。然后CMS发出硬件IO指令,在虚拟机者执行为 该系统调用所需的其它操作。这些IO指令被VM370捕 获,作为对真实硬件模拟的一部分,VM370随后就执行这 些指令。 15微内核结构 CMU的Mach、早期的Windows NT 非常适宜于应用在网络环境下,应用于分 布式处理的计算环境中 由两大部分组成 :

8、“微”内核 服务进程几种常见的操作系统结构操作系统结构设计16微内核 运行在核心态的内核提供所有操作系统基本都具有的那些操 作,包括线程调度、虚拟存储、消息传递、设备驱动以及内 核的原语操作集和中断处理等。这些部分通常采用层次结构 并且只提供了一个很小的功能集合,通常称为微内核。 服务进程 运行在用户态的并以客户/服务器方式运行的进程。操作系统 所有的其它部分被分成若干个相对独立的服务进程,提供各 种系统功能、文件系统服务以及网络服务等。客户进程与服 务器进程之间使用消息进行通信。微内核结构几种常见的操作系统结构操作系统结构设计17主要优点 机制与策略分离机制(mechanism)-任务在系统

9、中完 成的方法策略(policy)-决定应该执行哪个任, 何时执行等等 可靠 灵活 适合分布式计算的需求 缺点效率较低微内核结构几种常见的操作系统结构操作系统结构设计18Windows 2000/XP操作系统模型 融合了分层操作系统和微内核操作系统的设 计思想 Windows 2000/XP通过硬件机制实现了核心 态以及用户态两个特权级别。对性能影响很 大的操作系统组件运行在核心态。核心内没 有保护。 设计充分体现了机制与策略分离的思想Windows 2000/XP操作系统模型19 Windows 2000/XP的核心态组件使用了面向对 象设计原则 出于可移植性以及效率因素的考虑,大部分代 码

10、使用了基于C语言的对象实现。 Windows 2000/XP的很多系统服务运行在核心 态,这使得Windows 2000/XP更加高效,而且 也是相当稳定的。 Windows 2000/XP操作系统模型Windows 2000/XP操作系统模型20可移植性的获得两种手段 分层的设计。依赖于处理器体系结构或平台的系统底 层部分被隔离在单独的模块之中,系统的高层可以被 屏蔽在千差万别的硬件平台之外。提供操作系统可移 植性的两个关键组件是HAL和内核。依赖于体系结构 的功能在内核中实现,在相同体系结构中,因计算机 而异的功能在HAL中实现。 Windows 2000/XP大量使用高级语言执行体、设

11、备驱动程序等用C语言编写,图形用户界面用C+编 写。只有那些必须和系统硬件直接通信的操作系统部 分,或性能极度敏感的部分是用汇编语言编写的。汇 编语言代码分布集中且少。 Windows 2000/XP操作系统模型Windows 2000/XP操作系统模型21对称多处理支持Windows 2000/XP操作系统模型Windows 2000/XP操作系统模型 非对称多处理(Asymmetric Multiprocessing, ASMP) :又称主从模式(Master-slave mode)。 主处理器:只有一个,运行OS。管理整个系统的资源, 为从处理器分配任务; 从处理器:可有多个,执行应用程

12、序或I/O处理。 特点:不同性质任务的负载不均,可靠性不够高,不易移 植(通常要求硬件也是非对称的)。 对称多处理(Symmetric Multiprocessing, SMP):操作系统交替在各个处理器上执行。任务负载较为 平均,性能调节容易“傻瓜式“22对称多处理支持Windows 2000/XP操作系统模型Windows 2000/XP操作系统模型23对称多处理支持 Windows 2000/XP是一个支持SMP的操作 系统,操作系统本身和用户线程可以在任 何处理器上运行不存在主处理器 不同版本支持的处理器数目不同: Professional2 Server4 Advanced Serv

13、er8 Datacenter Server32Windows 2000/XP操作系统模型Windows 2000/XP操作系统模型24Windows 2000/XP体系结构Windows 2000/XP操作系统体系结构系统支持 进程服务进程用户程序环境子系统子系统动态链接库执行体内核设备驱动程序硬件抽象层(HAL)窗口与图形25硬件抽象层(HAL) HAL=Hardware Abstraction Layer HAL是一个核心态模块( HAL.DLL),它为运行Windows 2000/XP的硬件平台提供低级接口 。Windows 2000/XP操作系统体系结构 HAL隐藏各种与硬件有关的细节

14、,例如I/O接口、 中断控制器以及多处理器通信机制等 实现多种硬件平台上的可移植性26硬件抽象层(HAL)Windows 2000/XP操作系统体系结构在Windows 2000/XP发行介质上有许多HAL:Hal.dll标准PCHalsmp.dll多处理器PCHalsp.dll Compaq SystemPro 安装时根据硬件平台选择的模块复制到系统中, 并改名为Hal.dll27硬件抽象层(HAL)Windows 2000/XP操作系统体系结构为了维护可移植性,Windows 2000/XP内部组件和 用户编写的设备驱动程序并不直接访问硬件,而是 通过调用Hal.dll中的例程。 READ

15、_PORT_XXX WRITE_PORT_XXX READ_PORT_BUFFER_XXX WRITE_PORT_ BUFFER_XXXREAD_REGISTER_XXX WRITE_ REGISTER_XXX READ_ REGISTER_BUFFER_XXX WRITE_ REGISTER_ BUFFER_XXXXXXUCHAR、USHORT、ULONG读(写)I/O端口从连续的I/O端口读 (写)一组数据读(写)内存映射 的设备寄存器28设备驱动程序 可加载的核心态模块 I/O系统和相关硬件之 间的接口 WDM=Windows Driver ModelWindows 2000/XP操作系统体系结构 设备驱动程序的分类 硬件设备驱动程序操作硬件。 文件系统驱动程序接受面向文件的I/O请求,并 把它们转化为对特殊设备的I/O请求。 过滤器驱动程序截取I/O并在传递I/O到下一层 之前执行某些特定处理。 29内核 NTOSKRNL.EXE的下层 内核是对处理器体系结构的抽象,将执行体与处理器体系 结构的差异相隔离,保证系统的可移植性。大多数代码用 C编写,部分依赖于硬件体系结构的代码用汇编编写 功能 线程安排和调度

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号