Я всегда думал, что он просто отдаст важным процессам все, что им нужно, а другие будут вынуждены ждать. Но как он назначает приоритет? Что, если у меня есть 4 гигабайта оперативной памяти и 3 процесса с одинаковой важностью, каждый нуждается в них, как ОС решает, кто получает, кто отстает и кто является приоритетом?

1 ответ1

1

ОЗУ в основном первым пришел - первым обслужен. В зависимости от ОС и от того, как реализовано управление памятью (перегрузка, подкачка и т.д.), ОС может быть вынуждена завершать процессы (например, убийца OOM в Linux). Помимо этого, процессу просто будет выдано сообщение об ошибке при попытке выделить больше памяти, чем доступно.

Время процессора распределяется в соответствии с приоритетом процесса / потока. Есть два особых случая: в реальном времени и в режиме ожидания. Процесс с приоритетом реального времени может фактически заблокировать систему, используя все процессорное время - мышь и клавиатура перестанут работать. Процесс с бездействием будет запускаться только в том случае, если процессам с более высоким приоритетом не требуется время процессора

По умолчанию некоторые более важные процессы имеют более высокий приоритет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .