linux的分布式思想

上一篇《X window的思想和终端的重大意义》谈到unix的哲学影响,继承unix的linux在分布式方面表现的淋漓尽致,它首先采用了x window作为自己的图形界面机制,然后又用netlink套接字作为自己的内核和用户空间通信的机制,一切都是在网络的分布式细想下促成的,从netlink机制下的udev,再到hal机制,再到dbus,无一不体现着网络分布化的思想,就连linux的进程退出机制也体现着分布式的细想。

首先看看什么是分布式的思想,其实分布式的思想就是消息通知机制,发消息的实体不管接收者的状态,只管发送,接收者得到消息后就会响应,其实就是网络中的“问-答”的方式,也就是事件的发起者不直接对事件的接收者采取动作,而是让接受者接到消息后自己采取动作。分布式的思想会使操作变得统一,而且也会使系统很灵活,一发一收,两端互不影响,随便可以更改一端的策略,只要符合协议就可以,作为例子就看看linux的信号机制,linux的信号是本机进程间通信的一个很好的方式,操作十分统一,就是用kill系统调用,就连进程退出也是这么干的。在linux中进程退出有两种方式,一个是自己退出,另一个是被别人结束,被别人结束其实就是发送的SIGKILL信号给要结束的进程的,但是在windows上就不是这样,它的API就有TerminalProcess用来直接结束掉别的进程的生命,这就相当于直接操作事件的接收者,windows中我唯一欣赏的就是它的消息驱动的界面机制。

另外看看linux的hal机制,它实际上是接收udev的热插拔消息,然后把消息发到dbus,然后任何注册到dbus的实体都可以接收到消息,这本身就有分布式的思想在里面,当你用浏览器浏览网页时,你甚至都不知道这个网站在哪,也不知道现在是否可用,你只管发出请求就是了,linux的hal也是,bdus也是,hal发送消息给dbus时,也不知道谁会接收消息,不知道消息如何被路由,dbus的实现机制完全可以把消息路由到别的机器,这些hal不管。dbus作为一条消息通知总线,也是这样,就像我们的以太网一样,基于总线结构,具体的监听者和发送者的状态dbus不管,它只管负责转发消息。

linux的整个系统都是这样,消息的“问-答”是其第一大特性,“注册-执行”是其第二大特性,只要注册,按照规范注册,就可以执行规范内的事务,内核中的很多结构和机制都有register机制,这个就不多说了。总之linux根植于网络,它所理解的任何事情都是网络为根基的,它不求本机操作有多么高效,只求稳定与融洽和灵活,当然本机性能也是它追求的目标之一。

原文链接: https://blog.csdn.net/dog250/article/details/5302835

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    linux的分布式思想

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/410673

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 下午12:09
下一篇 2023年4月26日 下午12:09

相关推荐