精华内容
下载资源
问答
  • 常见的软件系统的结构
    千次阅读
    2019-11-11 14:34:34

    第二节 操作系统的体系结构

    目前流行的操作系统有Windows操作系统、UNIX操作系统、Linux操作系统和Android操作系统等。

    一、Windows操作系统的体系结构

    Windows体系结构是分层的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子系统集合

    子系统又分为环境子系统和保护子系统,其中环境子系统仿真不同的操作系统,保护子系统提供安全功能。

    1、内核

    内核执行Windows操作系统中最基本的操作,主要提供线程调度、陷入处理和异常调度、中断处理和调度、多处理器同步、供执行体使用的基本内核对象。

    Windows操作系统的内核始终运行在核心态,代码短小紧凑,可移植性也好。通常,除了中断程序例程,正在运行的线程是不能抢先内核的。

    2、硬件抽象层

    Windows操作系统设计的一个至关重要的方面就是在多种硬件平台上的可移植性。HAL就是使这种可移植性成为可能的关键部分。HAL是一个可加载的核心态模块HAL.dll,它为运行在Windows操作系统上的硬件平台提供低级接口。

    HAL隐藏各种与硬件有关的细节

    3、执行体

    Windows的执行体是 NTOSKRNL.EXE 的上层(内核在其下层)。执行体是从用户态导出并且可以调用函数,这些函数的接口在 NTDLL.DLL 中,通过Win32API可以对它们进行访问。

    4、系统进程和系统线程

    系统进程是一种特殊类型的、只运行在核心态的“系统线程”的宿主。系统线程具有一般用户态线程的所有属性和描述表。不同点在于它们仅运行在内核态,执行加载于系统空间。

    系统线程没有用户进程地址空间,因此必须从系统内存堆中动态存储区。

    系统进程只能从内核态中调出

    二、UNIX 操作系统的体系结构

    其最里层是硬件,作为整个系统的基础。紧邻最里层的是操作系统的内核,它包括进程管理、存储器管理、设备管理、和文件管理四个资源管理功能,往外一层是系统调用接口,即操作系统与用户的接口Shell以及编译程序等;最外层是应用程序。

    1、内核层

    内核层是操作系统管理和控制中心,常驻内存。其包括两个方面的接口,一方面是内核与硬件的接口,它通常是由一组驱动程序和一些基本的例程组成;另一方面是内核和Shell接口,它由两组系统调用及命令解释程序组成。

    内核本身又可以分出两个部分,一部分是进程控制子系统,另一部分是文件子系统。

    (1)进程控制子系统,负责对四个资源中的两个资源-处理器和存储器进行管理。其功能可分为进程控制、进程通信、存储器管理和进程调度

    (2)文件子系统,负责有效管理系统中所有的设备和文件。其功能包括 文件管理、高速缓存机制、设备驱动程序

    2、系统调用层

    系统调用层介于内核层和应用层之间,是供程序员设计、应用程序开发时调用。

    UNIX系统调用包括进程管理、文件管理、终端状态等。

    3、应用层

    应用层包括各种开发工具,高级语言编译器,网络通讯处理程序等。

    所有的应用层程序都是在Shell层(命令语言解释程序)的管理和控制下为用户服务的,是面向用户的操作界面。

    三、Linux 操作系统的体系结构

    Linux系统有四个主要部分,即内核、Shell、文件系统和用户应用程序。内核、Shell和文件系统形成了基本的操作系统结构。

    1、Linux内核

    内核是操作系统的核心,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,它决定了系统的性能和稳定性。

    Linux 内核的组成: 系统调用、内存管理、进程管理、设备驱动程序、文件系统和网络管理

    2、Linux Shell

    Shell 是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接受用户输入的命令并将它送入内核去执行,是一种命令解释器。

    3、Linux 文件系统

    文件系统是文件存储在磁盘等设备上的组织方法。Linux系统能支持多种目前流行的文件系统,比如:EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。

    4、Linux 应用程序

    标准的Linux系统一般都有一套称之为应用程序的程序集,包括文本编辑器、编程语言、XWindow、办公套件、Internet工具和数据库等。

    四、Android 操作系统的体系结构

    Android操作系统分为四层,从高层到底层分别是应用程序、应用架构层、系统运行层和Linux内核层。

    1、Android应用程序

    Android会同一系列核心应用程序一起发布,该应用程序包括客户端、SMS短消息程序、日历、地图、浏览器等。

    2、Android应用框架

    应用架构层为应用开发者提供了用于访问核心功能的API框架。

    应用架构层提供了各种服务和管理工具,包括应用开发所需的界面管理、数据访问、应用层的消息传递、应用包的管理、电话管理、位置管理等功能。

    3、C、C++本地库和Android运行时环境

    Android包括一些C/C++库,这些库能被Android系统中不同的组件使用。它通过Android应用程序框架为开发者提供服务,如系统C库、媒体库和SQLite库等

    Android 运行时环境(Android Runtime)提供了核心链接库(Core Libraries)和Dalvik VM虚拟系统(Dalvik Virtual Machine)。

    4、Linux 内核

    Android是基于不同版本的Linux内核开发出来的,Linux内核层包括系统层安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块,位于硬件与其他软件层之间,提供与硬件的交互

    更多相关内容
  • 常见操作系统体系结构

    千次阅读 2021-03-24 21:50:39
    开发一个操作系统,不是简单的上去就是写代码,而是要在需求分析的基础上,首先进行系统设计,具体就是软件体系结构设计。好的系统设计,才能使编写的系统具有很好的扩展性以及成长空间,使得系统越用越好,而不是用...

    常见操作系统体系结构

    前言

    开发一个操作系统,不是简单的上去就是写代码,而是要在需求分析的基础上,首先进行系统设计,具体就是软件体系结构设计。好的系统设计,才能使编写的系统具有很好的扩展性以及成长空间,使得系统越用越好,而不是用着用着就用不下去了。本文介绍操作系统常见的体系结构,了解这些体系结构才能更好的理解各种操作系统。

    一、一种常见的OS总体结构风格

    在这里插入图片描述
    在这里插入图片描述
    OS总体结构由用户接口子系统和基础平台子系统两部分组成。用户接口子系统供计算机用户直接使用,而基础平台子系统为用户接口子系统提供系统调用。可以理解为基础平台子系统为用户接口子系统服务,用户接口子系统为用户服务,并且这些关系具有单向性

    二、OS基础平台子系统结构风格(一)

    在这里插入图片描述

    1.分层结构

    在这里插入图片描述
    分层结构的每一层均对其上各层隐藏其下各层的存在。即每层只与其直接临近的上下两层有直接关系。

    )

    2.分级结构

    在这里插入图片描述
    分级结构中每级只与其所有下级有关系。
    )

    3.分块结构

    在这里插入图片描述
    分块结构中各个块之间都可以相互调用,相互存在关系。
    )

    4.分层、分级、分块结构风格的关系及比较

    在这里插入图片描述
    分层结构设计的要求最严格,分级结构次之,分块结构最简单。
    在这里插入图片描述
    分块之所以不灵活是因为各个模块之间的相互调用,导致任何一个模块的修改可能影响其它模块。

    三、OS基础平台子系统结构风格(二)

    在这里插入图片描述
    在这里插入图片描述
    模式即CPU的特权模式,即CPU的操作权限等级

    1.多模式结构风格的结构特征

    在这里插入图片描述
    在这里插入图片描述
    各模块可能是一级保护,二级保护,三级保护等等,模块之间的切换需要切换保护级别,这使得安全提升的同时,会以降低基础平台子系统的性能为代价。

    2.单模式结构风格的结构特征

    在这里插入图片描述
    在这里插入图片描述

    3.多模式和单模式结构风格之间的比较

    在这里插入图片描述

    四、常见的基础平台子系统结构风格(三)

    1.双模式基础平台子系统结构风格

    双模式基础平台子系统介于多模式和单模式之间,既能提高安全性,又能尽量小的降低系统性能。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如果核外子系统要访问核内子系统,首先要经过判断,判断核外子系统的操作是否能合法的进入核内子系统(软中断),这个过程需要花费时间。当然如何判断是否合法是由预先定义好的规则实现,但是黑客总能找到尚未定义的规则,然后通过这条规则(漏洞)进入内核子系统获取数据,或者破坏系统。然后系统工程师会赶快补上这条规则,这就是黑客和系统工程师之间的较量,较量的同时也会使得系统越来越完善。

    2.微核结构风格

    在这里插入图片描述
    微核结构就是尽可能的去除核心子系统的多余部分,使得核心部分越“轻”越好,但这往往不好实现。
    在这里插入图片描述

    展开全文
  • 软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要包括构件、构件性质和构件之间的关系。 通过使用软件体系结构,可以有效地分析用户需求,方便系统的修改,以及减小程序构造...

    一、概述

    软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要包括构件、构件性质和构件之间的关系。

    通过使用软件体系结构,可以有效地分析用户需求,方便系统的修改,以及减小程序构造风险。

    随着软件规模不断地增大和复杂程度日益增高,系统框架架构的设计变得越来越关键。软件框架设计的核心问题是能否复用已经成型的体系结构方案。由此,产生了软件体系结构风格的概念。

    二、常见风格分类

    体系结构风格的形成是多年探索研究和工程实践的结果。一个良好和通用的体系结构风格往往是工程技术领域成熟的标志。经过多年的发展,已经总结出许多成熟的软件体系结构风格,例如:

    1. 数据流风格:批处理和管道/过滤器。
    2. 调用/返回风格:主程序/子程序、层次结构和C/S。
    3. 面向对象风格。
    4. 独立部件风格:进程通信和事件驱动。
    5. 虚拟机风格:解释器和基于规则的系统。
    6. 数据共享风格:数据库系统和黑板系统。

    三、 体系结构风格

    1.管道/过滤器 体系结构风格

    惯用模式:

    主要包括过滤器和管道两种元素。在这种结构中,构件被称为过滤器,负责对数据进行加工处理。每个过滤器都有一组输入端口和输出端口,从输入端口接收数据,经过内部加工处理之后,传送到输出端口上。数据通过相邻过滤器之间的连接件进行传输,连接件可以看作输入数据流和输出数据流之间的通路,这就是管道。

    原理图:

     

    优点:

    1. 简单性。
    2. 支持复用。
    3. 系统具有可扩展性和可进化型。
    4. 系统并发性(每个过滤器可以独立运行,不同子任务可以并行执行,提高效率)。
    5. 便于系统分析。

    缺点:

    1. 系统处理工程是批处理方式。
    2. 不适合用来设计交互式应用系统。
    3. 由于没有通用的数据传输标准,因此每个过滤器都需要解析输入数据和合成数据。
    4. 难以进行错误处理。

     

    传统的编译器就是管道/过滤器体系结构风格的一个实例。编译器由词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成几个模块组成,一个模块的输出是另一个模块的输入。源程序经过各个模块的独立处理之后,最终将产生目标程序。编译器的框架结构如图:

    2.面向对象 体系结构风格

    惯用模式:

    在面向对象体系结构中,软件工程的模块化、信息隐藏、抽象和重用原则得到了充分的体现。在这种体系结构中,数据表示和相关原语操作都被封装在抽象数据类型中。在这种风格中,对象是构件,也成为抽象数据类型的实例。对象与对象之间,通过函数调用和过程调用来进行交互。

    原理图:

    优点:

    1. 一个对象对外隐藏了自己的详细信息
    2. 对象将数据和操作封装在一起
    3. 继承和封装方法为对象服用提供了技术支持

    缺点:

    1. 如果一个对象要调用另一个对象,则必须知道它的标识和名称
    2. 会产生连锁反应

    3.事件驱动 体系结构风格

    惯用模式:

    事件驱动就是在当前系统的基础之上,根据事件声明和发展状况来驱动整个应用程序运行。

    事件驱动体系结构的基本思想是:系统对外部的行为表现可以通过它对事件的处理来实现。在这种体系结构中,构件不再直接调用过程,而是声明事件。系统其他构件的过程可以在这些事件中进行注册。当触发一个事件的时候,系统会自动调用这个事件中注册的所有过程。因此,触发一个事件会引起其他构件的过程调用。

    原理图:

    优点:

    1. 事件声明者不需要知道哪些构件会响应事
    2. 提高了软件复用能力
    3. 便于系统升级

    缺点:

    1. 构件放弃了对计算的控制权,完全由系统来决定
    2. 存在数据·传输问题

    4.分层 体系结构风格

    惯用模式:

    在分层风格中,系统将划分为一个层次结构。

    每一层都具有高度的内聚性,包含抽象程度一致的各种构件,支持信息隐藏。

    分层有助于将复杂系统划分为独立的模块,从而简化程序的设计和实现。

    通过分解,可以将系统功能划分为一些具有明确定义的层,较高层是面对特定问题,较低层具有一般性。

    每层都为上层提供服务,同时又利用了下层的逻辑功能。在分层体系结构中,每一层只对相邻层可见。层次之间的连接件是协议和过程调用。用以实现各层之间的交互。

     

    原理图:

    优点:

    1. 设计者可以将系统分解为一个增量的步骤序列从而完成复杂的业务逻辑。
    2. 每一层之多和相邻的上下两层进行交互。
    3. 只要给相邻层提供相同的接口。

    缺点:

    1. 并非所有系统都能够按照层次来进行划分。
    2. 很难找到一种合适和正确的层次划分方法。
    3. 在传输数据是,需要经过多个层次。
    4. 多层结构难以调试。

    5.C2 体系结构风格

    惯用模式:

    C2结构是一个层次网络,包括构件和连接件两种软件元素。构件和连接键都是包含顶部和底部的软件元素。构件和构件之间只能通过连接件进行连接,而连接件之间则可以直接进行连接。构件的顶部、底部分别与连接件的底部、顶部连接,连接件的顶部、底部也分别与连接件的底部、顶部连接。

    在C2体系结构中,构件之间的所有通信必须使用消息传递机制来实现。构件之间所有传递的信息可以分为两种,一种是向上层构件发出服务请求的请求消息,另一种是向下层构件发出指示状态变化的通知消息。连接件负责消息的过滤、路由、广播、通信和相关处理。

    原理图:

    优点:

    1. 可以使用任何编程语言来开发构件,构件重用和替换比较容易实现
    2. 具有一定的扩展能力,可以有多种不同粒度的构件
    3. 构件不需要共享地址空间,避免了共享全局变量所造成的复杂关系
    4. 具有良好的适应性
    5. 在C2体系结构中,可以使用多个工具集和多种媒体类型,能够动态地更新系统的框架结构

    缺点:

    1. 构件和构件之间不允许直接相连
    2. 与某一个连接件相关联的构件和连接件的数目没有限制

    6.数据共享 体系结构风格

    定义:

    数据共享风格也成为仓库风格。

    在这种风格中,有两种不同类型的软件元素:一种是中央数据单元,也成为资源库,用于表示系统的当前状态;另一种是相互依赖的构件组,这些构件可以对中央数据单元实施操作。中央数据单元和构件之间可以进行信息交换,这是数据共享体系结构的技术实现基础。

    根据所使用的控制策略不同,数据共享体系结构可以分为两种类型,一种是传统的数据库,另一种是黑板。

    如果由输入流中的事件来驱动系统进行信息处理,把执行结构存储到中央数据单元,则这个系统就是数据库应用系统。

    如果由中央数据单元的当前状态来驱动系统运行,则这个系统就是黑板应用系统。

    黑板是数据共享体系结构的一个特例,用以解决状态冲突并处理可能存在的不确定性知识源。

    黑板常用于信号处理,如语音和模式识别,同时在自然语言处理领域中也有广泛的应用,如机器翻译和句法分析。

     

    原理图:

    一个典型的黑板系统主要包括知识源、中央控制单元、控制单元。

    优点:

    1. 便于多客户共享大量数据,而不必关心数据是何时产生的、由谁提供的及通过何种途径来提供
    2. 便于将构件作为知识源添加到系统中来

    缺点:

    1. 对共享数据结构,不同知识源要达成一致
    2. 需要同步机制和加锁机制来保证数据的完整性和一致性,增大了系统设计的复杂度

    7.解释器 体系结构风格

    惯用模式:

    解释器作为一种体系结构,主要用于构建虚拟机,用以弥合程序语义和计算机硬件之间的间隙。实际上,解释器是利用软件来创建的一种虚拟机,因此,解释器风格又被称为虚拟机风格。

    原理图:

    优点:

    1. 能够提高应用程序的抑制能力和变成语言的跨平台移植能力。
    2. 实际测试工作可能费城复杂,测试代价极其昂贵,具有一定的风险性。

    缺点:

    1. 由于使用了特定了语言和自定义操作规则,因此增加了系统运行的开销。
    2. 解释器系统难以设计和测试。

    8.反馈控制环 体系结构风格

    定义:

    反馈控制环是一种特定的数据流结构。传统数据流结构是线性的,而控制连续循环过程的体系结构应该是环形的。

    反馈控制环系统主要包括以下三个部分:

    1. 过程,指操纵过程变量的相关机制。
    2. 数据元素,指连续更新的过程变量,包括输入变量、控制变量、操纵变量和相关参考值。
    3. 控制器,通过控制规则来修正变量,收集过程的实际状态和目标状态,调节变量以驱动实际状态朝目标状态前进。

     

    原理图:

    优点:

    1. 过程控制是连续的,可以利用各种构件和相关规则来设计反馈控制环系统,实现各种功能。
    2. 反馈控制环结构能够处理复杂的自适应问题,机器学习就是一个例子。

    缺点:

    9.C/S 体系结构风格

    惯用模式:

    ……

    原理图:

    优点:

    1. 客户机构件和服务器构件分别运行在不同的计算机上,有利于分布式数据的组织和处理。
    2. 构件之间的位置是相互透明的,客户机程序和服务器程序都不必考虑对方的实际存储位置。
    3. 客户机侧重数据的显示和分析,服务器则注重数据的管理。
    4. 构件之间是彼此独立和充分隔离的。
    5. 将大规模的业务逻辑分布到多个通过网络连接的低成本的计算机,降低了系统的整体开销。

    缺点:

    1. 开发成本较高。
    2. 在开发C/S结构系统时,大部分工作都都集中在客户机程序的设计上,增加了设计的复杂度。
    3. 信息内容和形式单一。
    4. 如果对C/S体系结构的系统进行升级,开发人员需要到现场来更新客户机程序,同时需要对运行环境进行重新配置,增加了维护费用。
    5. 两层C/S结构采用了单一的服务器,同时以局域网为中心,因此难以扩展到Intranet和Internet。
    6. 数据安全性不高。

    10.B/S 体系结构风格

    惯用模式:

    B/S结构是三层C/S体系结构的一种实现方式,主要包括浏览器,Web服务器和数据库服务器。B/S结构主要利用不断成熟的WWW技术,结合浏览器的多脚本语言,采用通用浏览器来实现原来需要复杂的专用软件才能实现的强大功能,节约了开发成本。

    B/S体系结构的核心是Web服务器,可以将应用程序以网页的形式存放在Web服务器上。

    当用户运行某个应用程序时,只需要在可以断的浏览器中输入响应的 URL,向 Web 服务器提出 HTTP 请求。

    当Web 服务器接收 HTTP 请求之后,会调用相关的应用程序(Servlets),同时向数据库服务器发送数据操作请求。

    数据库服务器对数据操作请求进行响应,将结果返回给Web服务器的应用程序。

    Web服务器应用程序执行业务处理逻辑,利用 HTML 来封装操作结果,通过浏览器呈现给用户。在B/S结构中,数据请求、王爷生成、数据库访问和应用程序执行全部由Web 服务器来完成。

    原理图:

    优点:

    1. 客户端只需要安装浏览器,操作简单。
    2. 运用HTTP标准协议和统一客户端软件,能够实现跨平台通信。
    3. 开发成本比较低,只需要维护Web服务器程序和中心数据库。

    缺点:

    1. 个性化程度比较低,所有客户端程序的功能都是一样的。
    2. 客户端数据处理能力比较差。
    3. 在B/S结构的系统中,数据提交一般以页面为单位,动态交互性不强,不利于在线事务处理。
    4. B/S体系结构的可扩展性比较差,系统安全性难以保障。
    5. B/S结构的应用系统查询中心数据库,其速度要远低于C/S体系结构。

    11.公共对象请求代理(CORBA)体系结构风格

    惯用模式:

    公共对象请求代理(Common Object Request Broker Architecture,CORBA)是由对象管理组织(Object Management Group,OMG)提出来的,是一套完整的对象技术规范,其核心包括标准语言、接口和协议。

    在异构分布式环境下,可以利用CORBA来实现应用程序之间的交互操作,同时,CORBA也提供了独立于开发平台的编程语言的对象重用方法。

     

    原理图:

    优点:

    1. 实现了客户端程序与服务器程序的分析。
    2. 将分布式计算模式与面向对象技术结合起来,提高了软件复用率。
    3. 提供了软件总线机制,软件总线是指一组定义的完整的接口规范。
    4. CORBA能够支持不同的编程语言和操作系统,在更大的范围内,开发人员能够相互利用已有的开发成果。

    缺点:

    12.正交 体系结构风格

    惯用模式:

    正交体系结构是一种以 垂直线索构件族 为基础的层次化结构,包括组织层和线索。

    在每一个组织层中,都包含具有相同抽象级别的构件。

    线索是子系统的实例,是由完成不同层次功能的构件通过相互调用而形成的,每一条线索完成系统的一部分相对独立的功能。

    在正交体系结构中,每条线索的实现与其他线索的实现无关或关联很少。在同一层次中,构件之间不存在相互调用关系。

    原理图:

    优点:

    1. 结构清晰。
    2. 便于修改和维护。
    3. 易于重用。

    缺点:

    13.MVC 体系结构风格

    惯用模式:

    模型-视图-控制器(Model-View-Controller,MVC)是一种常见的体系结构风格。MVC被广泛应用与用户交互程序的设计中。

    原理图:

    优点:

    1. 多个视图与一个模型相对应
    2. 具有良好的移植性。
    3. 系统被分割为三个独立的部分,当功能发生变化时,改变其中的一个部分就能够满足要求。

    缺点:

    1. 增加了系统设计和运行复杂性。
    2. 视图与控制器连接过于紧密,妨碍两者的独立复用。
    3. 视图访问模型的效率比较低。
    展开全文
  • 软件体系结构

    千次阅读 2022-03-29 14:46:29
    软件体系结构是软件设计过程中的一个层次,是处理关于整体系统结构设计和描述方面的一些问题 从重用的角度来看 软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、结构和...

    什么是软件体系结构?

    可以从多个角度来看这个问题

    • 软件体系结构的定义:是具有一定形式的结构化元素,即构件的集合(包括处理构件、数据构件、连接构件)

    从工程的角度来看

    软件体系结构是软件设计过程中的一个层次,是处理关于整体系统结构设计和描述方面的一些问题

    从重用的角度来看

    软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、结构和关系

    从维护角度来看

    软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间演化的指导方针

    从工程的作用来看

    软件体系结构包括一个软件和系统构件、互联及约束的集合;一个系统需求说明的集合;一个基本原理用以说明这一构件、互联和约束能够满足条件

    一些常见的软件体系结构

    C/S体系结构

    Client/Server(客户机/服务器)结构是一种两层结构的系统

    1. C/S 模式的优点:
      (1)由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度较快。
      (2)C/S结构的管理信息系统具有较强的事务处理能力。
    2. C/S 模式的缺点:
      (1)只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
      (2)客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
      (3)对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。

    B/S体系结构

    Browser/Server(浏览器/服务器)结构是客户端是标准的浏览器(如Internet Explore,Netscape Navigator等),服务器端为标准的WEB服务器协同应用服务器响应浏览器的请求。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

    1. B/S结构的优点:
      (1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。
      (2)业务扩展简单方便,通过增加页面即可增加服务器功能。
      (3)维护简单方便,只需要改变网面,即可实现所有用户的同步更新。
      (4)共享性强
    2. B/S 模式的缺点:
      (1)响应速度不及C/S,随着AJAX技术的发展,相比传统B/S结构软件提升一倍速度。
      (2)用户体验效果不是很理想,B/S需要单独界面设计,厂商之间的界面也是千差万别,由于浏览器刷新机制,使用时有刷屏现象,好在AJAX技术解决这一难题,像用友,智赢等开发的B/S架构软件用户体验效果与C/S差不多。

    管道/过滤器体系结构

    管道-过滤器, Pipes and Filters是面向数据流的软件体系结构。
    它为处理数据流的系统提供了一种结构。
    单步数据处理封装在一个过滤器中,数据在过滤器之间的管道传输。
    以便实现对数据的多次操作。
    请添加图片描述
    优点:
    1.高效的并行效率(灵活使用active(主动) 过滤器)
    2.过滤器可以重组/重用/可替换
    3.不需要中间保存
    缺点:
    1.数据传输和转化开销大
    2.错误处理复杂

    三层客户/服务器体系结构

    相对于二层体系结构(Client/Server构架)是由逻辑上相互分离的表示层、业务层和数据层构成。表示层向客户提供数据,业务层实施业务和数据规则,数据层定义数据访问标准。三层体系结构中的核心是组件对象模型。

    在网络连接模式中,除对等网外,还有另一种形式的网络,即服务器/客户机网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。

    它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端 来实现,降低了系统的通讯开销。大多数应用软件系统都是Client/Server形式的两层结构,由于软件应用系统正在向分布式的Web应用发 展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应 用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是应用系统的发展方向。

    异构体系结构

    C/S与B/S混合;查改有别的模型

    展开全文
  • 10个常见软件体系结构模式

    千次阅读 2018-09-18 13:17:41
    有没有想过如何设计大型企业级系统...架构模式是在特定环境下软件体系结构常见问题的通用可重用解决方案。架构模式类似于软件设计模式,但具有更广的范围。 在本文中,我将简要地解释以下10种常见架构模式及其用...
  • CS/BS架构==黄色标注部分重点注意==CS结构BS结构CS结构与BS结构比较==有问题可以在评论指正,欢迎讨论,谢谢大家!!== 黄色标注部分重点注意 CS结构        •CS(Client/Server...
  • 常见结构化存储系统架构

    千次阅读 2019-03-01 22:39:24
    结构化数据一般指存储在数据库中,具有一定逻辑结构和物理结构的数据,最为常见的是存储在关系数据库中的数据;非结构化数据:一般指结构化数据以外的数据,这些数据不存储在数据库中,而是以各种类型的文本形式存放...
  • 软件体系结构中五种常见风格的剖析软件体系结构中五种常见风格的剖析软件体系结构中五种常见风格的剖析软件体系结构中五种常见风格的剖析
  • 软件体系结构风格介绍

    千次阅读 2020-02-18 12:46:38
    文章目录软件体系结构风格介绍(一)管道和过滤器风格(二)数据抽象与面向对象风格(三)基于事件的隐式调用风格(四)层次系统风格(五)仓库风格(六)C2风格(七)基于层次消息总线的架构风格 软件体系结构风格...
  • Linux系统结构

    千次阅读 多人点赞 2022-04-08 22:00:03
    对Linux系统的组成和结构进行了介绍。
  • 软件体系结构》第三章 软件体系结构风格

    万次阅读 多人点赞 2018-07-01 13:56:42
    2. 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将...
  • 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统...
  • 软件体系结构风格整理

    万次阅读 多人点赞 2019-01-06 15:17:36
    软件体系结构风格(Architectural Styles)是描述特定系统组织方式的惯用范例,强调了软件系统中通用的组织结构。 风格这个词是个模糊的概念,不同的人有不同的理解,这有时候就让人很困惑。这时候为了明确这个概念...
  • 软件工程:数据流图和结构图怎么画?

    万次阅读 多人点赞 2020-09-01 18:43:03
    文章目录Step 1:根据软件的功能描述,绘制数据流图:Step 2:根据数据流图,分级绘制结构图:•边界划分:•第一级分解:•第二级分解:•精化减少耦合: Step 1:根据软件的功能描述,绘制数据流图: 问题表述: ...
  • 软件体系结构基础

    千次阅读 2020-12-27 12:57:33
    体系结构的模式选择设计模式做阐述,风格选择典型的三种体系结构风格做阐述,框架选择MVC、J2EE、PCMEF与PCBMER框架做阐述,同时也对特定领域的软件体系结构的类属模型、参考模型,分布式系统结构的多处理机结构、...
  • 软件体系结构期末考试总结

    万次阅读 多人点赞 2019-12-30 23:19:35
    今天刚考完软件体系结构,把考前的知识点总结发到群里,仅供自己参考,但是里面的内容确实有用也是面试会问到的基础,所以这门课很重要的还是,只可惜我是预习了一两天就参加考试了 对了我们的教材是《软件工程体系...
  • 1.1 嵌入式软件系统结构 目前常见的嵌入式软件结构可以分为轮询系统、前后台系统和多任务系统。这些方案是根据应用的具体需求提出的,各有各自的特点和适用的领域。
  • 第十期安防弱电资料包内容后台有朋友问到计算机的拓扑结构,今天我们就来看下几种常见的计算机网络结构。拓扑结构一般指点和线的几何排列或组成的几何图形。计算机网络的拓扑结构是指一个网络的通信链路和结点的几何...
  • 基于 软件体系结构(第3版)考试重点和复习指南

    千次阅读 多人点赞 2021-12-04 15:20:51
    软件危机引起软件工程的研究,软件危机的加剧,人们认识到软件体系结构的重要性,并对软件体系结构开始系统地深入地研究,是提高软件生产率和解决软件问题最有希望的途径。 构件与重用的定义及他们之间的关系 构件:...
  • 软件体系结构期末复习题

    万次阅读 多人点赞 2019-06-11 15:05:54
    1.软件体系结构主要包括哪3个部分? 答:软件体系结构=构件+连接件+约束。软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被...
  • 五种常见软件架构

    千次阅读 2021-01-10 09:42:53
    虽然没有明确约定,软件一定要分成多少层,但是四层的结构常见。 表现层(presentation):用户界面,负责视觉和用户互动 业务层(business):实现业务逻辑 持久层(persistence):提供数据,SQL 语句就...
  • 嵌入式 - 软件体系结构综述

    千次阅读 2019-10-12 10:11:52
    Menu软件体系结构的基本概念几种常见的嵌入式软件结构轮转结构(round-robin architecture)Example特点带有中断的轮转结构( round-robin with interrupts architecture)特点函数队列结构(function-queue-...
  • 操作系统结构

    万次阅读 2018-07-13 12:58:45
    操作系统的内部的六种不同的结构设计:单体系统、层次系统、微内核、客户机-服务器系统、虚拟机和exokernels。 一、单体系统 二、层次式系统 三、微内核 四、客户机-服务器模式 五、虚拟机 六、外核...
  • 软件体系结构》 第四章 软件体系结构描述

    万次阅读 多人点赞 2018-07-03 22:46:07
    一、软件体系结构的描述方法  1、图形表达工具:采用矩形框和有向线段组合,矩形框代表抽象构件、有向线段代表连接件。  2、模块内连接语言:module interconnection language MIL  3、基于软构件的系统描述...
  • 什么是系统软件应用软件举例说明

    千次阅读 2021-07-07 01:48:10
    1、系统软件:是指计软统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。举例:Windows、Linux、Dos、Unix等操作系统。2、...
  • 1面向方面软件体系结构相关概念 面向方面软件体系结构涉及诸多概念,以下将分别介绍。软件体系结构软件工程领域有着广泛的影响,但当前仍未形成一个统一的、标准的定义。目前国内外普遍认可的看法是软件体系结构...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 322,282
精华内容 128,912
热门标签
关键字:

常见的软件系统的结构