Unix最具特点的程序模块化技法就是将大型程序分解成多个协作的进程。
这种设计可以降低全局的复杂度,但是需要更多的关注进程间传递信息和命令的协议设计。
对于通信协议的设计,真正的挑战不是设计协议语法而是设计协议的逻辑:即要有表达能力又要有防范死锁的能力。
它是模块化的延续。
在开发出可以把全局复杂度降至最低程度的干净系统之前,关注性能问题便是过早优化。
1.1 Uinx IPC方法分类
1.1.1 把任务转给专门程序
其实就是一个程序使用system调用另外一个程序。我进程使用。特别是c调用shell脚本。
1.1.2 管道,重定向,过滤器
这和架构模式中的管道过滤器模式非常像。
通过管道线来连接多个小的程序,来达到意想不到的效果。
这样可以将整个大功能分解为多个小工具,从而达到灵活重用的目的。
就像ls | more,more是分页程序,通过这样,ls就可以不用自己写分页程序,直接使用more的分页程序即可。
多道程序设计:分离进程为独立功能
最新推荐文章于 2024-10-23 06:59:37 发布