多进程服务器模型回顾
Unix 下的大多数网络服务器程序都是这么编写的,即父进程接受连
接,派生子进程,子进程处理与客户的交互。
虽然这种模型很多年来使用得很好,但是 fork 时有一些问题:
•
fork 是昂贵的。内存映像要从父进程拷贝到子进程,所有描述字要在
子进程中复制等等。目前有的 Unix 实现使用一种叫做写时拷贝
( copy - on - write )的技术,可避免父进程数据空间向子进程的
拷贝。尽管有这种优化技术, fork 仍然是昂贵的;
•
fork 子进程后,需要用进程间通信( IPC )在父子进程之间传递信
息。 Fork 之前的信息容易传递,因为子进程从一开始就有父进程数
据空间及所有描述字的拷贝。但是从子进程返回信息给父进程需要做
更多的工作。 ;