千家信息网

unix流架构到底是个什么东西

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,仅有理论而无实例只是纸上谈兵,unix的流机制是很妙的机制,但是unix流究竟是如何实现以及如何使用的呢,虽然unix流已经提出了很久很久,但是时至今日它也没有普遍被使用,出了solaris和wind
千家信息网最后更新 2026年11月01日unix流架构到底是个什么东西

仅有理论而无实例只是纸上谈兵,unix的流机制是很妙的机制,但是unix流究竟是如何实现以及如何使用的呢,虽然unix流已经提出了很久很久,但是时至今日它也没有普遍被使用,出了solaris和windows等操作系统外,几乎没有什么系统在使用它,当今世上操作系统无非也就几家独大,按照不失一般性的分类,首先就是windows,然后是linux以及几家的unix,如solaris和各种bsd以及darvin,然后就是各家小诸侯了,不足挂齿,在几家大的中,独有windows和solaris吸取了unix的流思想,其余的好像都是比拼内功的结果,丝毫不在乎整体架构,只是在细节上略胜一筹,比如通读linux源码就会发现,里面有十分糟糕的算法,也有十分美妙的,显然不是一伙人所为,各个开发者都在各行其是,于是便失去了整体的美感,结果就是效率的提升,这也许就是GNU的绝美的地方吧(虽solaris10以及微软的开发框架也开源,但却是在不同license下的开源,和linux不可同日而语)。从windows内核来解析流之美,众人可阅读很多资料,可是unix自身的流实现,却只能纵览system V以后后商用unix实现,最可观的当属solaris了,以我比较熟悉的open***为例,在打开且初始化tun/tap设备的时候,open***会调用open_tun,需要初始化整个虚拟设备的协议栈,于是linux和solaris就分道扬镳了,在linux中,实现如下:
void open_tun (...)
{
...//linux的实现就不多说了,本质上就是初始化内核的tun设备而已
}
由于linux并没有实现unix的流机制,因此linux只是简单的调用虚拟网卡设备的open例程以及TUNSETIFF的ioctl例程,及结果无非就是"直接"初始化虚拟网卡设备的协议栈以备后用。看看solaris的实现:
void open_tun (...)
{
...
if (tt->type == DEV_TYPE_TAP) {
ip_node = "/dev/ip";
if (!dev_node)
dev_node = "/dev/tun";
...
}
...
if_fd = open (dev_node, O_RDWR, 0);
ioctl (if_fd, I_PUSH, "ip");
...
}
很明显,solaris的方式比linux更好,它直接将ip协议"压"在了虚拟网卡设备之上,于是就相当于实现了虚拟网卡设备的tcp/ip协议栈,不光是可以压入ip协议模块,还可以压入诸如arp,icmp等的一切协议处理模块,unix的流机制可以对任何的IO数据实行过滤,其关键在于一个I_PUSH/I_POP命令参数的使用,在用户空间通过ioctl就可以完成如此底层的协议整合,多么灵活,多么美妙啊!采用unix流的方式无需直接初始化整个协议栈,而是可以再流模块被压入的时刻再初始化之。

设备 就是 机制 网卡 只是 模块 系统 结果 美妙 操作系统 内核 整体 方式 开发 架构 可观 明显 糟糕 不可同日而语 不足挂齿 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 南京欣网互联网络科技有限公司 广州大一互联网络科技有限公司 互联网通讯科技 科技服务与互联网 碳银互联网科技 凡科互联网科技 甘肃拓世互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 广州优美互联网科技 北京大学互联网科技怎么样 广州慧亚互联网科技怎么样 互联网金融科技公司干啥的 智腾互联网科技有限公司 辽宁互联网新科技 本届互联网博览会上的黑科技 广州新华互联网科技学校电竞方面 互联网风格科技公司名称 互联网科技的前景 互联网科技对化妆品行业 新华互联网科技 凡科互联网科技 易通互联网络科技有限公司 时间互联网络科技 字节跳动和互联网科技 明优互联网科技有限公司 长沙互联网科技 上海科技产业互联网平台 上海京穆互联网科技有限公司 互联网金融运营模式中的金融科技
0