-
进程创建时是通过复制进程0得到的,都是0的子进程,未处理完的新进程,置为不可中断的等待状态,防止被调度。
-
进程是抢占式的,内核态执行的进程不能被抢占,用户态的可以。
-
进程的上下文:CPU中寄存器的值、进程的状态、堆栈内容,进程的上下文保存在PCB块中
注:运行状态:正在执行和已准备就绪
注:进程终止时会被置为僵死状态,此时进程的 任务数据结构 还在保留。如果父进程没有通过调用wait()、waitpid()或类似的系统调用来等待(并收集)其子进程的退出状态,那么子进程的进程描述符(PCB)就会保持在系统中,形成一个所谓的“僵尸进程”(或僵死进程)。这是因为操作系统需要保留子进程的退出状态信息,以便父进程稍后能够查询。
因此,仅仅执行exit本身并不会导致进程僵死;僵死是由于父进程未能及时读取子进程的退出状态而发生的。如果父进程确实调用了wait()或类似的函数来等待子进程,那么子进程就不会变成僵尸进程,因为它的退出状态会被及时读取,并且进程描述符也会被回收。