Windows操作系统-体系结构(一).ppt
《Windows操作系统-体系结构(一).ppt》由会员分享,可在线阅读,更多相关《Windows操作系统-体系结构(一).ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2操作系统结构设计操作系统结构设计 操作系统设计有着不同于一般应用系统设操作系统设计有着不同于一般应用系统设计的特征:计的特征:复杂程度高复杂程度高研制周期长研制周期长正确性难以保证正确性难以保证 解决途径:解决途径:良好的操作系统结构良好的操作系统结构先进的开发方法和工程化的管理方法先进的开发方法和工程化的管理方法高效的开发工具高效的开发工具 操作系统结构设计操作系统结构设计3操作系统的设计目标操作系统的设计目标 可靠性:正确性和健壮性可靠性:正确性和健壮性 高效性:提高系统的运行效率高效性:提高系统的运行效率 易维护性:易读、易扩充、易剪裁、易修改性易维护性:易读、易扩充、易剪裁、易修改性
2、 易移植性:一次开发,多处使用易移植性:一次开发,多处使用 安全性:计算机软件系统安全性的基础安全性:计算机软件系统安全性的基础 可适应性可适应性 简明性简明性 %100smsuusuuTTTTT操作系统结构设计操作系统结构设计4Windows的设计目标的设计目标 总原则:市场需求总原则:市场需求 驱动驱动 设计目标设计目标 需求:需求:提供一个真提供一个真3232位抢占式可重入的虚拟内存操作系统位抢占式可重入的虚拟内存操作系统能够在多种硬件体系结构和平台上运行能够在多种硬件体系结构和平台上运行能够在对称多处理系统上运行并具有良好的可伸缩性能够在对称多处理系统上运行并具有良好的可伸缩性优秀的分
3、布式计算平台,既可作为网络客户,又可作优秀的分布式计算平台,既可作为网络客户,又可作为网络服务器为网络服务器可运行多数现有可运行多数现有1616位位MS-DOSMS-DOS和和Microsoft Windows 3.1 Microsoft Windows 3.1 应用程序应用程序符合政府对符合符合政府对符合POSLX 1003.1POSLX 1003.1的要求的要求符合政府和企业对操作系统安全性的要求符合政府和企业对操作系统安全性的要求支持支持UnicodeUnicode,适应全球市场的需要,适应全球市场的需要 操作系统结构设计操作系统结构设计5 可扩充性可扩充性当市场需求变化时,代码必须易于
4、扩当市场需求变化时,代码必须易于扩充改动充改动 可移植性可移植性系统必须能够在多种硬件体系结构中系统必须能够在多种硬件体系结构中运行和相对简单地移入新的体系结构运行和相对简单地移入新的体系结构 可靠性及健壮性可靠性及健壮性系统能防止内部故障及外部侵系统能防止内部故障及外部侵扰造成的损害,应用程序不应该损害操作系统及正扰造成的损害,应用程序不应该损害操作系统及正在运行的其他应用程序在运行的其他应用程序 兼容性兼容性用户界面和用户界面和API应与已有的应与已有的Windows 版本兼容版本兼容 性能性能系统应该在每一种硬件平台上尽可能快地系统应该在每一种硬件平台上尽可能快地响应响应Windows的
5、设计目标的设计目标操作系统结构设计操作系统结构设计6操作系统的设计阶段操作系统的设计阶段 功能设计:操作系统应具备哪些功能功能设计:操作系统应具备哪些功能 算法设计:选择和设计满足系统功能的算法设计:选择和设计满足系统功能的算法和策略,并分析和估算其效能算法和策略,并分析和估算其效能 结构设计:选择合适的操作系统结构结构设计:选择合适的操作系统结构 按照系统的功能和特性要求,选择合适的按照系统的功能和特性要求,选择合适的结构,使用相应的结构设计方法将系统逐步结构,使用相应的结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、地分解、抽象和综合,使操作系统结构清晰、简单、可靠、易读、易
6、修改,而且使用方便,简单、可靠、易读、易修改,而且使用方便,适应性强适应性强操作系统结构设计操作系统结构设计7操作系统结构操作系统结构操作系统结构设计操作系统结构设计操作系统是一种大型软件操作系统是一种大型软件, 为了研制操作系统,为了研制操作系统,必须分析它的体系结构必须分析它的体系结构-也就是要弄清楚如何也就是要弄清楚如何把这一大型软件划分成若干较小的模块以及这把这一大型软件划分成若干较小的模块以及这些模块间有着怎样的接口。些模块间有着怎样的接口。 模块组合结构模块组合结构层次结构层次结构虚拟机结构虚拟机结构微内核结构微内核结构8几种常见的操作系统结构几种常见的操作系统结构 模块组合结构模
7、块组合结构根据功能划分系统中的模块根据功能划分系统中的模块优点优点结构紧密,接口简单直接,系统效率高结构紧密,接口简单直接,系统效率高操作系统结构设计操作系统结构设计9 模块组合结构模块组合结构缺点缺点模块间转接随便模块间转接随便数据基本上作为全程量处理数据基本上作为全程量处理常常关中断,系统的并发性难以提高常常关中断,系统的并发性难以提高操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构10 层次结构层次结构把操作系统的所有功能模块按功能的调用次序,把操作系统的所有功能模块按功能的调用次序,分别排列成若干层,各层之间的模块只能是单分别排列成若干层,各层之间的模块只能
8、是单向依赖或单向调用的关系向依赖或单向调用的关系 E.W.Dijkstra的的THE系统:系统:1 12 23 34 45 5处理器分配和多道程序内存和磁盘管理操作员进程通信输入/输出管理用户程序操作员 0 0操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构11F层次结构的特点层次结构的特点分解成许多功能单一的模块,各模块之间有分解成许多功能单一的模块,各模块之间有清晰的组织结构和依赖关系清晰的组织结构和依赖关系具有更高的可读性和可适应性具有更高的可读性和可适应性层次结构是单向依赖的,上层模块建立在下层次结构是单向依赖的,上层模块建立在下层基础上层基础上很容易增加或
9、替换掉一层而不影响其它层次很容易增加或替换掉一层而不影响其它层次便于修改、扩充便于修改、扩充 操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构12F层次结构的层间关系层次结构的层间关系全序全序 半序半序第第3 3层层第第2 2层层第第1 1层层第第0 0层层操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构13F分层原则分层原则为了增加操作系统的可适应性,并且便于将操作系统为了增加操作系统的可适应性,并且便于将操作系统移植到其它机器上,必须把与机器特点紧密相关的软移植到其它机器上,必须把与机器特点紧密相关的软件,如中断处理,输入输出管理等放
10、在紧靠硬件的最件,如中断处理,输入输出管理等放在紧靠硬件的最低层。低层。为了便于操作系统从一种操作方式转为了便于操作系统从一种操作方式转 变到另一种操变到另一种操作方式,通常把多种操作方式共同使用的基本部分放作方式,通常把多种操作方式共同使用的基本部分放在内层,而把随着这些操作方式而改变的部分放在外在内层,而把随着这些操作方式而改变的部分放在外层。层。为了给进程的活动提供必要的环境和条件,因此必须为了给进程的活动提供必要的环境和条件,因此必须要有一部分软件要有一部分软件系统调用的各功能,来为进程提系统调用的各功能,来为进程提供服务,通常这些功能模块(各系统调用功能)构成供服务,通常这些功能模块
11、(各系统调用功能)构成操作系统内核,放在系统的内层。操作系统内核,放在系统的内层。操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构14操作系统结构设计操作系统结构设计虚拟机结构虚拟机结构 系统的核心系统的核心 -虚拟机监控程序虚拟机监控程序(VM) VM/370在裸机上运行并且具在裸机上运行并且具备了多道程序功能。该系统备了多道程序功能。该系统向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的裸机硬件裸机硬件, 包含:核心态用户态,包含:核心态用户态,IO功能,中断,及其功能,中断,及其它真实硬件所具有的全部内容
12、。它真实硬件所具有的全部内容。 几种常见的操作系统结构几种常见的操作系统结构15操作系统结构设计操作系统结构设计虚拟机结构虚拟机结构 由于每台虚拟机都与裸机由于每台虚拟机都与裸机相同,所以每台虚拟机可相同,所以每台虚拟机可以运行一台裸机所能够运以运行一台裸机所能够运行的任何类型操作系统。行的任何类型操作系统。 会话监控系统会话监控系统(CMS)程序在执行系统调用时,它的系统调用陷入其虚拟机中的操程序在执行系统调用时,它的系统调用陷入其虚拟机中的操作系统。然后作系统。然后CMS发出硬件发出硬件IO指令,在虚拟机者执行为指令,在虚拟机者执行为该系统调用所需的其它操作。这些该系统调用所需的其它操作。
13、这些IO指令被指令被VM370捕捕获,作为对真实硬件模拟的一部分,获,作为对真实硬件模拟的一部分,VM370随后就执行随后就执行这些指令。这些指令。 几种常见的操作系统结构几种常见的操作系统结构16微内核结构微内核结构 CMU的的Mach、早期的、早期的Windows NT 非常适宜于应用在网络环境下,应用于非常适宜于应用在网络环境下,应用于分布式处理的计算环境中分布式处理的计算环境中 由两大部分组成由两大部分组成 : “微微”内核内核 服务进程服务进程操作系统结构设计操作系统结构设计几种常见的操作系统结构几种常见的操作系统结构17微内核微内核运行在核心态的内核提供所有操作运行在核心态的内核提
14、供所有操作系统基本都具有的那些操作,包括系统基本都具有的那些操作,包括线程调度、虚拟存储、消息传递、线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和设备驱动以及内核的原语操作集和中断处理等。这些部分通常采用层中断处理等。这些部分通常采用层次结构并且只提供了一个很小的功次结构并且只提供了一个很小的功能集合,通常称为微内核。能集合,通常称为微内核。微内核结构微内核结构操作系统结构设计操作系统结构设计服务进程服务进程运行在用户态的并以客户运行在用户态的并以客户/服务器方式运行的进程。操作系统所服务器方式运行的进程。操作系统所有的其它部分被分成若干个相对独立的服务进程,提供各种系有的其它部
15、分被分成若干个相对独立的服务进程,提供各种系统功能、文件系统服务以及网络服务等。客户进程与服务器进统功能、文件系统服务以及网络服务等。客户进程与服务器进程之间使用消息进行通信。程之间使用消息进行通信。几种常见的操作系统结构几种常见的操作系统结构18主要优点主要优点 机制与策略分离机制与策略分离机制机制(mechanism)-任务在系统中完成的任务在系统中完成的方法方法策略策略(policy)-决定应该执行哪个任务决定应该执行哪个任务,何何时执行等等时执行等等 可靠可靠 灵活灵活 适合分布式计算的需求适合分布式计算的需求缺点缺点 效率较低效率较低微内核结构微内核结构操作系统结构设计操作系统结构设
16、计几种常见的操作系统结构几种常见的操作系统结构19Windows操作系统设计模型操作系统设计模型 融合了分层操作系统和微内核操作系统的设融合了分层操作系统和微内核操作系统的设计思想计思想 Windows通过硬件机制实现了核心态以及用通过硬件机制实现了核心态以及用户态两个特权级别。对性能影响很大的操作户态两个特权级别。对性能影响很大的操作系统组件运行在核心态。核心内没有保护。系统组件运行在核心态。核心内没有保护。 设计充分体现了机制与策略分离的思想设计充分体现了机制与策略分离的思想20 Windows的核心态组件使用了面向对象的设计的核心态组件使用了面向对象的设计原则原则 出于可移植性以及效率因
17、素的考虑,大部分代出于可移植性以及效率因素的考虑,大部分代码使用了基于码使用了基于C语言的对象实现。语言的对象实现。 Windows的很多系统服务运行在核心态,这使的很多系统服务运行在核心态,这使得得Windows更加高效,而且也是相当稳定的。更加高效,而且也是相当稳定的。 Windows操作系统设计模型操作系统设计模型Windows操作系统设计模型操作系统设计模型21可移植性的获得两种手段两种手段 分层的设计。依赖于处理器体系结构或平台的系统底分层的设计。依赖于处理器体系结构或平台的系统底层部分被隔离在单独的模块之中,系统的高层可以被层部分被隔离在单独的模块之中,系统的高层可以被屏蔽在千差万
18、别的硬件平台之外。提供操作系统可移屏蔽在千差万别的硬件平台之外。提供操作系统可移植性的两个关键组件是植性的两个关键组件是HAL和内核。依赖于体系结构和内核。依赖于体系结构的功能在内核中实现,在相同体系结构中,因计算机的功能在内核中实现,在相同体系结构中,因计算机而异的功能在而异的功能在HAL中实现。中实现。 Windows大量使用高级语言大量使用高级语言执行体、设备驱动程执行体、设备驱动程序等用序等用C语言编写,图形用户界面用语言编写,图形用户界面用C+编写。只有编写。只有那些必须和系统硬件直接通信的操作系统部分,或性那些必须和系统硬件直接通信的操作系统部分,或性能极度敏感的部分是用汇编语言编
19、写的。汇编语言代能极度敏感的部分是用汇编语言编写的。汇编语言代码分布集中且少。码分布集中且少。 Windows操作系统设计模型操作系统设计模型Windows操作系统设计模型操作系统设计模型22对称多处理支持对称多处理支持 非对称多处理非对称多处理(Asymmetric Multiprocessing, ASMP):又称主从模式又称主从模式(Master-slave mode)。 主处理器:只有一个,运行主处理器:只有一个,运行OS。管理整个系统的资源,。管理整个系统的资源,为从处理器分配任务;为从处理器分配任务; 从处理器:可有多个,执行应用程序或从处理器:可有多个,执行应用程序或I/O处理。
20、处理。 特点:不同性质任务的负载不均,可靠性不够高,不易移特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是非对称的)。植(通常要求硬件也是非对称的)。 对称多处理对称多处理(Symmetric Multiprocessing, SMP): 操作系统交替在各个处理器上执行。任务负载较为操作系统交替在各个处理器上执行。任务负载较为平均,性能调节容易平均,性能调节容易傻瓜式傻瓜式Windows操作系统设计模型操作系统设计模型Windows操作系统设计模型操作系统设计模型23对称多处理支持对称多处理支持Windows操作系统设计模型操作系统设计模型Windows操作系统设计模型操
21、作系统设计模型24Windows操作系统设计模型操作系统设计模型对称多处理支持对称多处理支持Windows操作系统设计模型操作系统设计模型 Windows是一个支持是一个支持SMP的操作系统,操的操作系统,操作系统本身和用户线程可以在任何处理器作系统本身和用户线程可以在任何处理器上运行上运行不存在主处理器不存在主处理器 不同版本支持的处理器数目不同:不同版本支持的处理器数目不同: Professional2 Server4 Advanced Server8 Datacenter Server3225系统支撑处理器系统支持进程服务进程用户程序环境子系统子系统动态链接库用户态用户态核心态核心态硬件
22、抽象层(HAL)执行体核心设备驱动程序图形引擎Windows的体系结构的体系结构系统支持进程服务进程用户程序环境子系统子系统动态链接库执行体内核设备驱动程序硬件抽象层(HAL)窗口与图形26硬件抽象层(硬件抽象层(HAL) HAL=Hardware Abstraction Layer HAL是一个核心态模块是一个核心态模块(HAL.DLL),),它为运行它为运行Windows的硬件平台提供低级接口。的硬件平台提供低级接口。 HAL隐藏各种与硬件有关的细节,例如隐藏各种与硬件有关的细节,例如I/O接口、接口、中断控制器以及多处理器通信机制等中断控制器以及多处理器通信机制等 实现多种硬件平台上的可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 操作系统 体系结构
限制150内