Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В блоке потока ядра каждого потока хранятся номера двух особых процессоров: идеального – предпочтительного для выполнения данного потока и последнего – на котором поток работал прошлый раз.
Как только поток готов к выполнению, Windows 2000 сначала пытается подключить его к простаивающему процессору. Если таких процессоров несколько, предпочтение сначала отдается идеальному процессору для данного потока, затем последнему. Действительно, процессор, на котором поток выполнялся прошлый раз, скорее всего еще хранит данные потока в своем кэше второго уровня, что в конечном итоге повышает производительность ВС.
Если все эти процессоры заняты, Windows 2000 выбирает первый доступный из простаивающих процессоров, для чего сканирует маску свободных процессоров в направлении убывания их номеров.
Если у выбранного процессора уже есть поток, ожидающий в состоянии Standby выделения процессорного времени, и его приоритет ниже, чем у нового потока, последний вытесняет первый и становится следующим выполняемым на данном процессоре. Если к процессору уже подключен какой-то поток, Windows 2000 сравнивает приоритеты текущего и нового потока. Если приоритет текущего потока меньше, чем у нового, первый помечается как подлежащий выполнению, и Windows 2000 ставит в очередь межпроцессорное прерывание для переключения процессора с текущего потока на новый.
ПРАКТИЧЕСКИЕ И ЛАБОРАТОРНЫЕ РАБОТЫ ПО ПЛАНИРОВАНИЮ ПРОЦЕССОВ И ПОТОКОВ
Дата публикования: 2015-04-07; Прочитано: 353 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!