体系结构

  • 基本概念
  1. 体系结构是一组部件和这些部件之间的联系的集合
  2. 自1964年G. Amdahl首次提出体系结构这个概念,人们对计算机系统开始有了统一而清晰的认识,为从此以后计算机系统的设计与开发奠定了良好的基础。
  3. 近四十年来, 体系结构学科得到了长足的发展, 其内涵和外延得到了极大的丰富。
  4. 特别是网络计算技术的发展,使得网络计算体系结构成为当今一种主要的计算模式结构。
  5. 微电子技术的飞速发展使芯片级体系结构研究成为一个挑战性课题。
  6. 体系结构与系统软件,应用软件,程序设计语言的紧密结合与相互作用也使今天的计算机与以往有很大的不同,并触发了大量的前沿技术、相关产品开发与基础研究课题。
  • 起源
  1. 在传统的程序设计领域中,人们使用流程图来表达系统的基本功能和实现的具体逻辑,但是,流程图实际上仅仅是源程序的图形化表示,无法给系统的分析和开发者提供更多的信息,所以没有在实际的系统开发过程中得到广泛的应用。
  2. 随着软件系统的规模和复杂性的增加,对软件系统的整体结构(数据和控制的逻辑)进行分析和描述成为大型系统开发的一个不可缺少的重要部分,显然,使用流程图是无法达到这个目标的,我们必须使用新的方法和概念来对系统的整体结构进行把握。
  • 系统分析

   系统分析实际上包括两个阶段的工作:

  1. 首先是需求的分析,也就是说,划分出系统和环境之间的界面,将所研究(或者是将要开发)的系统和周围的环境分离,这就是从使用者的观点,将整个系统作为一个整体来考察。
  2. 其次是系统的设计,根据系统的整体功能和数据,参考实际的物理系统或 者类似的系统,设计实际运行的软件系统(.rp),这一步骤实际上就是体系结构的分析和确定。 从系统工程的观点看来,任何复杂的系统都是由相对简单的,在当前所分析的系统层次是原始的基本元素(虽然在更进一步的分析中,这些元素可能具有非常复杂的 内部结构)组成的,这些基本元素之间存在复杂的相互作用。

   所以,软件系统的分析和设计的基本任务是:

      确立系统中的基本元素(完成系统的功能所必不可少的成 分);

      确定这些元素之间相互作用的方式(这就是系统的体系结构)。

  • 结构规范
  1. 管道和过滤器

每个组件(对数据和方法的简单封装)具有输入和输出的集合,从流中读出数据作为输入,产生输出数据的流。整个系统可以看成多个过滤器复合形成的数据处理组件。

管道:

    1. 过滤器之间是相互独立的(不能共享状态),其中一个过滤器的操作和行为不能影响另外过滤器的操作和行为,流的传送没有副作用。
    2. 过滤器对所输入流的来源和输出流的去向不关心,不需要知道流的来源和流的去向,来源和去向对于过滤器的数据处理没有任何影响。
    3. 过滤和流的传送可以是并发的,可以同时有多个流的传送存在于系统之中。

  eg:

    一个最著名的实例是unix的shell编程,多个对数据进行处理的程序(组件)通过管道联结起来,产生总和的效果

    还有传统的编译器源代码经过词法分析语法分析中间代码生成目标代码生成等步骤生成输出的目标代码。

  优点:

    整个系统的功能是多个过滤器作用的总和,这样可以简化系统的分析和设计,可以经过需求的分析之后将整个系统作为一个个过滤器处理,然后再逐步的细化成为多个相互连接的过滤器。

    支持组件的重用,同一个过滤器可以多次出现在系统的不同位置。

    易于维护和增强,过滤器可以被替换,可以增加新的过滤器到系统中而不改变原有的过滤器,不改变原来系统的基本功能。

    本质上的并发性支持,这种体系结构由于本质上是与各个独立的过滤器的状态无关的,与并行的流的通过次序也是无关的,所以并发是一个基本的体系结构自然具有的特性。

    

posted @ 2016-07-08 14:34  戏妫  Views(493)  Comments(0)    收藏  举报