Windows操作系统体系结构(1)

上传人:资****亨 文档编号:181608706 上传时间:2021-05-02 格式:PPT 页数:47 大小:815.50KB
返回 下载 相关 举报
Windows操作系统体系结构(1)_第1页
第1页 / 共47页
Windows操作系统体系结构(1)_第2页
第2页 / 共47页
Windows操作系统体系结构(1)_第3页
第3页 / 共47页
Windows操作系统体系结构(1)_第4页
第4页 / 共47页
Windows操作系统体系结构(1)_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《Windows操作系统体系结构(1)》由会员分享,可在线阅读,更多相关《Windows操作系统体系结构(1)(47页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

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

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

9、y)-决定应该执行哪个任务,何时执行等等 可靠 灵活 适合分布式计算的需求 缺点 效率较低,微内核结构,操作系统结构设计,几种常见的操作系统结构,19,Windows操作系统设计模型,融合了分层操作系统和微内核操作系统的设计思想 Windows通过硬件机制实现了核心态以及用户态两个特权级别。对性能影响很大的操作系统组件运行在核心态。核心内没有保护。 设计充分体现了机制与策略分离的思想,20,Windows的核心态组件使用了面向对象的设计原则 出于可移植性以及效率因素的考虑,大部分代码使用了基于C语言的对象实现。 Windows的很多系统服务运行在核心态,这使得Windows更加高效,而且也是相

10、当稳定的。,Windows操作系统设计模型,Windows操作系统设计模型,21,可移植性的获得,两种手段 分层的设计。依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的两个关键组件是HAL和内核。依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机而异的功能在HAL中实现。 Windows大量使用高级语言执行体、设备驱动程序等用C语言编写,图形用户界面用C+编写。只有那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。,Windows操作系统设计模

11、型,Windows操作系统设计模型,22,对称多处理支持,非对称多处理(Asymmetric Multiprocessing, ASMP):又称主从模式(Master-slave mode)。 主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务; 从处理器:可有多个,执行应用程序或I/O处理。 特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是非对称的)。 对称多处理(Symmetric Multiprocessing, SMP): 操作系统交替在各个处理器上执行。任务负载较为平均,性能调节容易傻瓜式,Windows操作系统设计模型,Windows操作系统

12、设计模型,23,对称多处理支持,Windows操作系统设计模型,Windows操作系统设计模型,24,Windows操作系统设计模型,对称多处理支持,Windows操作系统设计模型,Windows是一个支持SMP的操作系统,操作系统本身和用户线程可以在任何处理器上运行不存在主处理器 不同版本支持的处理器数目不同: Professional2 Server4 Advanced Server8 Datacenter Server32,25,Windows的体系结构,系统支持 进程,服务进程,用户程序,环境子系统,子系统动态链接库,执行体,内核,设备驱动程序,硬件抽象层(HAL),窗口与图形,26,

13、硬件抽象层(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

14、,硬件抽象层(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端口读 (写)一组数据 读(写)内存映射 的设备

15、寄存器,Windows操作系统体系结构,29,设备驱动程序,可加载的核心态模块 I/O系统和相关硬件之间的接口 WDM=Windows Driver Model,设备驱动程序的分类 硬件设备驱动程序操作硬件。 文件系统驱动程序接受面向文件的I/O请求,并把它们转化为对特殊设备的I/O请求。 过滤器驱动程序截取I/O并在传递I/O到下一层之前执行某些特定处理。,Windows操作系统体系结构,30,内核,NTOSKRNL.EXE的下层 内核是对处理器体系结构的抽象,将执行体与处理器体系结构的差异相隔离,保证系统的可移植性。大多数代码用C编写,部分依赖于硬件体系结构的代码用汇编编写 功能 线程安排

16、和调度 陷阱处理和异常调度 中断处理和调度 多处理器同步 供执行体使用的基本内核对象 始终运行在核心态,代码精简,可移植性好。除了中断服务例程,正在运行的线程不能抢先内核。,Windows操作系统体系结构,31,内核对象 内核实现了一组简单的对象,称为内核对象,以帮助内核控制中心处理并支持执行体对象的创建。 控制对象包括异步过程调用(APC,asynchronous procedure call)对象、延迟过程调用(DPC,deferred procedure call)对象和几个由I/O系统使用的对象,例如中断对象。 调度程序对象负责同步操作并影响线程调度。调度程序对象包括内核线程、互斥体(Mutex)、事件(Event)、内核事件对、信号量(Semaphore)、定时器和可等待定时器,内核,Windows操作系统体系结构,32,硬件支持 使得执行体和设备驱动程序同硬件无关 实现手段:一组在多个体系结构上可移植的、同语义的接口 内核也有部分代码不具有移植性 支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序 高速缓存管理 描述表切换,内核,Windows操作系统体系结构,

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

当前位置:首页 > 高等教育 > 大学课件

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