分层架构将整个系统视为一种层次结构,其中软件系统被分解为层次结构中不同级别的逻辑模块或子系统。这种方法通常用于设计系统软件,例如网络协议和操作系统。
在系统软件层次结构设计中,低级子系统为其相邻的上层子系统提供服务,这些子系统调用下层的方法。下层提供更具体的功能,如 I/O 服务、事务、调度、安全服务等。中间层提供了更多的领域依赖功能,如业务逻辑和核心处理服务。并且,上层以用户界面的形式提供了更抽象的功能,如GUI、shell编程工具等。
它还用于组织类库,例如命名空间层次结构中的 .NET 类库。所有设计类型都可以实现这种分层架构,并且经常与其他架构样式结合使用。
分层架构风格分为 -
主子程序
这种风格的目的是重用模块并自由开发单个模块或子程序。在这种风格中,软件系统根据系统所需的功能使用自上而下的细化,被划分为子程序。
这些改进是垂直的,直到分解的模块足够简单,可以承担其唯一的独立责任。功能可以由上层的多个调用方重用和共享。
有两种方式可以将数据作为参数传递给子例程,即 -
优势
缺点
主从机
该方法采用“分而治之”的原则,支持故障计算和计算精度。它是对主子程序架构的修改,可提供系统的可靠性和容错能力。
在这种架构中,从站向主站提供重复服务,站通过一定的选择策略在从站中选择特定的结果。从站可以通过不同的算法和方法或完全不同的功能执行相同的功能任务。它包括并行计算,其中所有从站都可以并行执行。
Master-Slave模式的实现遵循五个步骤:
应用
虚拟机体系结构
虚拟机体系结构假装某些功能,这些功能不是实现它的硬件和/或软件所固有的。虚拟机建立在现有系统之上,并提供虚拟抽象、一组属性和操作。
在虚拟机架构中,主服务器使用从服务器的“相同”子服务,并执行拆分工作、调用从服务器和合并结果等功能。它允许开发人员模拟和测试尚未构建的平台,并模拟“灾难”模式,这些模式过于复杂、昂贵或危险,无法用真实系统进行测试。
在大多数情况下,虚拟机将编程语言或应用程序环境与执行平台分离。主要目标是提供可移植性。通过虚拟机对特定模块的解释可以看作是 -
下图显示了单个物理计算机上标准 VM 基础结构的体系结构。
虚拟机监控程序(也称为虚拟机监视器)在主机操作系统上运行,并将匹配的资源分配给每个客户机操作系统。当客户机进行系统调用时,虚拟机监控程序会截获并将其转换为主机操作系统支持的相应系统调用。虚拟机管理程序控制每个虚拟机对 CPU、内存、持久存储、I/O 设备和网络的访问。
虚拟机架构适用于以下领域:
分层风格
在这种方法中,系统在层次结构中被分解为许多上层和下层,每一层在系统中都有自己的唯一责任。
分层风格适用于以下领域 -