在UNIX操作系统中,试述:
(1)为创建一个进程,系统需做哪些准备工作。
(2)进程树如何形成。
(3)用流程图描述“创建进程(fork)”系统调用。
参考答案:(1)为创建一个进程,首先需要启动UNIX操作系统。系统初启时,会自动建立0#进程,0#进程又创建1#进程,此后0#进程就变为对换进程,而1#进程就变为系统的始祖进程。创建进程的时候需要为新进程创建PCB、分配资源(包括内存页面、文件),这些资源通常由父进程继承而来。
(2)UNIX利用fork为每个终端创建一个子进程为用户服务,如等待用户登录、执行shell命令解释程序等。此后,每个终端子进程又可利用fork来创建它的子进程,从而可形成一棵进程树。
(3)fork()的主要工作流程如下图所示。
[*]