操作系统体系结构
标签: 操作系统
学习人数: 6039

模块化结构

模块化程序设计技术是20世纪60年代出现的一种结构化程序设计技术。该技术基于“分解”和“模块化”的原则来控制大型软件的复杂度。每个模块具有某方面的管理功能,并仔细地规定好各模块间的接口,使各模块之间能通过接口实现交互。然后再进一步将各模块细分为若干个具有一定功能的子模块,同样也规定好各子模块之间的接口。

 

在划分模块时,必须充分注意模块的独立性问题,因为模块独立性越高,各模块间的交互就越少,系统的结构也就越清晰。衡量模块的独立性有以下两个标准:

1)内聚性:指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强。

2)耦合度:指模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好。

优点:结构紧密、接口简单直接、系统的效率相对较高。

缺点:对各模块间的接口规定很难满足在模块设计完成后对接口的实际需求。

 

设计必须做出一系列的决定,每个决定必须建立在上一个决定的基础上,但模块化结构设计中,各模块的设计齐头并进,无法寻找一个可靠的决定顺序。

 

层次结构

自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上。为此规定,每一层仅能使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得更容易。在用这种方法构成操作系统时,已将一个操作系统分为若干个层次,每层又由若干个模块组成,各层之间只存在着单向的依赖关系,即高层仅依赖于紧邻它的低层。

优点:

  1. 易保证系统的正确性:自下而上的设计方式使所有设计中的决定都是有序的,或者说是建立在较为可靠的基础上的,这样比较容易保证整个系统的正确性。
  2. 易扩充性和易维护性。在系统中增加、修改或替换一个层次中的模块或整个层次时,只要不改变相应层次间的接口,就不会影响其他层次,这必将使系统维护和扩充变得更加容易。

缺点:系统效率低。操作系统的各个功能模块应该放在哪一层,如何有效地进行分层是必须要考虑的问题。

 

微内核结构

由于它能有效地支持多处理机运行,故非常适用于分布式系统环境。即使在单计算机环境下,大多也采用基于客户/服务器模式的微内核操作系统结构。

它将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信。

优点:提高了系统的可扩展性、可靠性;可移植性强;提供了对分布式系统的支持;融入了面向对象技术。

缺点:较之早期的操作系统,微内核操作系统的运行效率有所降低。主要的原因是,在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换。



课后作业

课后习题

 

1.相对于传统操作系统结构,采用微内核结构设计和实现操作系统具有诸多好处,下列( )是微内核结构的特点。

Ⅰ.使系统更高效 Ⅱ.添加系统服务时,不必修改内核

Ⅲ.微内核结构没有单一内核稳定 IV .使系统更可靠

A. I、Ⅲ、IV        B. I、Ⅱ、IV

C.II、IV            D. I、IV

答案】C

【解析】微内核结构将操作系统的很多服务移动到内核以外(如文件系统),且服务之间使用进程间通信机制进行信息交换,这种通过进程间通信机制进行的信息交换影响了系统的效率,所以I错。由于内核的服务变少,且一般来说内核的服务越少内核越稳定,所以Ⅲ错。而 II、IV正是微内核结构的优点。


登录后发布评论

暂无评论,来抢沙发