Unix Pipes 管道原稿
40年前,Unix操作系统横空出世,Unix不仅仅带来了一个操作系统,还创造C语言,Socket,开源,黑客等等文化,这些文化影响着整个计算机世界的文明,直到今天。
如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明。管道的出现,解决的就是让不同功能的程序可以互相连通通讯,从而可以让软件开发,程序开发更加的“高内聚,低耦合”,从而可以让程序“Do one thing, Do it well”,从而可以让程序“Keep it Simple Stupid”等等,这一哲学引影了一代又一代的软件架构,直到今天的云计算。
管道的发名者叫,Malcolm Douglas McIlroy,他也是Unix的创建者,是Unix文化的缔造者之一。他归纳的Unix哲学如下:
程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。
下面是管道在1964年10月11日,出现的第一个打印稿,下面是扫描件。
全文如下:
- 10 -
Summary--what's most important.
To put my strongest concerns into a nutshell:
- We should have some ways of connecting programs like
garden hose--screw in another segment when it becomes when
it becomes necessary to massage data in another way.
This is the way of IO also. - Our loader should be able to do link-loading and
controlled establishment. - Our library filing scheme should allow for rather
general indexing, responsibility, generations, data path
switching. It should be possible to get private system components
(all routines are system components) for buggering around with.M. D. McIlroy
October 11, 1964
我就不翻译了,因为这段文字足够的简单,就像连接花园中浇花用的软管一样,相信你不但能够读懂它,还能从中收益。
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
我从最初的高效云盘升级到 ESSD PL0 ,我发现 ECS 的 IO 是真的坑爹,完全不能挂载为虚拟内存用,一旦系统使用硬盘作为虚拟内存,直接系统卡死好几分钟,只能强行关机重…
rt 想把我的一台安卓专门作为热点机子使用, 有什么好的工具,可以开关热点、蜂窝、限流、连接数、流量使用情况查看等功能。 最好是开源的那种,当然如果在 google play …
最近在搞项目的基建,在配置 ESLint 和 Prettier 的时候感觉非常痛苦:NPM 的包太多了,而且名字又太像: eslint-plugin-prettier, esl…