怎么理解一个模块属于操作系统基本功能模块层

第二模块--操作系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第二模块--操作系统
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩13页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢最新自考资讯
猜猜下面是您感兴趣的内容在操作系统体系结构中,各层之间的模块只能是单向调用关系。这是________结构的主要特征。 _答案_百度高考
在操作系统体系结构中,各层之间的模块只能是单向调用关系。这是________结构的主要特征。
A.层次B.模块组合C.虚拟机D.客户/服务器
第-1小题正确答案及相关解析1.4操作系统设计
&& &&首先讨论操作系统在操作系统设计过程中,面临的主要困难。有操作系统设计的过程中主要困难有:设计复杂程度高、正确性难以保证和研制周期长等问题。下面分别进行简要的分析。
&&& 1.设计复杂程度高
&&& 操作系统的复杂程度主要表现在:程序长,有的功能模块包含数百万条指令;接口信息多,各个组成部分之间的信息交换很多,而且错综复杂;动态性强,程序本身包含较多的动态部分;并行性强,不同部分之间可以同时操作。
&&& 2.正确性难以保证
&&& 操作系统包含的功能成份很多,各种外部设备的接口复杂。导致操作系统源代码的正确性较难以保证。
&&& 由于操作系统是一个大型软件,参与开发的人员的基数也较大。这样也加大了保证整个软件的正确性的难度。
&&& 解决这一问题的途径就是发展良好的操作系统结构,采用先进的开发技术、工程仳的管理方法,并使用高效的开发工具。
&&& 3.研制周期长
&&& 一般的软件研制开发周期包括:需求分析,由用户提供软件的需求,并根据需求制作软件规格说明书;设计者根据软件规格说明书进行软件设计;实现者编写程序,调试、测试并整理各种开发文档,然后提交给用户使用,在应用的过程中不断改进和提高软件的品质。
&&&& 操作系统的研发也基本遵从这样的过程范式,但是因为上述两个原因,操作系统的研制周期比较长。
&&&&& 操作系统的设计过程一般可分为三个部分:功能设计、算法设计和结构设计。三方面的设计是互相渗透的,不能截然分开。
&&&&& 1.功能设计
&&&&& 功能设计指的是根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能,以及操作系统的类型。
&&&&& 2.算法设计
&&&&& 算法设计是根据计算机的性能和操作系统的功能,来选择和设计满足系统功能的算法策略,并分析和估算其效能。
&&&&& 3.结构设计
&&&&& 结构设计则是按照系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改,而且使用方便,适应性强。
&&&&& 操作系统是计算机系统的重要组成部分,是计算机系统工作时经常起作用的程序。同时,它又是一种复杂程度高的大型程序,为使计算机系统可靠而有效地工作,必须配置一个高质量的操作系统。
&&&&& 一个高质量的操作系统就具有可靠性、高效性、易维护性、易移植性、安全性和简明性等特征。
&&&&& 1.可靠性
&&&&& 可靠性包含了正确性和健壮性两个方面的含义。
&&&&& 操作系统是计算机系统中最基本、最重要的软件。随着计算机应用范围的日益扩大,对操作系统的可靠性要求也越来越高。可靠性的操作系统将严重影响使用效果。
&&&&& 影响操作系统正确性的因素有很多,最主要的是并发、共享以及随之带来的不确定性。
&&&& 可靠性除了正确性这一基本要求外,还应包括能在预期的环境条件下完成所期望的功能的能力。
&&&& 2.高效性
&&&& 操作系统的一个重要目标,是提高系统中各种资源的利用率,即提高系统的运行效率。一个计算机系统在其运行过程中或者处于目态,或者处于管态。处于目态的时候为用户服务,处于管态时既可能为用户服务,也可能做系统维护工作。
&&&& 3.易维护性
&&&&& 易维护性包括易读性、易扩充性、易剪裁性、易修改性等含义。为了对操作系统实施增、删、改等维护操作,必须首先了解系统,为此要求操作系统具有良好的可读性。
&&&&& 4.可移植性
&&&&& 可移植性是指,把一个程序系统从一个计算机系统环境中移到另一个计算机系统环境中并能正常运行的特性。
&&&&& 在操作系统的设计中,影响可移植性的最大因素就是系统和计算机硬件有关的部分的处理。通常操作系统与硬件有关的部分被设计在操作系统程序的底层,在进行操作系统的移植时,只需修改操作系统的底层这一部分。
&&&&& 5.安全性
&&&&& 操作系统的安全性是整个计算机系统安全性的基础,它为保护用户的程序和数据提供了最基本的安全机制。在网络环境中,操作系统的安全性更为重要。
&&&&& 6.简明性
&&&&& 如果一个操作系统没有简明性,那么该操作系统的设计和开发人员在工作中就很难清晰地了解和掌握该操作系统的设计。而如果一个操作系统缺乏简明性,那么在系统的修改和维护过程中,将会产生许多意想不到的困难。
&&&&& 任何事物都有其内部的结构。结构是构成一个事物内部的各种基本成份以及这些基本成份之间的关系。
&&&&& 软件结构研究的对象主要是组成软件的各部分划分的原则以及它们之间的关系(即通信),简言之,就是软件的构成法则和组合方法。
&&&& 1.操作系统结构设计的重要性
&&&& 操作系统是一种大型软件,为了研制操作系统,必须研究分析它的结构,也就是要考虑如何把一个大型软件划分成若干较小的模块,以及这些模块之间怎样接口。操作系统是一个具并发特性的大型程序,模块间的接口是相当复杂的,信息交换也是十分频繁的,因而对结构的研究就显得更加重要了。
&&& 所谓操作系统的结构,是指操作系统各部分程序的存在方式及相互关系。若操作系统的各部分程序以程序模块方式存在,相互之间通过调用建立起关系,那么这种操作系统具有模块接口结构。若各部分程序以进程的方式存在,相互之间通过通信建立起关系,那么这种操作系统具有进程结构。若操作系统能按照诸模块的调用顺序或主进程的信息发送顺序把模块进程分层,各层之间只能单向依赖,这样就分别产生了模块层次结构的操作系统或进程层次结构的操作系统。
&&&& 在早期的操作系统设计中,由于计算机结构比较简单,系统规模也较小,逻辑关系较简单,设计者往往只注重功能设计和效率,而忽视了结构的设计。但随着计算机结构的复杂化,应用范围的不断扩大,使用要求的不断提高,人们不仅要求系统有较强的功能
,而且要求系统有较强的可适应性和可靠性。
&&&& 2.操作系统结构研究的目标
&&& 可以用下面三条来概括操作系统结构研究的目标:
&&& (1)系统模块化;
&&& (2)模块标准化;
&&& (3)通信规范化。
&&&& 前面已经叙述,对一个大系统来说,为了分解其复杂性,总是把它分解为相对独立的成份,这样对每一个小的成份就比较容易掌握(必要时再分解),而且要使每个成份之间的联系尽量简单,这些成份就是构成系统的模块。
&&&& 究竟什么是模块呢?非形式化、直觉的认识就是具有一定功能的程序块,这个定义并不严格。随着研究的深入,模块的概念也进一步严格化,新的理解将模块看做一组数据结构以及定义在这组数据结构上的一组操作。对模块的访问只能通过这些操作来完成,这称之为信息隐蔽。
& &&具体来讲模块内的操作的对象就是模块内的数据结构,如同加减乘除一样,它们操作的对象不同,含义也不尽相同。
&&& 模块标准化指两方面的内容:一是标准设计,作到模块规格划一,遵循相同的模块构造准则符合一定的模块(构件)标准;二是需要总结、提炼操作系统的基本成份然后把这些基本成份定型化、模块化,即把反应操作系统本质的一些程序成份固定下来变成标准件、构件或者说构建操作系统的积木。
&&& 通信规范化主要是指模块之间的接口应该清晰划一,模块的联系方式要统一,这是标准化的一种方式。
&&&&& 常见的操作系统体系结构有整体结构、层次式结构和微内核(客户/服务器)结构等。本节我们对这些常见的操作系统体系结构做简要的介绍。
&&&&& 1.整体式结构
&&&&& 这是早期操作系统设计中所采用的方法,即首先确定操作系统的总体功能,然后将总功能分解为若干个子功能,实现每个子功能的程序称为模块。再按照功能将上述每个大模块分解为若干个较小的模块,如此下去,直至每个模块仅包含单一功能或紧密联系的小功能为止,即分解为最基本的模块为止。最后通过接口将所有模块连接起来形成一个整体。我们把这种操作系统的结构称之为模块组合结构。它的主要优点是,结构紧密,接口简单直接,系统效率较高。此时,操作系统是一个有多种功能的系统程序,可以看成是一个整体模块,也可看成是由若干个模块按一定的结构方式组成的。
&&&& 模块组合法(或称无序模块法、模块接口法等)中,系统中的模块不是根据程序和数据本身的特性而是根据它们完成的功能来划分的,数据基本上作为全程量使用。
&&& 模块组合法的缺点有以下三点:
&&& 第一,模块间转接随便,名模块互相牵连,独立性差,系统结构不清晰。
&&& 第二,数据基本上作为全程量处理,系统内所有模块的任一程序均可对其进行和修改,从而造成了各模块间有着更为隐蔽的关系。
&&& 第三,由于模块组合结构常以大型表格为中心,为保证数据完整性,往往采用全局封中断办法,从而限制了系统的并发性。系统中实际存在的并发生也未能抽象出明确的概念,缺乏规格的描述方法。所以,这种结构的可适应性比较差。
&&&& 2.层次结构
&&&& 从对整体式结构缺点的分析可以看到,要克服整体式结构的缺点,就必须减少各模块之间毫无规则地互相调用、相互依赖的关系,特别是循环调用现象。层次结构正是从这点也发,力求使模块是调用的无序性变为有序性。因此所谓层次式结构就是把操作系统的所有功能模块,按功能流图的调用次序,分别将这些模块排列成若干层,各层之间的模块只能是单向依赖或单向调用关系。
&&&& 层次结构法的优点是,它既具有模块接口法的优点----把复杂的整体问题分解成若干个比较简单的相对独立的成份,即把整体问题局部化,使得一个复杂的操作系统分解成许多多功能单一的模块。同时它又具有模块接口法不具有的优点,即各模块之间的组织结构和依赖关系清晰明了。这不但增加了系统的可读性和可适应性,而且还使我们对操作系统的每一步都建立在可靠的基础上。
&&&& 层次式结构的优点还在于很容易对操作系统增加或替换掉一层而不影响其他层次。不难理解,采用层次结构法设计的操作系统具有易于调试、易于修改、易于扩充、易于维护、易于保证正确性等优点。因而被广泛的采用。
&& 分层原则如下:
&& (1)为了增加操作系统的可适应性,并且方便于将操作系统移植到其他机器
上,必须把与机器特点紧密相关的软件,如中断处理、输入输出管理等放在紧靠硬件的最低层。
&& (2)对于一个计算机系统来说,往往具有多种操作方式,为了便于操作系统从一种操作方式转变到另一种操作方式,通常把三种操作方式共同要使用的基本部分放在内层,而把随三种操作方式而改变的放在外层,内层部分保持不变。
&&& (3)当前操作系统的设计都是基于进程的概念,进程是操作系统的基本成份。为了给进程的活动提供必要的环境和条件,因此必须要有一部分软件--------系统调用的各功能
,来为进程提供服务,通常这些功能模块构成操作系统内核,放在系统的内层。内中又分为多个层次,通常将各层均要调用的那些功能放在更内层,参见图1-7。
&&&& 3.微内核(客户/服务器)结构
&&&&& 当前计算机技术发展的突出特点是要求广泛的信息和资源的共享。所以分布式处理合乎客观实际和新的应用需要。
&&&&& 在这样的应用环境下,操作系统的体系结构也在发展和变化。采用客户/服务器结构的操作系统就适宜于应用在网络环境下分布式处理的计算环境中。由于这种体系结构所具有的一些特征,它又被称为微内核体系结构。
&&&&& 采用客户/服务器结构模式的典型操作系统有卡内基-梅隆大学研制的操作系统NT的早期版本。它们的共同特点如下:
&&&& (1)运行在核心态的内核:内核提供所有操作系统基本都具有的那些操作,如线程调度、虚拟存储、消息传递、设备驱动以及内核的原语操作集和中断处理等。这些部分通常采用层次结构并构成了基本操作系统。因为这时的内核只提供了一个很小的功能集合,所以通常又称为微内核。
&&&& (2)运行在用户态的并以客户/服务器方式运行的进程层:除内核部分外,操作系统所有的其他部分被分成若干个相对独立的进程,每一个进程实现一组服务,称为服务进程。它的任务是检查是否有客户机提出要求服务的请求,并在满足客户机进程的请求后将结果返回,而客户机可以是一个应用程序,也可以是一个服务进程。客户机进程与服务器进程之间的通信是采用发送消息进行的,这是因为每个进程属于不同的虚拟地址空间内,它们之间不能直接通信,必须通过内核进行,而内核则是被映射到每个进程的虚拟地址空间内的,它可以操纵所有进程。客户机进程发出消息,内核交消息传给服务进程。服务进程执行相应的操作,其结果又通过内核用发消息方式返回给客户机进程,这就是客户/服务器的运行模式。
&&&& 这种模式的优点在于,它将操作系统分成若干个小的并且自包含的分支(服务进程),每个分支运行在独立的用户进程中,相互之间通过规范一致的方式接收发送消息而联系起来。操作系统在内核中建立起了最小的机制,而把策略留给用户空间中的服务进程,这带来了很大的灵活性,直接的好处是:
&&&&& (1)可靠:由于每个分支是独立的自包含的(分支之间耦合最为松散),所以即使某个服务器失败或产生问题,也不会引起系统其他服务器和系统其他组成部分的损坏或崩溃。
&&&&& (2)灵活:便于操作系统增加新的服务功能,因为它们是自包含的,且接口规范。同时修改一个服务器的代码不会影响系统其他部分,可维护性好。
&&&&& (3)适宜于分布式处理的计算环境:因为不同的服务可以运行在不同的处理器或计算机上,从而使操作系统自然地具有分布式处理的能力。
当然这种体系结构也有它的缺陷,主要是对于效率的考虑。因为所的用户进程只能通过微内核相互通信,微内核本身就成为系统的瓶颈,在一个通信很频繁的系统中,微内核往往不能提供很好的效率。

我要回帖

更多关于 深入理解操作系统 pdf 的文章

 

随机推荐