UNIX中创建一个进程要做哪些主要工作?
【正确答案】:在UNIX中,除了。号进程和1号进程外,其他的进程总是使用系统调用fork来创建新进程,形成父子关系。父进程和子进程可以并发执行,子进程可以共享父进程的正文段和已打开的文件。由fork创建的子进程实际上是其父进程的一个映像,除了进程的状态、标识和与时间有关的控制项外,全部复制父进程的proc、user、栈和数据区。fork的主要工作如下:(1)在进程表proc[]中为子进程找一个空闲的表项,用来存放子进程的proc结构。(2)为子进程分配一个唯一的标识号。(3)把父进程proc中的字段复制到子进程的proc中,但把分配到的标识号置于p-pid中,把p-pid置为父进程的标识号,把p-stat置为创建状态。(4)按父进程中p-size所示的长度为子进程申请分配主存。