Jump to content

Двухуровневое планирование

Двухуровневое планирование — это термин в области информатики, описывающий метод более эффективного планирования процессов , включающий замену процессов .

Рассмотрим такую ​​проблему: система содержит 50 запущенных процессов с одинаковым приоритетом. системы Однако память может одновременно хранить только 10 процессов. всегда будет 40 выгруженных процессов Таким образом, в виртуальной памяти на жестком диске . Время, необходимое для замены и замены в процессе, составляет 50 мс соответственно.

При простом циклическом планировании каждый раз, когда происходит переключение контекста , необходимо заменять процесс (поскольку заменяются только 10 процессов, которые использовались реже всего). Случайный выбор процессов уменьшит вероятность до 80% (40/50). Если это произойдет, то, очевидно, процесс также необходимо заменить. Замена и замена требует больших затрат, и планировщик потратит большую часть времени на ненужные замены.

Именно здесь на сцену выходит двухуровневое планирование. Он использует два разных планировщика, один планировщик нижнего уровня , который может выбирать для запуска только те процессы, которые находятся в памяти. Этот планировщик может быть планировщиком циклического перебора. Другой планировщик — это планировщик более высокого уровня , единственная задача которого — загружать и выгружать процессы из памяти. Он выполняет планирование гораздо реже, чем планировщик нижнего уровня, поскольку замена занимает очень много времени.

Таким образом, планировщик более высокого уровня выбирает среди тех процессов в памяти, которые выполнялись в течение длительного времени, и вытесняет их. Они заменяются процессами на диске, которые давно не запускались. То, как именно он выбирает процессы, зависит от реализации планировщика более высокого уровня. Необходимо найти компромисс, включающий следующие переменные:

  • Время отклика : процесс не следует отключать слишком долго. Тогда какому-то другому процессу (или пользователю) придется ждать неоправданно долго. Если эта переменная не учитывается, может возникнуть нехватка ресурсов , и процесс может вообще не завершиться.
  • Размер процесса. Более крупные процессы должны подвергаться меньшему количеству свопов, чем более мелкие, поскольку для их замены требуется больше времени. Поскольку они больше, меньше процессов могут совместно использовать память с процессом.
  • Приоритет: чем выше приоритет процесса, тем дольше он должен оставаться в памяти, чтобы завершиться быстрее.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 91ca35a55b8c25a0a50a3543c993f0d8__1610343240
URL1:https://arc.ask3.ru/arc/aa/91/d8/91ca35a55b8c25a0a50a3543c993f0d8.html
Заголовок, (Title) документа по адресу, URL1:
Two-level scheduling - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)