根据内核的数量,UNIX中可以有多少进程处于创建状态?

根据内核的数量,UNIX中可以有多少进程处于创建状态?,unix,process,operating-system,Unix,Process,Operating System,以下是UNIX进程状态 我的问题是: 根据内核的数量,在每个状态下一次可以找到多少进程 对于用户运行,kernel running是内核数 对于准备运行/内存中、准备运行/交换、内存中休眠、休眠/交换、僵尸-尽可能多 但我仍然无法找到被创造和被抢占的国家的答案。有人有想法吗?我想正如你所说: 对于用户运行,kernel running是核心数 准备运行/在内存中、准备运行/交换、在内存中休眠、休眠/交换、僵尸-尽可能多 抢占和创建的答案是从0到n,其中n受到进程表或虚拟内存的限制 我想你问这个

以下是UNIX进程状态

我的问题是:

根据内核的数量,在每个状态下一次可以找到多少进程

对于用户运行,kernel running是内核数

对于准备运行/内存中、准备运行/交换、内存中休眠、休眠/交换、僵尸-尽可能多


但我仍然无法找到被创造和被抢占的国家的答案。有人有想法吗?

我想正如你所说:

对于用户运行,kernel running是核心数

准备运行/在内存中、准备运行/交换、在内存中休眠、休眠/交换、僵尸-尽可能多

抢占和创建的答案是从0到n,其中n受到进程表或虚拟内存的限制

我想你问这个问题是因为你在1个进程和更多进程之间犹豫不决。
因此,答案与准备运行/内存中、准备运行/交换、内存中睡眠、睡眠/交换、僵尸的答案相同。

这个问题的前提是错误的,某个系统可以拥有的进程的理论数量不取决于CPU核心的数量,而是取决于可用内存的数量。这意味着实际上没有可能说出单个系统的实际最大进程数,因为可用内存量取决于实际运行的进程。系统可以拥有的进程数量也不取决于进程状态。问题不在于您可以创建多少进程。这是关于在每个状态的队列中一次可以找到多少进程的问题,那么答案就没有太大差别了。唯一可以指定的是处于任一运行状态的进程数,其总数将与内核数相同。处于其他状态的进程仅依赖于虚拟内存。我会冒险猜测,可能受可用内核数量限制的唯一状态将是“已创建”状态,但这仅限于进程创建不能在内核中抢占的情况,我猜这可能不是真的,以及“正在运行”状态(不包括“准备运行”)。所有其他状态都可能受到内核进程表中最大进程数的限制,如前所述,这些进程数可能变化很大,并且可以调整…@JoachimPileborg:是的,没错。因此,操作系统可能会将2个物理核视为总共4个(“虚拟”)cores并在这两个物理核上运行4个processess。因此,仅澄清一下,进程数!=物理核数。