操作系统的结构设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)高性能:
相关文档
最新文档