От: | Serginio1 | https://habrahabr.ru/users/serginio1/topics/ | |
Дата: | 01.10.21 17:46 | ||
Оценка: |
Ну и если задачи короткие то они могут быть соизмеремы с временем переключения контекстаКроме того, что очень важно, при переключении контекста происходят следующие программно-незаметные аппаратные действия, влияющие на производительность:
Происходит очистка конвейера команд и данных процессора
Очищается TLB, отвечающий за страничное отображение линейных адресов на физические.
Кроме того, следует учесть следующие факты, влияющие на состояние системы:
Содержимое кэша (особенно это касается кэша первого уровня), накопленное и «оптимизированное» под выполнение одного потока, оказывается совершенно неприменимым к новому потоку, на который происходит переключение.
При переключении контекста на процесс, который до этого долгое время не использовался (см. Подкачка страниц), многие страницы могут физически отсутствовать в оперативной памяти, что порождает подгрузку вытесненных страниц из вторичной памяти.