Windows操作系统-体系结构(一)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows操作系统-体系结构(一)
操作系统结构设计
操作系统结构设计
❖ 操作系统设计有着不同于一般应用系统设 计的特征:
复杂程度高
研制周期长
正确性难以保证
❖ 解决途径:
良好的操作系统结构
先进的开发方法和工程化的管理方法
2
高效的开发工具
操作系统结构设计
操作系统的设计目标
❖ 可靠性:正确性和健壮性 ❖ 高效性:提高系统的运行效率
全序
半序
第3层
第2层
第1层
第0层
12
操作系统结构设计
几种常见的操作系统结构
分层原则
– 为了增加操作系统的可适应性,并且便于将操作系统 移植到其它机器上,必须把与机器特点紧密相关的软 件,如中断处理,输入输出管理等放在紧靠硬件的最 低层。
– 为了便于操作系统从一种操作方式转 变到另一种操作 方式,通常把多种操作方式共同使用的基本部分放在 内层,而把随着这些操作方式而改变的部分放在外层。
按照系统的功能和特性要求,选择合适的结 构,使用相应的结构设计方法将系统逐步地 分解、抽象和综合,使操作系统结构清晰、 简单、可靠、易读、易修改,而且使用方便, 适应性强
6
操作系统结构
操作系统结构设计
操作系统是一种大型软件, 为了研制操作系统, 必须分析它的体系结构-----也就是要弄清楚如何 把这一大型软件划分成若干较小的模块以及这 些模块间有着怎样的接口。
•模块组合结构 •层次结构 •虚拟机结构 •微内核结构
7
操作系统结构设计
几种常见的操作系统结构
❖ 模块组合结构
根据功能划分系统中的模块 优点
结构紧密,接口简单直接,系统效率高
8
操作系统结构设计
几种常见的操作系统结构
• 模块组合结构
缺点
– 模块间转接随便 – 数据基本上作为全程量处理 – 常常关中断,系统的并发性难以提高
TuTsu 10% 0
TuTsuwk.baidu.comsm
❖ 易维护性:易读、易扩充、易剪裁、易修改性 ❖ 易移植性:一次开发,多处使用 ❖ 安全性:计算机软件系统安全性的基础 ❖ 可适应性 ❖ 简明性
3
操作系统结构设计
Windows的设计目标
❖ 总原则:市场需求 驱动 设计目标
❖ 需求:
提供一个真32位抢占式可重入的虚拟内存操作系统
操作系统结构设计
几种常见的操作系统结构
•微内核结构
❖ CMU的Mach、早期的Windows NT…… ❖ 非常适宜于应用在网络环境下,应用于分
布式处理的计算环境中 ❖ 由两大部分组成 :
“微”内核 服务进程
16
操作系统结构设计
几种常见的操作系统结构
•微内核结构
•微内核
运行在核心态的内核提供所有操作 系统基本都具有的那些操作,包括 线程调度、虚拟存储、消息传递、 设备驱动以及内核的原语操作集和 中断处理等。这些部分通常采用层 次结构并且只提供了一个很小的功 能集合,通常称为微内核。
•服务进程
运行在用户态的并以客户/服务器方式运行的进程。操作系统所 有的其它部分被分成若干个相对独立的服务进程,提供各种系统 17 功能、文件系统服务以及网络服务等。客户进程与服务器进程之 间使用消息进行通信。
CMS I/O指令陷入
CMS VM/370 370裸机
系统调用陷入 CMS
向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的 裸机硬件, 包含:核心态/用户态,I/O功能,中断,及其 它真实硬件所具有的全部内容。
14
操作系统结构设计
几种常见的操作系统结构
•虚拟机结构
若干个370虚拟机
由于每台虚拟机都与裸机相 同,所以每台虚拟机可以运 行一台裸机所能够运行的任 何类型操作系统。
❖ 兼容性——用户界面和API应与已有的Windows 版 本兼容
❖ 性能——系统应该在每一种硬件平台上尽可能快地 5 响应
操作系统结构设计
操作系统的设计阶段
❖ 功能设计:操作系统应具备哪些功能 ❖ 算法设计:选择和设计满足系统功能的
算法和策略,并分析和估算其效能 ❖ 结构设计:选择合适的操作系统结构
– 为了给进程的活动提供必要的环境和条件,因此必须 要有一部分软件——系统调用的各功能,来为进程提 供服务,通常这些功能模块(各系统调用功能)构成 操作系统内核,放在系统的内层。
13
操作系统结构设计
几种常见的操作系统结构
•虚拟机结构
若干个370虚拟机
•系统的核心 ----虚拟机监控程序(VM)
VM/370在裸机上运行并且具 备了多道程序功能。该系统
4
支持Unicode,适应全球市场的需要
操作系统结构设计
Windows的设计目标
❖ 可扩充性——当市场需求变化时,代码必须易于扩 充改动
❖ 可移植性——系统必须能够在多种硬件体系结构中 运行和相对简单地移入新的体系结构
❖ 可靠性及健壮性——系统能防止内部故障及外部侵 扰造成的损害,应用程序不应该损害操作系统及正 在运行的其他应用程序
能够在多种硬件体系结构和平台上运行
能够在对称多处理系统上运行并具有良好的可伸缩性
优秀的分布式计算平台,既可作为网络客户,又可作 为网络服务器
可运行多数现有16位MS-DOS和Microsoft Windows 3.1 应用程序
符合政府对符合POSLX 1003.1的要求
符合政府和企业对操作系统安全性的要求
操作系统结构设计
几种常见的操作系统结构
层次结构的特点
分解成许多功能单一的模块,各模块之间有清 晰的组织结构和依赖关系
具有更高的可读性和可适应性 层次结构是单向依赖的,上层模块建立在下层
基础上 很容易增加或替换掉一层而不影响其它层次 便于修改、扩充
11
操作系统结构设计
几种常见的操作系统结构
层次结构的层间关系
9
操作系统结构设计
几种常见的操作系统结构
❖ 层次结构
把操作系统的所有功能模块按功能的调用次序, 分别排列成若干层,各层之间的模块只能是单 向依赖或单向调用的关系
E.W.Dijkstra的THE系统:
5 4
3
2
1
10
0
操作员 用户程序 输入/输出管理 操作员-进程通信 内存和磁盘管理 处理器分配和多道程序
•会话监控系统(CMS)
CMS I/O指令陷入
CMS VM/370 370裸机
系统调用陷入 CMS
程序在执行系统调用时,它的系统调用陷入其虚拟机中的操
作系统。然后CMS发出硬件I/O指令,在虚拟机者执行为 该系统调用所需的其它操作。这些I/O指令被VM/370捕 15 获,作为对真实硬件模拟的一部分,VM/370随后就执行这 些指令。
操作系统结构设计
操作系统结构设计
❖ 操作系统设计有着不同于一般应用系统设 计的特征:
复杂程度高
研制周期长
正确性难以保证
❖ 解决途径:
良好的操作系统结构
先进的开发方法和工程化的管理方法
2
高效的开发工具
操作系统结构设计
操作系统的设计目标
❖ 可靠性:正确性和健壮性 ❖ 高效性:提高系统的运行效率
全序
半序
第3层
第2层
第1层
第0层
12
操作系统结构设计
几种常见的操作系统结构
分层原则
– 为了增加操作系统的可适应性,并且便于将操作系统 移植到其它机器上,必须把与机器特点紧密相关的软 件,如中断处理,输入输出管理等放在紧靠硬件的最 低层。
– 为了便于操作系统从一种操作方式转 变到另一种操作 方式,通常把多种操作方式共同使用的基本部分放在 内层,而把随着这些操作方式而改变的部分放在外层。
按照系统的功能和特性要求,选择合适的结 构,使用相应的结构设计方法将系统逐步地 分解、抽象和综合,使操作系统结构清晰、 简单、可靠、易读、易修改,而且使用方便, 适应性强
6
操作系统结构
操作系统结构设计
操作系统是一种大型软件, 为了研制操作系统, 必须分析它的体系结构-----也就是要弄清楚如何 把这一大型软件划分成若干较小的模块以及这 些模块间有着怎样的接口。
•模块组合结构 •层次结构 •虚拟机结构 •微内核结构
7
操作系统结构设计
几种常见的操作系统结构
❖ 模块组合结构
根据功能划分系统中的模块 优点
结构紧密,接口简单直接,系统效率高
8
操作系统结构设计
几种常见的操作系统结构
• 模块组合结构
缺点
– 模块间转接随便 – 数据基本上作为全程量处理 – 常常关中断,系统的并发性难以提高
TuTsu 10% 0
TuTsuwk.baidu.comsm
❖ 易维护性:易读、易扩充、易剪裁、易修改性 ❖ 易移植性:一次开发,多处使用 ❖ 安全性:计算机软件系统安全性的基础 ❖ 可适应性 ❖ 简明性
3
操作系统结构设计
Windows的设计目标
❖ 总原则:市场需求 驱动 设计目标
❖ 需求:
提供一个真32位抢占式可重入的虚拟内存操作系统
操作系统结构设计
几种常见的操作系统结构
•微内核结构
❖ CMU的Mach、早期的Windows NT…… ❖ 非常适宜于应用在网络环境下,应用于分
布式处理的计算环境中 ❖ 由两大部分组成 :
“微”内核 服务进程
16
操作系统结构设计
几种常见的操作系统结构
•微内核结构
•微内核
运行在核心态的内核提供所有操作 系统基本都具有的那些操作,包括 线程调度、虚拟存储、消息传递、 设备驱动以及内核的原语操作集和 中断处理等。这些部分通常采用层 次结构并且只提供了一个很小的功 能集合,通常称为微内核。
•服务进程
运行在用户态的并以客户/服务器方式运行的进程。操作系统所 有的其它部分被分成若干个相对独立的服务进程,提供各种系统 17 功能、文件系统服务以及网络服务等。客户进程与服务器进程之 间使用消息进行通信。
CMS I/O指令陷入
CMS VM/370 370裸机
系统调用陷入 CMS
向上层提供了若干台虚拟机。这些虚拟机仅仅是精确复制的 裸机硬件, 包含:核心态/用户态,I/O功能,中断,及其 它真实硬件所具有的全部内容。
14
操作系统结构设计
几种常见的操作系统结构
•虚拟机结构
若干个370虚拟机
由于每台虚拟机都与裸机相 同,所以每台虚拟机可以运 行一台裸机所能够运行的任 何类型操作系统。
❖ 兼容性——用户界面和API应与已有的Windows 版 本兼容
❖ 性能——系统应该在每一种硬件平台上尽可能快地 5 响应
操作系统结构设计
操作系统的设计阶段
❖ 功能设计:操作系统应具备哪些功能 ❖ 算法设计:选择和设计满足系统功能的
算法和策略,并分析和估算其效能 ❖ 结构设计:选择合适的操作系统结构
– 为了给进程的活动提供必要的环境和条件,因此必须 要有一部分软件——系统调用的各功能,来为进程提 供服务,通常这些功能模块(各系统调用功能)构成 操作系统内核,放在系统的内层。
13
操作系统结构设计
几种常见的操作系统结构
•虚拟机结构
若干个370虚拟机
•系统的核心 ----虚拟机监控程序(VM)
VM/370在裸机上运行并且具 备了多道程序功能。该系统
4
支持Unicode,适应全球市场的需要
操作系统结构设计
Windows的设计目标
❖ 可扩充性——当市场需求变化时,代码必须易于扩 充改动
❖ 可移植性——系统必须能够在多种硬件体系结构中 运行和相对简单地移入新的体系结构
❖ 可靠性及健壮性——系统能防止内部故障及外部侵 扰造成的损害,应用程序不应该损害操作系统及正 在运行的其他应用程序
能够在多种硬件体系结构和平台上运行
能够在对称多处理系统上运行并具有良好的可伸缩性
优秀的分布式计算平台,既可作为网络客户,又可作 为网络服务器
可运行多数现有16位MS-DOS和Microsoft Windows 3.1 应用程序
符合政府对符合POSLX 1003.1的要求
符合政府和企业对操作系统安全性的要求
操作系统结构设计
几种常见的操作系统结构
层次结构的特点
分解成许多功能单一的模块,各模块之间有清 晰的组织结构和依赖关系
具有更高的可读性和可适应性 层次结构是单向依赖的,上层模块建立在下层
基础上 很容易增加或替换掉一层而不影响其它层次 便于修改、扩充
11
操作系统结构设计
几种常见的操作系统结构
层次结构的层间关系
9
操作系统结构设计
几种常见的操作系统结构
❖ 层次结构
把操作系统的所有功能模块按功能的调用次序, 分别排列成若干层,各层之间的模块只能是单 向依赖或单向调用的关系
E.W.Dijkstra的THE系统:
5 4
3
2
1
10
0
操作员 用户程序 输入/输出管理 操作员-进程通信 内存和磁盘管理 处理器分配和多道程序
•会话监控系统(CMS)
CMS I/O指令陷入
CMS VM/370 370裸机
系统调用陷入 CMS
程序在执行系统调用时,它的系统调用陷入其虚拟机中的操
作系统。然后CMS发出硬件I/O指令,在虚拟机者执行为 该系统调用所需的其它操作。这些I/O指令被VM/370捕 15 获,作为对真实硬件模拟的一部分,VM/370随后就执行这 些指令。