Unix最具特点的程序模块化技法就是将大型程序分解成多个协作的进程。
这种设计可以降低全局的复杂度,但是需要更多的关注进程间传递信息和命令的协议设计。
对于通信协议的设计,真正的挑战不是设计协议语法而是设计协议的逻辑:即要有表达能力又要有防范死锁的能力。
它是模块化的延续。
在开发出可以把全局复杂度降至最低程度的干净系统之前,关注性能问题便是过早优化。
1.1Uinx IPC方法分类
1.1.1 把任务转给专门程序
其实就是一个程序使用system调用另外一个程序。我进程使用。特别是c调用shell脚本。
1.1.2 管道,重定向,过滤器
这和架构模式中的管道过滤器模式非常像。
通过管道线来连接多个小的程序,来达到意想不到的效果。
这样可以将整个大功能分解为多个小工具,从而达到灵活重用的目的。
就像ls | more,more是分页程序,通过这样,ls就可以不用自己写分页程序,直接使用more的分页程序即可。
多道程序设计:分离进程为独立功能
最新推荐文章于 2024-06-21 22:09:25 发布
本文深入探讨了Unix IPC(进程间通信)方法,重点介绍了任务转给专门程序与管道过滤器模式的实现与应用。通过详细解释这些方法,文章展示了如何将大型任务分解为多个小工具,利用Unix系统提供的管道和重定向功能,实现高效灵活的数据处理流程。此外,文章还强调了设计良好的通信协议在避免死锁和确保系统稳定运行方面的重要性。
176万+

被折叠的 条评论
为什么被折叠?



