多道程序设计:分离进程为独立功能

Unix最具特点的程序模块化技法就是将大型程序分解成多个协作的进程。

这种设计可以降低全局的复杂度,但是需要更多的关注进程间传递信息和命令的协议设计。

对于通信协议的设计,真正的挑战不是设计协议语法而是设计协议的逻辑:即要有表达能力又要有防范死锁的能力。

它是模块化的延续。

在开发出可以把全局复杂度降至最低程度的干净系统之前,关注性能问题便是过早优化。

1.1Uinx IPC方法分类

1.1.1 把任务转给专门程序

其实就是一个程序使用system调用另外一个程序。我进程使用。特别是c调用shell脚本。

1.1.2 管道,重定向,过滤器

这和架构模式中的管道过滤器模式非常像。

通过管道线来连接多个小的程序,来达到意想不到的效果。

这样可以将整个大功能分解为多个小工具,从而达到灵活重用的目的。

就像ls | more,more是分页程序,通过这样,ls就可以不用自己写分页程序,直接使用more的分页程序即可。


你可能感兴趣的:(程序设计)