Архитектура современных операционных систем
82 Кроме того планировщик использует следующее правило: поток, который выполнялся последним при прочих равных условиях, пользуется преимуще- ством при следующем запуске, так как его стек еще хранится в памяти. Во время работы какого-либо потока значение quantum периодически уменьшается на 1 при каждом тике таймера. Выполнение потока прекращается при возникновении одного из следующих условий: квант потока уменьшается до 0; поток перешел в состояние ожидания; в состоянии готовности перешел поток, у которого goodness >, чем у текущего. Так как квант постоянно уменьшается, то у вычислительных потоков (по- токов, ограниченных процессором) переключение наступает по первому усло- вию. У потоков с большим числом операций ввода/вывода переключение наступает по второму условию и квант не равен 0. Периодически планировщик пересчитывает переменную quantum для всех потоков по следующей формуле: quantum = quantum/2 + priority Вычислительные потоки, имеющие разный приоритет, получают кванты, пропорциональные своему приоритету. Управление памятью в Linux Любому процессу, работающему на 32-х разрядной системе, Linux выде- ляет 3GB виртуальной оперативной памяти и 1GB резервируе для себя. Доступ к нему потоки получают при переходе в системный режим. Вся виртуальная оперативная память делится на однородные непрерывные области, выравненные на границу страницы. Любая такак область состоит из последовательностей страниц.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy