UNIX 基础概念与系统调用使用指南
1. 进程间通信机制
在数据处理中,共享内存是一种高效的数据交互方式。一旦数据被写入共享内存,读者进程就能立即获取这些数据。为了确保读写操作的同步,通常会使用信号量或消息机制。共享内存存在两种版本,大家可以自行思考一下它们的特点。
而网络进程间通信则是通过一组名为套接字(sockets)的系统调用来实现的。这组系统调用还包括 bind、connect 和 accept 等。与之前提到的其他通信机制不同,通过套接字进行通信的进程不一定要在同一台机器上,它可以位于另一台机器、本地网络或互联网的任何地方,甚至该机器运行的操作系统也不一定是 UNIX,Windows 或其他系统都可以,也可以是联网的打印机或收音机等设备。不过,为特定应用选择合适的进程间通信(IPC)机制并非易事。
2. UNIX 版本的发展历程
1969 年,Ken Thompson 和 Dennis Ritchie 在 AT&T 贝尔实验室将 UNIX 作为一个研究项目启动。不久后,UNIX 在 AT&T 内部系统中得到广泛应用,例如用于自动化电话维修呼叫中心。到了 20 世纪 70 年代初,AT&T 开始将 UNIX 提供给大学用于教育目的,但要求源代码只能披露给拥有许可证的其他大学。到 70 年代末,AT&T 也开始向商业供应商授权源代码。
许多许可证持有者对 UNIX 进行了修改,以适应新硬件、添加设备驱动程序或进行性能调优。其中,加利福尼亚大学伯克利分校的两项修改最为显著:引入了网络系统调用(“套接字”)和对虚拟内存的支持。因此,尽管世界各地的大学和研究实验室仍然从 AT&T 获取许可证,但
超级会员免费看
订阅专栏 解锁全文
1276

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



