17、并行与分布式系统中的模块化、分层、虚拟化技术解析

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

并行与分布式系统中的模块化、分层、虚拟化技术解析

1. 模块化概念

在系统设计中,专业化原则是重要的指导原则之一。专业化意味着识别一系列功能,并配置足够数量的系统组件来提供这些功能。例如,数据存储是一项内在功能,存储服务器在大多数系统中普遍存在。这就引出了模块化的概念。

模块化允许我们从一组独立构建和测试的组件构建复杂的软件系统。模块化的一个要求是明确定义模块之间的接口,并使模块能够协同工作。调用者和被调用者之间控制流转移涉及以下步骤:
1. 调用者将其状态(包括寄存器、参数和返回地址)保存在栈上。
2. 被调用者从栈中加载参数,进行计算,然后将控制权交还给调用者。
3. 调用者调整栈,恢复其寄存器,并继续处理。

2. 软模块化

软模块化是将程序划分为相互调用的模块,这些模块使用共享内存进行通信或遵循过程调用约定。软模块化具有许多优点:
- 一旦定义了模块的接口,模块就可以独立开发。
- 只要模块与其他模块的接口不变,就可以用更复杂或更高效的模块替换。
- 模块可以使用不同的编程语言编写,并可以独立测试。

然而,软模块化也带来了一些挑战:
- 增加了调试的难度,例如调用一个包含无限循环的模块将永远不会返回。
- 可能存在命名冲突和错误的上下文规范。
- 调用者和被调用者在同一地址空间,可能会滥用栈,例如被调用者可能使用调用者未保存在栈上的寄存器。

强类型语言可以通过在编译时或运行时确保类型安全来强制执行软模块化,它可能会拒绝忽略数据类型的操作或函数类,或者不允许类实例更改其类。软模块化可能会受到运行时系统错误、编译器错误或不同模

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值