操作系统的结构设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows2000/XP客户/服务器结构(3)
结构简框
系统进 程
服务进 应用程 环境子系
程
序
统
子系统动态链接库
执行体
核心
设备驱动程序
硬件抽象层
图形 引擎
用户态 核心态
Windows2000/ XP客户/服务器结构(4)
系统进程 服务管理器 安全验证 Win登录 会话管理器
服务进程 Service.exe
3)虚拟机为进程或模块提供了功能较 强的指令系统。
内核 被触 发和 内核 处理 流程
自愿中断事件
保护现场
分析和传递参数
是 原语?
原语处理
否
创建系统进程
系统调用处理
运行进程 发发现现中断中源 断源 装配中断码 交换PSW
强迫中断事件
目 态
硬 件 完 成
机器故 障
中断处 理
I/O 中断 处理
外中 断处 理
• 层次结构的全序和半序式 • 层次结构的由底向上方法
和自顶向下方法
层次式结构的操作系统(3)
构造层次结构OS分层原则
1)把与机器硬件有关的程序模块放在 最底层,
2)反映系统外特性的软件放在最外层,
3)按照实现操作系统命令时模块间的 调用次序或按进程间单向发送信息的顺 序来分层
4)为进程的正常运行创造环境和提供条 件的内核程序应该尽可能放在底层。
客户/服务器与微内核 结构操作系统(2)
客户/服务器结构的思想(1)
• 每个进程实现一类服务,称服务器进 程(如文件服务、进程管理服务、存储 管理服务、网络通信服务等)。它的任 务是检查是否有客户提出服务请求, 如果有请求则在满足客户的要求后返 回结果,于是,用户进程与服务器进 程形成了C/S关系。
} else … while (true);
1.4.6 操作系统的运行模型(1)
• 操作系统本身是一组程序,也在处理器 上运行,那么,操作系统程序是否组织 成进程?它是如何控制的、怎样执行的 呢?它在什么模式下运行呢?
• 从操作系统的运行方式来看,可分成: 非进程内核模型、OS功能(函数)在用户 进程内执行的模型和OS功能(函数)作为 进程执行的模型。
操作系统的构件(12)
5、类程
• 类程用于管理私有资源,对类程的 调用表示对私有资源的操作。它仅 能被进程及起源于同一进程的其它 类程或管程嵌套调用链所调用。其 本身也可以调用其它类程或管程。 类程可以看作子程序概念的扩充。
操作系统的构件(13)
采用进程、管程、类程实现的操作系统
• 进程执行过程中若请求使用共享资源, 可以调用管程;若要控制私有资源操作, 可以调用类程,这样便于使用高级语言 来书写操作系统。
4)可靠性 5)支持分布式系统 6)支持面向对象的操作系统
客户/服务器与微内核 结构操作系统(6)
2、微内核的设计
1)基本的存储管理 微内核支持内核外部的页面管理和虚存管 理:
•转让(Grant)
•映射 (Map)
•刷新(Flush)
客户/服务器与微内核 结构操作系统(7)
内核外的页面管理程序做缺页处理
• 1975年,汉森成功地在PDP 11/45机上实 现了:单用户操作系统Solo、处理小作 业作业流系统和过程控制实时调度系统 等三个层次管程结构的操作系统。
操作系统体系结构分类
• 整体式结构 • 层次式结构 • 虚拟机结构 • 客户服务器Leabharlann Baidu微内核结构
1.4.2 整体式结构的操作系统
操作系统的整体式结构又叫模块组 合法,早期操作系统(如IBM操作系 统)采用这种结构设计方法,
操作系统的运行模型(2)
1)非进程内核模型
P1
P2
…
Pn
操作系统内核
操作系统运行模型(3)
2)OS功能在用户进程内执行的模型
P1
OS func
P2
…
OS func
进程切换函数
Pn
OS func
操作系统运行模型(4)
OS功能在用户进程内执行模型 的进程映像
进程控制块
用户堆栈
用户私有地址空间(程序、数据)
客户/服务器与微内核 结构操作系统(4)
作业管理
内
核
文件管理
模
式
设备管理
用 户客 模户 式进
程
设文虚安 备件存全 驱服管服 动务理务 程器器 序
存储管理
进程管理
微内核
硬件
硬件
1) 分层结构内核
2) 微内核
客户/服务器与微内核 结构操作系统(5)
微内核结构的优点有: 1)一致性接口 2)可扩充性 3)可移植性
法可组成不同结构的操作系统。
操作系统的构件(1) • 内核 • 进程 • 线程 • 类程 • 管程
操作系统的构件(2)
1、内核
• 内核不是进程,是提供支持系统运行 的基本功能的一组程序模块,有了内 核的支撑,进程运行环境得到改善, 安全性得到保证,系统效率就能提高。
• 分类:微内核和单内核。
• Linux是单内核操作系统 ,Mach是微 内核操作系统 ,Windows2000/XP改 进的C/S结构 。
1.4 操作系统的结构设计
1.4.1 操作系统的构件 1.4.2 整体式结构的操作系统 1.4.3 层次式结构的操作系统 1.4.4 虚拟机结构的操作系统 1.4.5 客户/服务器与微内核结构的操作系统 1.4.6 操作系统的运行模型 1.4.7 Windows 2000/ XP的客户/服务器结构
1.4 .1操作系统的结构设计
2)进程间的信号发送、消息传递和同步互
斥由通信及同步机制完成,进程无法有意或 无意破坏它进程的数据。每个进程相对独立, 相互隔离,提高了系统的安全性和可靠性。
操作系统的构件(9)
进程概念使OS结构变得清晰(2)
3)进程结构较好刻画了系统的并 发性,动态地描述出系统的执行过 程,具有进程结构的操作系统,结 构清晰、整齐划一,可维护性好。
Windiws2000/ XP客户/服务器结构(2)
• 采用基于对象技术,提出了一种C/S系 统结构,该结构在纯微内核结构的基础 上做了扩展,融合了层次式结构和纯微 内核结构的特点。
• 对操作系统性能影响很大的组件放在内 核下运行,其他功能则在内核外实现。
• 主要优点是模块化程度高、灵活性大、 便于维护、系统性能好。
THE系统第一次提出层次结构设计方法
• 第0层完成中断处理、定时器管理和处理 器调度。第1层内存和磁鼓管理,为进程 分配内存空间,并自动实现内存和磁鼓对 换区的数据交换。第2层处理进程与操作 员间的通信,为每个进程生成虚操作员控 制台。第3层I/O管理,管理信息缓冲区。 第4层用户(进程)层。第5层系统操作员 (进程)层。
创建系统进程
程序 中断 处理
操 管作 态系
统 内 核 完 成
队列调整
低级调度
目
运行进程
态
操作系统的构件(7)
2、进程
进程是并发程序设计的一 个工具,并发程序设计支 撑了多道程序设计
操作系统的构件(8)
进程概念使OS结构变得清晰(1)
1)一个进程到另一个进程的控制转移由进 程调度机构统一管理,不能杂乱无章,随意 进行。
1.4.4 虚拟机结构的操作系统(1)
基于如下思想,一个分时系统应该提 供以下特性:
(1) 多道程序,
(2) 一个具有比裸机更方便、界面扩展 的计算机。
VM/370的主旨在于将此二者彻底地隔 离开来。
虚拟机结构的操作系统(2)
• 物理计算机资源通过多重化和共享技 术可改变成多个虚拟机。
• 基本做法:通过用一类物理设备来模 拟另一类物理设备,或通过分时地使 用一类物理设备,把一个物理实体改 变成若干个逻辑上的对应物。物理实 体是实际存在的,而逻辑上的对应物 是虚幻的、感觉上的。
操作系统结构设计概况(1) 操作系统设计呈现出以下特征: 一是复杂程度高, 二是生成周期长, 三是正确性难保证 。 例如,CTSS、OS/360、Multics 、 Windows 2000
操作系统的结构设计概况(2)
操作系统结构设计有两层含义
一.是研究操作系统程序的数据结构 和控制结构;
二.是组成操作系统程序的构造过程 和方法。采用不同的构件和构造方
操作系统的构件(3)
Linux的内核
• Lniux的模组(module) ,一定程度上 解决了核心功能的灵活性和可伸缩性 问题。
• Linus曾经就结构问题做出过解释: 现代成功的操作系统基本上都不具有 微内核特性,因此,Linux也不必是 微内核结构操作系统。
操作系统的构件(4)
内核提供以下三方面功能
层次式结构的操作系统(4)
• 层次结构的优点:整体问题局部化,系统 的正确性可通过各层正确性来保证。增加、 修改或替换层次不影响其他层次,有利于 系统的维护和扩充。
• 层次结构是分层单向依赖的,必须要建立 模块(进程)间的通信机制,系统花费在 通信上的开销较大,系统的效率也就会降 低。
层次式结构的操作系统(5)
•主要设计思想: •主要设计步骤: •主要优点和缺点:
1.4.3 层次式结构的操作系统(1)
层次式结构是把操作系统划分为内 核和若干模块(或进程),这些模 块(或进程)按功能的调用次序排 列成若干层次,各层之间只能是单 向依赖或单向调用关系,这样不但 系统结构清晰,而且不构成循环。
层次式结构的操作系统(2)
虚拟机结构的操作系统(3)
程序设 计接口
进程 内核
进程 内核 虚机器 硬件
进程 内核
虚拟机概念结构
370虚拟机
I/O指令 陷入
CMS CMS CMS VM370 370裸机
运行CMS的VM370虚拟机器
系统调用 陷入
1.4.5 客户/服务器与微内核 结构操作系统(1)
1、客户/服务器与微内核结构 客户/服务器结构的思想:将操作系统 分成两大部分, 一是运行在用户态并以C/S方式活动的 进程; 二是运行在核心态的内核。
1)中断处理。 2)短程调度。 3)原语管理。
操作系统的构件(5)
内核的执行有以下属性
1)内核是由中断驱动的 2)内核的执行是连续的 3)内核在屏蔽中断状态下执行 4)内核可以使用特权指令
操作系统的构件(6)
内核和裸机组成了一台虚拟机具有 以下特性:
1)虚拟机没有中断, 2)虚拟机为每个进程提供了一台虚拟 处理器,
客户/服务器与微内核 结构操作系统(9)
3)I/O和中断管理
driver thread; do
wait for (mhg, sender); if sender = my_hardware_interrupt
{ read/writer I/O ports; reset hardware interrut
客户/服务器与微内核 结构操作系统(3)
客户/服务器结构的思想(2)
• 运行在核心态的内核把该消息传给服务 器;服务器执行相应操作,再通过内核用 消息把结果返回给用户。内核只实现极 少任务,主要起信息验证、交换的作用, 因 而 , 称 微 内 核 (Microkernel) , 这 种 结 构也就称为客户/服务器与微内核结构。
应用进程
缺页
恢
中断
复
微内核
页面管理程序
地址空间 函数调用
客户/服务器与微内核 结构操作系统(8)
2)进程间通信
• 微内核操作系统中,进程和线程通信 的基本形式是消息。进程间通信基于 进程间相关联的端口(Ports),一个 端口是一个特定进程的消息队列,与 端口相关的是一张能力表,记录了可 以与这个进程通信的进程。
操作系统的构件(10)
3、线程
• 进程是系统进行保护和资源分配的 单位,而线程则是进程中一条执行 路径,每个进程中允许有多个并行 执行的路径,线程才是系统进行调 度的单位。
操作系统的构件(11)
4、管程
• 管程是管理共享资源的机制,对 管程的调用表示对共享资源的请 求与释放。管程应包含条件变量, 当条件不满足时,可以通过对条 件变量做延迟操作使调用进程等 待,直到另一个进程调用管程过 程并执行一个释放操作为止。
RPC Spooler 事件日志
环境子系统 POSIX OS2
WIN32
系统线程
NTDLL.DLL
应用程序 任务管理器 IE浏览器 用户程序
子系统DLL
用
户
态
系统服务调度进程 核心态可调用接口(执行程序API)
核 Win32 心 User 态
I/O 文件缓存即插即用 电源 安全访问 虚存 进程线 注册表配 局部过 GDI 管理器 管理 管理 管理器 监视 管理 程管理 置管理器 程调用 图形驱动
内核堆栈
共享地址空间
操作系统的运行模型(5)
3)OS功能作为独立进程执行的模型
P1
P2
…
Pn
OS1 OS2 … OSm
进程切换函数
1.4.7Windows 2000/ XP客户/服 务器结构(1)
Windows 2000/XP系统结构的设计目标:
1)可扩充性: 2)可移植性: 3)可靠性与坚固性: 4)兼容性: 5)高性能: