分布式操作系统设计原则
1 稳定高效系统法则
1.1 稳定是第一原则
- 原则上:稳定是系统的第一原则,任何时间、空间、能量、结构(信息)等约束必须向稳定妥协。
- 实践中:介稳是系统的通常实现,由于子约束通常是有限空间,成本被制约,性价比化是通常的妥协。
1.2 分配是第一要义
- 操作系统的职责不是生产者,是管理者、统治者。其职责是利用好现有资源,在第一原则的要求下,实现生成单元和资源的收益最大化。
- 在此背景下,资源管理者的第一方法论即分配,合理的分配是系统的第一要义。
1.3 阶级是必然性
- 由于系统职能的非统一性,控制和被控制必然发生,即使是联邦、链式等系统架构,也存在临界的主从结构。
- 阶级分明是维持高效的必然性,这是最小职责法则的必然性。工作单位需要在稳定的基础上保持最小工作能力和信息即可,控制单元保持信息的白盒化。主从单元不要破坏最小职责法则,阶级分明。
- 类的原子化是必然要求,分类、建表、类设计需服从原子化设计和最小职责,确保事务一致性、原子性等。
1.4 没有免费的午餐(信息守恒和架构必须性)
- 优化存在极限,任何系统和控制存在最小信息量单位,以满足控制结构的最小实现。
- 空间、时间、能量等约束必然被某一方面所牺牲,万物皆有价。
- 精简约束如空间,必然导致系统控制能力的改变。
- 冗余和无意义信息不一定必须被优化,这些片段通常承担变异压、维稳压、安全压等多方面的压力和使命。
2 一致性 (Uniformity)
2.1 幂等性
2.1.1 资源一致性
- 申请的资源和释放的资源必须一致、恒等。
- 资源接口设计必须确保一致性、幂等性。
- 牺牲空间、时间等约束换稳定。
2.2 服从性
2.2.1 高内聚、低耦合,解耦和最小指令化
- 接口的参数即是指令,过多的参数破坏了低耦合的法则,增加系统不稳定性可能和维护成本,参数设计应该在满足的功能的基础上,尽可能少。
- 明确精简的指令是高效的体现,指令的具体实施应由内部实现,临界控制应该尽可能确保利用高内聚(如继承沿用父类、父配置等)。
- 级联化,不要在一个对象中实现过多的个体职责,而应该递归向下,当某一指令到来时递归向下命令其他子对象和关联对象完成。
- 实践中,还应该设计备用依赖和强依赖避免,以防止级联灾难。
- 实例:入口类收到指令(攻击)-> [拆解指令] -> { 攻击1->子类1,装弹1->子类2,攻击3->子类3,瞄准4->子类4 }
2.2.2 结构性
2.3 事务性
3 协调性
4 可控性
4.1 最小职责
5 系统性
5.1 面向对象、等级化
Author:undefined Create time:2024-08-05 20:06
Last editor:undefined Update time:2024-09-14 17:05
Last editor:undefined Update time:2024-09-14 17:05