正在加载图片...
动垃圾回收等 消息传递相互独立的处理之间有明确的交互,通过显式的离散方式的数据传递。这种传递可以是 同步的,也可以是异步的。例如,TCP/IP。 共享数据构件们通过同一个数据空间进行并发的操作。例如,多用户数据库、数据黑板系统 软件系统的体系结构经历了一个由低级到高级的发展过程。其间出现过下列体系结构 (1)数据流系统 批处理 管道及过滤器 这种结构中的每一个组成成份都有一套输入和输出数据,都依输入数据一处理一输出结 果的方式工作。进行数据变换的构件叫做过滤器,把数据从一个过滤器的输出导入到另一个 过滤器的输入,就叫做管道。在这种系统中,各个过滤器必须是相互独立的,每一个过滤器 对它的上游或下游的过滤器的情况是不知道的,也不能做任何假设。如果要求最终的输出结 果与各个过滤器的执行次序相关,就是一个数据流方式的体系结构。这种结构的优点是:数 据流程设计明确,直接支持复用,系统容易维护和升级,可以进行某些性能分析(如流量、 死锁等),容易支持并行计算。缺点是:容易导致把系统变成为简单的批处理作业。每一个过 滤器都要考虑相似的数据检验和处理,不能很好地支持交互式操作和反馈。对数据的格式不 能做过多的约定,使得每个过滤器的实现会更复杂。 (2)调用一返回系统 主程序/子程序 层次结构 在层次结构中,每一层都只与上下相邻的两层通信。每一层在利用下层基础服务的条件 下,为上层提供服务。最典型的例子就是各种虚拟机、X- window以及 OSL-ISO的7层网络 协议。这种结构的优点是:提供逐步抽象的编程支持,支持复用及系统升级。缺点是:不是 所有的系统都适合于建成层次结构,不能提供最佳性能。 面向对象的系统 在这种系统中,数据和其相关的基本操作被封装在一起。系统的构件是对象。对象具有 诸如封装、隐蔽、继承等良好的特性。对象必须自己维护其数据的一致性。这种结构的优点 是:将具体的实现部分隐蔽在对象中,使得代码之间的独立性很好,有利于将复杂的系统分 解为相互操纵的子任务。缺点是:对象间进行一般的调用时必须知道对方的标识。如果一个 对象的标识发生变化,所有显式调用这个对象操作的地方都要修改。对象之间的同步等还缺 乏现成的机制。 (3)独立构件系统 进程间通信 事件驱动 这种结构的特点是事件的发出者不必知道,也不应假设对该事件的具体处理过程。它的 优点是:提供了强大的可复用性支持。系统的重配置也很容易。缺点是:软件系统中的构件 在很大程度上依靠操作系统的调用。如果一个事件的处理需要多个进程处理,活动进程的激 活次序是不能保证的。经过事件传递数据也较受限制。事件处理中的逻辑处理实际上带有时 态性质,与一般的逻辑处理不一样。 (4)虚拟机 解释器 解释器的目的是实现一个虚拟机。这是一类比较复杂的体系结构,但是,如果进行结构 分析的话,就会发现看似不同的系统有着十分相似的结构7 动垃圾回收等。 消息传递 相互独立的处理之间有明确的交互,通过显式的离散方式的数据传递。这种传递可以是 同步的,也可以是异步的。例如,TCP∕IP。 共享数据 构件们通过同一个数据空间进行并发的操作。例如,多用户数据库、数据黑板系统。 软件系统的体系结构经历了一个由低级到高级的发展过程。其间出现过下列体系结构。 (1) 数据流系统 ▪ 批处理 ▪ 管道及过滤器 这种结构中的每一个组成成份都有一套输入和输出数据,都依输入数据―处理―输出结 果的方式工作。进行数据变换的构件叫做过滤器,把数据从一个过滤器的输出导入到另一个 过滤器的输入,就叫做管道。在这种系统中,各个过滤器必须是相互独立的,每一个过滤器 对它的上游或下游的过滤器的情况是不知道的,也不能做任何假设。如果要求最终的输出结 果与各个过滤器的执行次序相关,就是一个数据流方式的体系结构。这种结构的优点是:数 据流程设计明确,直接支持复用,系统容易维护和升级,可以进行某些性能分析(如流量、 死锁等),容易支持并行计算。缺点是:容易导致把系统变成为简单的批处理作业。每一个过 滤器都要考虑相似的数据检验和处理,不能很好地支持交互式操作和反馈。对数据的格式不 能做过多的约定,使得每个过滤器的实现会更复杂。 (2) 调用―返回系统 ▪ 主程序∕子程序 ▪ 层次结构 在层次结构中,每一层都只与上下相邻的两层通信。每一层在利用下层基础服务的条件 下,为上层提供服务。最典型的例子就是各种虚拟机、X-window 以及 OSI-ISO 的 7 层网络 协议。这种结构的优点是:提供逐步抽象的编程支持,支持复用及系统升级。缺点是:不是 所有的系统都适合于建成层次结构,不能提供最佳性能。 ▪ 面向对象的系统 在这种系统中,数据和其相关的基本操作被封装在一起。系统的构件是对象。对象具有 诸如封装、隐蔽、继承等良好的特性。对象必须自己维护其数据的一致性。这种结构的优点 是:将具体的实现部分隐蔽在对象中,使得代码之间的独立性很好,有利于将复杂的系统分 解为相互操纵的子任务。缺点是:对象间进行一般的调用时必须知道对方的标识。如果一个 对象的标识发生变化,所有显式调用这个对象操作的地方都要修改。对象之间的同步等还缺 乏现成的机制。 (3) 独立构件系统 ▪ 进程间通信 ▪ 事件驱动 这种结构的特点是事件的发出者不必知道,也不应假设对该事件的具体处理过程。它的 优点是:提供了强大的可复用性支持。系统的重配置也很容易。缺点是:软件系统中的构件 在很大程度上依靠操作系统的调用。如果一个事件的处理需要多个进程处理,活动进程的激 活次序是不能保证的。经过事件传递数据也较受限制。事件处理中的逻辑处理实际上带有时 态性质,与一般的逻辑处理不一样。 (4) 虚拟机 ▪ 解释器 解释器的目的是实现一个虚拟机。这是一类比较复杂的体系结构,但是,如果进行结构 分析的话,就会发现看似不同的系统有着十分相似的结构
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有