我一直以为,他只会为重要进程提供它们所需的一切,而其他进程将被迫等待。但他如何分配优先级?如果我有 4GB 的 RAM,并且 3 个进程都具有相同的重要性,每个进程都需要一个,操作系统如何决定,谁得到多少,谁落后,谁优先?
答案1
RAM 基本上是先到先得的。根据操作系统以及内存管理的实现方式(过量使用、分页等),操作系统可能会被迫终止进程(如 Linux OOM 终止程序)。除此之外,当进程试图分配超过可用内存时,只会收到一条错误消息。
CPU 时间根据进程/线程优先级进行分配。有两种特殊情况:实时和空闲。具有实时优先级的进程实际上可以通过使用所有 CPU 时间锁定系统 - 鼠标和键盘将停止工作。具有空闲优先级的进程仅在没有更高优先级的进程需要 CPU 时间时才会运行。
默认情况下,一些更关键的进程具有更高的优先级。