HAL is a mess

说HAL is a mess。

我正想开始研究hal,发现极其复杂,极其强大,心想,硬件不就是应该这么管理吗?

Though,有些事情不是应该就可以了的。

HAL不符合最小职能化原则。最小职能化原则在买卖双方都是合理的:供给方与需求方都应该最小化它们尝试输出或输入的东西。能做小的不要做大,能要小的也不能要大。卖什么就卖什么,买什么就买什么。买多了,卖多了都不行。

意思什么?

我研究socket,发现它太复杂,状态太多。系统不可能处理那么多的问题。翻过来,你要真这么麻烦,我还不如自己做呢是吧。所以socket必须简单。然而实际上它还不够简单。

太强大的后果是,暴露了太多的东西。使得系统失序,无法管理。我们希望它简单。简单是提供可管理性的必要条件。简单提供了可归纳性。系统本身已经够复杂,HAL喧宾夺主了。让他存活下去的目的只能是让它跟系统对着干。

系统不可能以设备为主。设备必须成为附庸。

D-bus事实上是一个设备总线。事实上这是个极其优秀的设备管理架构。可是它与系统的主方向不一致。功高盖主。一山不容二虎,它只能下线。所以大家做系统要注意,这个在哪里都值得借鉴:一切都必须以任务为中心。不能喧宾夺主!

我就说这东西应该不靠谱来着......

你可能感兴趣的:(HAL is a mess)