操作系统的结构

 出处:

http://ettc.sysu.edu.cn/2005wlkc/caozuoxitong/book/chapter1/lesson7/lesson7.htm

随着操作系统的发展,功能越强,OS自身代码量越大--采用良好的结构:有利于保证正确性以及自身修改和扩充。

 

操作系统的设计原则:

1)        可维护性

容易修改与否称为可维护性;有三种可能的维护:

²        改错性维护:改正已发现的错误;

²        适应性维护:修改软件,使之适应新的运行环境(硬件环境和软件环境);如:操作系统的移植。

²        完善性维护:增加新功能。

2)        可靠性

可靠性包括两方面:

²        正确性:正确实现所要求的功能和性能;

²        稳健性:对意外(故障和误操作)作出适当的处理。

3)        可理解性

易于理解,以方便测试、维护和交流。

4)        性能

有效地使用系统资源;尽可能快地响应用户请求。

1.5.1整体或模块结构(monolithic system or modular system)

整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。

 

模块结构的特点:

       模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程--如 UNIX系统(注意:OSF/1不是)。

²        优点:具有一定灵活性,在运行中的高效率

²        缺点:功能划分和模块接口难保正确和合理;模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性--不利于修改。

1.5.2 分层结构或虚拟机(layered system or virtual machine)

从资源管理观点出发,划分层次。在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性。系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性。

 

1.分层结构的特点

²        优点:

¨         功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性

¨         低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用

²        缺点:降低了运行效率,各系统对具体划分多少层次有不同的看法。

 

2.分层原则

²        被调用功能在低层:如文件系统管理--设备管理--设备驱动程序。

²        活跃功能在低层:提高运行效率。

²        资源管理的公用模块放在最低层:如缓冲区队列、堆栈操作。

²        存储器管理放在次低层:便于利用虚拟存储功能。

²        最低层的硬件抽象层:与机器特点紧密相关的软件放在最低层。如Windows NT中的HAL--单处理、多处理。

²        资源分配策略和外壳放在最外层,便于修改或适应不同环境。

²        调用跨越的层次:相邻层(最严格)、所有下层、部分下层。

1.5.3 客户/服务器模型或微内核结构(client-server model or microkernel)

把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)。

 

微内核(micro-kernel):将更多操作系统功能放在核心之外,作为独立的服务进程运行;服务进程(或称作“保护子系统”)和客户进程(系统客户和应用客户)--需支持多进程。

本地过程调用 (LPC, Local Procedure Call):一种进程之间请求-应答式的消息(Message)传递机制--普通过程调用:执行点的直接转移(到子程序中)。

 

消息:是一定格式的数据结构。

①发起调用,送出请求消息。

②请求消息到达并进行处理。

③送出回答消息。

④整理回答消息,返回结果。

如:对文件create, read, write。

 

微内核模式的特点:

²        优点:

¨         良好的扩充性:只需添加支持新功能的服务进程即可

¨         可靠性好:调用关系明确,执行转移不易混乱

¨         便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上

 (远地过程调用 RPC, Remote Procedure Call)

              RPC的过程:RPC应用程序--RPC Stub--Network--RPC Server--进行本地调用

²        缺点:

              消息传递比直接调用效率要低一些 (但可以通过提高硬件性能来补偿)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值