Перейти к содержимому

Поток состояний Linux против Windows

3

Linux имеет: готов, заблокирован, работает, завершен.

Windows имеет: Готово, Отложено готово, Ожидание, Работает, Ожидание, Завершено, Инициализировано.

Почему в Windows так много состояний? Какое преимущество дает эта дополнительная сложность?

1 531 просмотр
Nickolouse спросил 10 лет назад
N 18

1 ответ

2
Принятый ответ

Running нить нить, которая в настоящее время осуществляет на процессоре. Запуск поток выбран из списка Ready потоков для этого процессора, которые являются потоками, которые хорошо поменять места, чтобы выполнить. Standby нить есть Готовый поток, который в настоящее время выбран заменяемым в к Running состояния следующего на этом процессоре. Однако это может измениться, если поток с более высоким приоритетом станет готовым до внесения изменений.

Отложенное состояние готовности - это глобальное состояние, указывающее, что поток готов к работе на любом процессоре. Это может использоваться, например, для одного ЦП для планирования потока с высоким приоритетом на другом ЦП.

Потоки, которые не готовы к работе, получают состояние, определяемое причиной, по которой они не могут работать:

  • Потоки переводятся в состояние инициализации во время их создания.
  • Потоки могут быть Ожидание на каком - то событии, например, синхронизации или I / O завершения, или могут быть вынуждены ждать, если они получают доступ к памяти, которая выгружаемый на диск, например. Как только событие будет сигнализировано или истечет время ожидания, поток будет иметь право на повторный запуск.
  • Потоки переводятся в состояние перехода, потому что их стек ядра был выгружен. Эти потоки не будут готовы к запуску, пока их стек ядра снова не станет доступен.
  • Выходящие потоки переводятся в состояние « Завершено» до тех пор, пока система не будет очищена.

enter image description here

Следует отметить, что состояния потоков полностью отделены от приоритетов планирования, которые определяют порядок, в котором потоки выбираются для запуска.

Xtremity ответил 10 лет назад
X 217