面试题答案
一键面试进程创建过程关键步骤及作用
- 申请空白PCB(进程控制块)
- 作用:PCB 是进程存在的唯一标志,它记录了进程的各种信息,如进程标识符、处理机状态、进程调度信息、进程控制信息等。申请空白 PCB 为即将创建的进程提供一个存储其相关信息的数据结构,用于操作系统对该进程进行管理和控制。
- 为新进程分配资源
- 作用:新进程运行需要一定的资源,包括内存空间(代码段、数据段、堆栈段等)、打开的文件描述符、信号量等。分配这些资源确保进程有执行所需的环境和条件,例如分配内存用于存放程序代码和数据,打开文件描述符以便进程能够访问文件等。
- 初始化 PCB
- 设置进程标识符:为进程分配唯一的标识符,用于在系统中区分不同的进程。操作系统通过这个标识符对进程进行调度、管理等操作。
- 设置处理机状态信息:将处理机状态信息(如通用寄存器值、程序计数器值等)初始化。这些信息决定了进程恢复运行时从何处开始执行以及当时处理机的状态。
- 设置进程调度信息:例如设置进程的优先级、初始状态(如就绪态)等。调度信息用于操作系统的调度算法决定何时以及以何种顺序让进程使用处理机。
- 设置进程控制信息:如设置父进程标识符,表明该进程是由哪个进程创建的;设置进程的资源清单,记录分配给该进程的资源等。
- 将新进程插入就绪队列
- 作用:就绪队列用于存放所有已经准备好运行(即获得了除处理机以外的所有必要资源)的进程。将新创建的进程插入就绪队列,意味着该进程已准备好竞争处理机资源,等待操作系统调度执行。
进程创建失败的原因
- 系统资源不足
- 内存不足:如果系统没有足够的空闲内存为新进程分配所需的代码段、数据段和堆栈段空间,进程创建就会失败。例如,同时运行大量进程,导致内存被耗尽,新进程无法获得足够的内存来存放自身的程序和数据。
- 文件描述符耗尽:每个进程都可能打开一些文件或设备,系统对文件描述符的数量通常有限制。如果系统中所有的文件描述符都已被占用,新进程无法获取到文件描述符来打开所需的文件或设备,从而导致进程创建失败。
- 父进程权限不足
- 某些系统可能对进程创建有严格的权限限制。如果父进程没有足够的权限来创建新进程,例如在一些安全策略严格的系统中,普通用户进程不能创建具有特定特权的进程,此时进程创建会失败。
- 达到系统进程数限制
- 操作系统为了防止系统资源被过度消耗或出于安全考虑,会对系统中同时存在的进程数量进行限制。当系统中已有的进程数量达到这个限制值时,新进程的创建请求将被拒绝。