11第十一章 操作系统设计1
[计算机软件技术基础(第三版)麦中凡 苗明川 何玉洁]第十一章_软件开发与软件维护
![[计算机软件技术基础(第三版)麦中凡 苗明川 何玉洁]第十一章_软件开发与软件维护](https://img.taocdn.com/s3/m/37950616c5da50e2524d7fce.png)
返回
20
一个圈就是一个过程/函数,可退化为一 个语句,也可再分解为一个子DFD图,出入的数
据流不变。 返回
21
控制流图
扩充DFD图为CFD(Control Flow Diagram)图,把控制动作以虚 线表示,非控制动作仍如DFD图。大圆圈依然是处理功能,虚箭头上 标明控制项(或事件)名。同样,平行虚线表示控制项存储(图11.14中 未示出),竖线条表示控制(规格)说明,即系统的行为。下面是复印 机的控制流图。
返回
15
状态图(State)
状态图描述某个对象实体因事件改变其状态,也就是行 为的综合快照,即在什么事件驱使下状态有什么改变。在需求 分析和设计中可以帮助找出遗漏和不太明确的功能(事例)。例 如旅店系统中的客房,用RoomState类来描述客房状态,则用 状态图对它建模,如图11.10所示。
返回
返回软件需求的目标是把用户的“需要”变成系统开发 的“需求”,或称需求规范。这个工作大体上分三 步:收集用户、市场、公司对本项目的需要;经过 分析建立解题模型;细化模型,抽取需求。请注意, 这个需求每一条都是系统测试的验收准则,所以模 型要细化到能写出可验收需求的程度,决不能太笼 统,如“开发一个办公室系统要灵活、方便好用。” 就不是一个好的需求,因为它既不能指导开发,也 无法验收。好的需求具有众多特点,归纳下来主要 有:一致的,完整的,可理解的,无二异的,和可 测试的。
返回
17
活动图(activity)
在分析和设计时,UML的活动图十分有用。它把传统的流 程图(Flowchart,只描述程序的动作步骤)和数据流图(DFD,只 描述动作后输入/输出数据的改变,不看步骤先后)结合在一起。 活动图既有控制流(顺序、分支、循环)又有数据流(每个动作点 前后数据变化),增加了数据、动作的同步分支,并且给每个对 象一个泳道,清晰地描述了对象间数据传递。较粗的活动图用于 分析,在设计时细化。在下节给出例子。
第11章 菜单设计总结

课堂练习
Submenu:如果菜单项还有下一级子菜单时选择此项。
Procedure:如果完成菜单项的功能需要执行多条命令时选择 该项。
11.2.1 菜单设计工具
章节目录 同步实验
2.菜单设计器的组成 (3)Options
Shortcut(快捷方式)区域: 用于定义菜单项的快捷键。 Negotiate(位置)区域:用于 设置菜单项标题的位置。 Skip For(跳过)文本框:用 于定义菜单项禁用条件。 Message(信息)文本框:用 于定义菜单项说明信息。 Pad Name(主菜单名)文本 框:用于指定菜单项的名称。 Comment(注释)文本编辑框 :用于指定菜单注释信息。
课堂练习
C. 可以将Visual FoxPro系统菜单的菜单项引入用户自 定义的菜单系统
同步实验
课堂练习
Insert Bar(插入栏):插入Visual FoxPro系统菜单 中的某些菜单项。当菜单级处于Menu Bar(菜单栏) 时,该按钮不可用。
Delete(删除):删除当前菜单项。 Move Item(移菜单项):将当前菜单项移动到一个 新的位置。
11.2 设计菜单
2018/10/17
课堂练习
11.4 本章小结
章节目录 同步实验
课堂练习
菜单一般用作向用户提供使用数据库应用程序 中所有功能的接口,用户可以利用Visual FoxPro提供 的菜单设计器来进行自定义菜单的设计。本章介绍了 菜单结构的基本组成、设计菜单的基本步骤及菜单设 计器的使用方法,并通过实例介绍了如何在Visual FoxPro中设计下拉式菜单、快捷菜单,如何引入系统 菜单项和在顶层表单中使用菜单等操作。
课堂练习
第十一章-嵌入式系统设计与应用—基于ARM...和Linux(第2版)-王剑-清华大学出版社

1. HTTP协议 HTTP(超文本传输协议)协议是Web服务器与浏览器通信的协议, HTTP协议规定了发送和处理请求的标准方式,规定了浏览器和服 务器之间传输的消息格式及各种控制信息,从而定义了所有Web通 信的基本框架。
一个完整的HTTP事务由以 下4个阶段组成: (1)客户与服务器建立 TCP连接; (2)客户向服务器发送请 求;
除此之外,硬件选择要考虑的因素主要还包括: 首先是需要考虑的是生产规模 其次是需要考虑开发的市场目标 最后只要可能,尽量选择使用普通的硬件。
嵌入式软件的开发主要采用的是“宿主机-目标机”的 交叉开发模式。常见的软件开发步骤如下所示: (1)配置开发环境及BSP开发。选择合适的开发工具, 针对嵌入式的硬件环境对操作系统进行设置剪裁,另 外增加BSP支持。 (2)编写用户程序和简单仿真调试。建立交叉编译开 发环境,开发用户用户程序,将其下载到目标板上调 试,应用程序开发完毕后,和文件系统一起次年改成 文件系统的镜像文件,然后通过仿真工具对系统进行 仿真和调试。 (3)系统的下载和脱机运行。当仿真完成后,评价系 统功能,如果达到开发目标,则可把最终形成的文件 下载并运行。
(3)如果请求被接受,则 由服务器发送应答,在应
答中包括状态码和所要的 文件(一般是HTML文档); (4)客户与服务器关闭连 接。
2. CGI原理 CGI(通用网关接口)规定了Web服务器调用其他可执行程序 (CGI程序)的接口协议标准。Web服务器通过调用CGI程序实现 和Web浏览器的交互,也就是CGI程序接受Web浏览器发送给Web 服务器的信息并进行处理,然后将响应结果再回送给Web服务器及 Web浏览器。CGI程序一般完成Web网页中表单(Form)数据的处理、 数据库查询和实现与传统应用系统的集成等工作。
软件工程导论第11章

【还可以把适配接口再进一步细分为转换接口和扩充接口。转换接口, 是为了克服与表示方法、数据结构或硬件特点相关的操作给重用带来 的困难而设计的,这类接口是每个类构件在重用时都必须重新定义的 服务的集合。当使用C++语言编程时,应该在根类(或适当的基类)中, 把属于转换接口的服务定义为纯虚函数。如果某个服务有多种可能的 实现算法,则应该把它当作扩充接口。扩充接口与转换接口不同,并 不需要强迫用户在派生类中重新定义它们,相反,如果在派生类中没 有给出扩充接口的新算法,则将继承父类中的算法。当用C++语言实现 时,在基类中把这类服务定义为普通的虚函数。】
4. 弱耦合 耦合:指一个软件结构内不同模块之间互连的紧 密程度。 在面向对象方法中,对象是最基本的模块,因此, 耦合主要指不同对象之间相互关联的紧密程度。 弱耦合是优秀设计的一个重要标准。
5
对象之间的耦合分为两大类: (1) 交互耦合: 对象之间的耦合通过消息连接来实现。 使交互耦合尽可能松散,应遵守下述准则: 尽量降低消息连接的复杂程度。 应该尽量减少消息中包含的参数个数,降低参数的复 杂程度。 减少对象发送(或接收)的消息数。 (2) 继承耦合 与交互耦合相反,应该提高继承耦合程度。 通过继承关系结合起来的基类和派生类,构成系统中 粒度更大的模块。设计时应该使特殊类尽量多继承并 使用其一般化类的属性和服务,从而更紧密地耦合到 其一般化类。
13
2. 软件成分的重用级别 (1) 代码重用 源代码剪贴:最原始的重用形式。 复制或修改原有代码时可能出错,存在严重的配臵 管理问题,人们几乎无法跟踪原始代码块多次修改 重用的过程。 源代码包含:许多程序设计语言都提供包含库中 源代码的机制。配臵管理问题有所缓解,修改了库 中源代码之后,所有包含它的程序自然都必须重新 编译。 继承:利用继承机制重用类库中的类时,无须修 改已有的代码,就可以扩充或具体化在库中找出的 类,基本上不存在配臵管理问题。
第11章.建立HMI画面

11. 建立HMI画面第十一章建立HMI画面11.建立HMI画面本章目的本章对iFIX的建立画面进行概要叙述。
包括下列内容:∙建立HMI系统画面∙使用创建画面向导∙配置工作台画面的用户首选项此外,本章还介绍在教程中使用的一些术语。
有关术语的更多信息,请参见本指导手册附录中的术语表在设计构思HMI的画面之前要考虑很多因素。
本章着重介绍当设计方案确定后如何使用iFIX去建立画面11.1. 应用开发流程图图11-1:应用开发流程图(显示图形开发)11.2. 建立HMI画面__________________________________A.当准备PC机环境时要考虑的因素∙应当将应用中使用的全部计算机的下列属性都设定为相同的值:-监视器分辨率-桌面(尤其是对于兼有Windows2000、Windows XP、Windows NT系统环境的用户)-系统字型库B.当准备iFIX环境时要考虑的因素∙重要的一点是决定用户在HMI环境中将有多少个“控制”特权-就是说,用户能不能够退出工作台、启动其他程序、移动窗口等等?∙待这些选项确定以后,相应地设定下列性能:-在运行模式,工作台全屏幕显示-环境保护设置◊标题栏、菜单栏- 用户接口配置◊标题栏高度、视窗边界尺寸、状态栏等11.2. 建立HMI画面B.iFIX工作台建立画面∙HMI环境的布局-创建HMI组件时通常使用多个画面-公用组件包括一个定位条、一个报警窗口、和一个主屏幕◊定位条始终是可见的◊HMI的主屏幕部分是浏览查看各种画面的区域◊报警画面也可以始终可见,或者作为一个独立的屏◊面-可以利用弹出画面显示信息、提供对设备控制的访问、或数据输入∙在屏幕中每个画面的尺寸、位置和外形-可以在工作台中手动配置一个单独的画面-使用创建画面向导去创建一组相同配置的画面◊使用预先定义的模板或者建立一个用户模板A.注解∙创建画面所使用的工具:- 使用预先定义的模板◊从预定义的模板的列表中进行选择◊可以设计并保存用户模板-根据用户的特术要求◊根据用户的特术要求,创建独特的画面-创建一个缺省的“无标题”画面∙本章着重于使用预定义的模板∙使用预览窗格查看HMI的比例模型B. 由预定义模板创建画面∙启动向导:-从文件菜单选择新建-画面或者点击新画面按钮-如果工作台中用户首选项中的启动向导已被禁用,启动将不起作用∙从预定义的配置中选择创建画面∙判定所要求的工作台性能状态-在这里选择标题栏、状态栏、和菜单栏∙从配置的列表中选择一种布局-预览窗格将显示工作台运行模式中显示的布局-在该步骤中能够修改配置,然后保存在一个新名称下◊对一个画面尺寸的更改,会动态地调整配置中的全◊部画面◊可以改变每个画面的外形属性∙选择并输入画面的文件名∙检查所作的选择,创建画面图11-2:创建画面向导的初始屏幕C.其它注解∙用预定义模板创建HMI画面,需要编辑并添加对象用来建立实际的可视化图形∙在工作台的标准配置模式中有些画面可能难于工作,这取决于创建过程中选择了哪些属性∙举例:-可能较难看到在屏幕右边运行的窄条画面或者在屏幕底部运行的短幅画面D.在工作台的全屏幕模式编辑画面∙进入全屏幕模式-使用工作台标准工具栏上的全屏幕模式按钮或者-使用工作台菜单栏的全屏幕选项∙退出全屏幕模式:-使用关闭全屏幕对话框或者-选择退出键(ESC),返回到常规配置模式∙将会看不见菜单栏和任何固定的工具栏,但是可以使用任何活动工具栏,包括工具箱图11-3:选择配置画面11.4. 设置用户首选项A. 注解:∙大部分设置必须设定缺省的“无标题”画面为优先选择∙例外情况有:-高速缓存◊设定画面的高速缓存功能开启或关闭-自动定标◊设置象素为逻辑单位定标特性开启或关闭-基本动画制作对话框◊当一个操作将导致现存的动画被删除时,选择提示或不提示◊双击或右键点击一个对象的动画选择时,选择显示或不显示◊有关更多内容参见动画制作章节-创建画面向导◊开启或者关闭向导-启动网格线,定格网格线,然后点击和粘贴◊这将影响所有已创建画面的特性11.4. 设置用户首选项图11-4:画面自定义A. 注解:∙当启动了工作台的运行模式,将打开这里所定义的画面-这些画面将从初始运行模式开始,不仅仅只是在配置切换到运行时方能启动∙常用的一个或多个画面将构成缺省的HMI屏幕∙控制当用户启动应用程序时看到的环境图11-5:自定义启动画面图11-6:运行模式的启动画面11.6. 练习11建立画面练习1111.6. 练习11学习目的:完成这个实验练习后,学员应能够:1.使用创建画面向导2.设定启动画面完成本练习的时间:30 分钟实验内容本练习创建构成HMI接口的画面,并将在教程的其余章节用到它。
AIS-11

系统实施
调试
测试的目的是尽可能多地暴露程序中的错误,发现错误
的最终目的是改正错误。
进一步诊断和改正错误,这就是调试的任务。
试探法:分析错误征兆,猜想故障的大致位置,在程序中
系统设计
系统数据库文件设计
二、数据库文件结构设计的考虑因素
(一)数据的可扩充性
(二)数据处理的效率
(三)数据的一致性及完整性 (四)数据的安全性
系统设计
系统数据库文件设计
三、数据库文件设计步骤
(一)用户需求分析
DFD ERD 将ERD转化为子模式 内模式:文件结构、各种存储路径、存储空间的分配、 记录的存储格式等等。
系统设计
四、代码设计的步骤
(一)调查、分析需代码化的对象
客户 供应商 存货 ……
(二)研究代码化对象的特征
数量、区域、规模、重要性……
(三)编制代码设计说明书
系统设计
系统数据库文件设计
一、需要建立的文件
主文件
反映数据项经过加以数据修改后当前状态的文件。
事务文件
等多方面较细致的设计。
概要设计
一、几个概念 (一)模块 一般认为,模块是指一段程序,可以是一个独立的程序,也 可能是其中的一段,或几个程序的结合。
(二)模块间的联系和模块内的联系
1、耦合
耦合反映模块间相互联系的紧密程度。
第十一章 萃取
y ' 1 x' 1 y ' x'
K A y A / xA
K B yB / xB
2.3 萃取剂的选择
2、萃取剂与稀释剂的互溶度 互溶度越小,萃取操作范围越大,萃取液最大组成越高, 并且互溶度小的系统β越大,分离效果越好。
2.3 萃取剂的选择 3、萃取剂的其他物性 溶解度大,所用萃取剂量少; 要有较大的密度差,便于相分离; 界面张力要适中(相分散和相分离); 溶剂比热小便于回收; 粘度小便于相分散; 化学稳定性好,无腐蚀,无毒,不易燃、易爆,价廉易 得。
第一节 第二节 第三节 第四节 概述
液-液萃取
萃取的基本原理 萃取过程计算 萃取设备
第三节 萃取过程的理论计算
3.1
3.2 3.3 3.4
单级萃取
多级错流萃取 多级逆流萃取 连续逆流萃取
234
3.1 单级萃取过程
M F S ER
S FM xF xM F MS xM y0
2.3 萃取剂的选择
4. 天生的一对矛盾:混合与澄清(相分散与相分离) 搅拌 混合液 萃取剂
A+B
(溶剂S)
萃取相
(S+A+B)
萃余相
(B+A+S)
2.4 温度对萃取过程的影响
T ↓,S与B互溶度↓,两相区面积↑,对萃取有利;但是T ↓ , 液体μ ↑ ,D ↓ ,不利传质,所以应综合考虑。
第十一章
2.1.1 三角形相图法
3. 三角相图中的相平衡关系
溶解度曲线
混溶点 两相区和单相区 共轭相
平衡联结线
临界混溶点: 辅助线:(两种方法)
计算机网络技术与应用第11章 网络工程案例分析、讨论
图11-3查询DNS服务器信息 根据以上信息,完成主机D 的Internet协议属性配置: 主机D 的IP 地址: (5) 主机D 的子网掩码: (6) 域名服务器IP 地址: (7) 主机D 的默认网关: (8)
11.1 案例1:路由器配置(RIP协议)
【问题 2】(每空1分,共4分) RouterA 上的路由表如图11-4所示,请在(9)~(12)空白处填写恰当的内容。
Internet
网络中心 RouterA fe0/0 服务器群
S1/0 S2/0 S3/0
fe3/0 主机D fe2/0 RouterB fe1/0 部门C 主机C
行政办公楼
图 11-1
DNS Server Web Server
部门A
部门D
教学实验楼
图书馆 RouterC
主机A
RouterD
主机B
校 园 网 拓 扑 图
11.2 案例2:Linux技术(Samba配置)
/
/bin /boot /dev /etc /home /lib /lost+found /mnt /opt /proc /root /sbin /usr /var /tmp 包含系统运行时要改变的数据 临时安装(mount)文件系统的挂载点 文件系统中程序所需要的共享库 用来存放系统管理所需要的配置文件和子目录 存放启动系统使用的文件
11.1 案例1:路由器配置(RIP协议)
【问题 1】(每空1 分,共8 分) 下图11-2为RouterB上的路由表信息,写出查询路由表的命令:(1)。该路由器上运行 的路由协议为 (2)。
图11-2 路由表信息
11.1 案例1:路由器配置(RIP协议)
行政办公楼部门 A 所属网络地址是(3),部门 D 所属网络地址是(4)。 在主机D 上使用命令Tracert DNS Server,显示结果如图11-3所示:
c++11-流类库与输入输出
6
输 插入运算符(<<) 插入运算符( ) 出 流
插入(<<)运算符是所有标准C++数据类型预先 设计的。 用于传送字节到一个输出流对象。
7
控制输出格式
输 出 流
控制输出宽度
–
为了调整输出,可以通过在流中放入setw操纵符或调用width成 员函数为每个项指定输出宽度。
例11-1 使用width控制输出宽度
8
输 例:使用 填充 使用*填充 出 流
#include <iostream> using namespace std; void main() { double values[]={1.23,35.36,653.7,4358.24}; for(int i=0; i<4; i++) 输出结果: 输出结果: { cout.width(10); ******1.23 ******1.23 cout.fill('*'); cout<<values[i]<<'\n'; *****35.36 } *****653.7 } ***4358.24
12
输 进制 出 流
dec、oct和hex操纵符设置输入和输出的缺省进 制。
13
输 输出文件流成员函数 出 流
输出流成员函数有三种类型:
– – –
与操纵符等价的成员函数。 执行非格式化写操作的成员函数。 其它修改流状态且不同于操纵符或插入运算符的成 员函数。
14
输 输出文件流成员函数 出
open函数
ifstream myFile;//建立一个文件流对象 myFile.open("filename",iosmode); myFile.open("filename",iosmode); //打开文件 打开文件"filename" //打开文件"filename"
SoC设计方法与实现 第11章-低功耗设计 课件PPT
使用多种功耗状态的存储器管理。
低功耗SoC设计技术的综合考虑
低功耗技术对功耗与设计复杂度的影响
低功耗技术 漏电功耗的减小 静态功耗的减小 时序影响
面积优化
10%
10%
0%
多阙值工艺
CMOS工艺的发展与功耗的变化
各层次低功耗设计的效果
低功耗反馈的前向设计方法
SoC设计方法与实现
第十一章
低功耗
设计(2)
低功耗技术
内容大纲
减少静态功耗的技术 减少动态功耗的技术
减少静态功耗的技术
多阈值设计(Multi-Vt Design) 电源门控(Power Gating) 体偏置(Body Bias)
80%
0%
0%
时钟门控
0
20%
0%
多电压
50%
40%~50%
0%
电源门控
动态电压及动 态频率缩放
体偏置
90%~98% 50%~70%
90%
~0% 40%~70%
-
4%~8% 0% 10%
面积影响 -10% 2% 2% <10%
5%~15% <10% <10%
设计方法影响 无 低 低 中 中 高 高
验证复杂度影响 低 低 低 中 高 高 高
多阈值工艺
MOS管的阈值电压越小,速度越快,但漏电越大。
MOS管的阈值电压(Vt)与漏电流的关系
多阈值的设计流程
一种使用多阈值的设计流程
电源门控方法
用逻辑门电路控制模块电压的打开或关闭
电源门控方法
体偏置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tu: 执行用户程序所占时间 Tsu: 执行操作系统程序为用户服务所占时间 Tsm: 执行操作系统程序做系统管理所占时间
可维护性
易读,易修改,易裁减,易扩充
可移植性
11.2 操作系统基本内核
内核成分
中断处理(非系统调用) 原语管理 处理机调度
中断处理 原语管理处理来自调度M3M4M5
功能n:模块n M6 优点:高效 缺点:正确性难于保障 M7 M8
M9
2. 核扩充法
OS1
扩充1 基本内核 硬件
OS2
扩充2
特点:适应性好 Eg. RC4000 P.B.Hansen
3. 层次化方法
E.W. Dijkstra 分若干层 层间单向依赖(全序,半序) M1 M2
M3
Example system: THE
被动-被动 主动 主动 主动
被动
被动
被动
被动
被动
11.3.1 基于共享变量的体系结构
主动 ... 被动 ... ... ... 主动 ... 被动 ...
被动
...
…
被动
... 优点:效率高
共享变量
缺点:不适合分布
11.3.2 基于消息通讯的体系结构
主动 ... 主动 ... ... ... 主动 ... 主动 ... 高级通讯原语 基本内核 优点:适合分布
对象头部属性
对象名(Object name) 对象目录(directory in which object live) 安全描述字(access security descriptor) 配额使用价格(resource quota charges) 打开把柄记数(open handle counter) 打开把柄数据库(open handle database) 永久/临时(permanent/temporary) 核心/用户模式(kernel/user mode) 访问记数(reference counts) 对象类型指针(type object pointer)
2层
1层 0层
内存管理
中断处理
设备管理
原语管理
处理机调度
宿住系统
5. 面向对象设计方法 Building Operating systems with objects + threads
Benefits:
(1) Better organization/structure of inherent complexity inheritance, containment,... (2) Reduced development effort through reuse (3) More extensible and maintainable system
对象体(Object body)
对象体
Windows2000/XP对象
Windows2000/XP设计特点
基于服务
– 由NT发展而来
C/S模型,RPC,LPC,DPC
关于微内核
– 最初:NT微内核 – 目前:不是纯微内核结构
文件、虚拟存储等已被放入核心
关于面向对象
– 执行体采用O2设计原则 – 大部分代码非O2语言编写
数据对用户模式访问是公开的或数据访问是共享的或受限 制时才使用对象
11.3 操作系统体系结构
操作系统组成成分
主动成分:进程,线程 被动成分:模块,对象 基于共享变量的体系结构 基于消息通讯的体系结构 微内核结构
操作系统体系结构
成分间的关系
1. 主动-主动 主动 消 息 主动 主动 主动
公共变量
2. 主动-被动 主动 主动
主动
被动
被动
被动
成分间的关系
第十一章 操作系统设计
操作系统设计目标 操作系统基本内核 操作系统体系结构
操作系统设计方法
基于公共变量的结构 基于消息传递的结构 微内核结构
模块接口法 核扩充法 层次化方法 面向对象方法
11.1 操作系统设计目标
正确性 高效性
系统效率
Tu Tsu Tu Tsu Tsm
Example systems: Windows2000/XP
11.5 系统举例—Windows2000
基本组成
(1) 硬件抽象层(HAL):体现硬件无关性.可加载 的核心模块HAL.dll,掩盖了与硬件有关的细节, 例如I/O接口、中断控制等. (2) 核心(kernel):由操作系统中最常用、最基础 的构件组成.其中包括调度、上下文切换、中断处 理、异步过程调用(APC)、延迟过程调用(DPC)、 多处理机同步等.内核常住内存. (3) 执行体(Executive):是Windows2000操作 系统的主体,包括进程管理器、虚拟内存管理器、 安 全 引 用 管 理 器 、 I/O 管 理 器 、 本 地 过 程 调 用 等.其中I/O管理包含了所有与外部打交道的成分, 如文件、网络等.
M6
M4
M5
M7
M8
M9
层次化设计的实现 1. 确定设计目标(An) 2. 确定宿主系统(A0)
3. 层次设计
(1) 自底向上(bottom-up) A0,A1,A2,…,An-1,An (3) 混合策略 A0,A1,A2,…,An-1,An
优点:易于调试
缺点:可能偏离设计目标 (2) 自顶向下(top-down)
缺点:效率不高
11.3.3 微内核结构
微内核(micro-kernel)是体积很小的内核,只包括操作 系统中绝对必要的成分,其它与应用有关的系统功能 以进程或线程模式在目态执行 .
文 件 系 统 设 备 驱 动 虚 拟 存 储 进 程 控 制 应 用 程 序 应 用 程 序
…
微内核 (Micro-kernel) 硬件
OS/2应用 OS/2子系统 系统级线程
Win32应用
POSIX应用 POSIX子系统
Win32子系统
系统服务 执行体
I/O管理器
用户态 系统态
对象 管理器
安全 访问控制
进程 管理器
虚拟存 储管理器
本地 过程调用
核心 HAL
文件系统 缓存管理 设备驱动 网络管理
硬件
Windwso2000/XP体系结构
微内核组成
处理机调度 基本中断处理程序 同步机制 基本内存管理 进程通讯原语 电源管理
优缺点
优点
– 体积小,正确性健壮性容易保障 – 适应性好,灵活性强,应用面广
缺点
– 实现效率低
11.4 操作系统设计方法
1. 模块接口法
功能1:模块1
功能2:模块2 … ...
M1
M2
An,An-1,An-2,…,A2,A1,A0
优点:无偏差 缺点:调试困难(仿真)
4. 分层原则 (1) 与界面有关的放在高层 (2) 与硬件有关的放在低层 (3) 并发控制放较低层 (4) 其它放在中层
分层实例
6层 5层 4层 3层 SPOOLing系统 作业调度 终端命令
系统调用(OS API) 进程(线程)管理 虚拟存储 高级通讯 文件管理