Компьютер имеет 32 – разрядное адресное пространство. Организация памяти – страничная. Таблица страниц полностью поддерживается аппаратно и на запись в ней отводится одно 32 разрядное слово.
При запуске пользовательского процесса таблица страниц копируется из памяти в аппаратуру. Время работы процесса включает время загрузки таблицы страниц.
Определить, какая доля времени процессора жертвуется на загрузку таблицы страниц считая что:
§ копирование 1 слова требует 10 нс.
§ размер страницы – 8 Кбайт.
§ время работы процесса в системе - 100 мс.
Оцените, как размер страницы влияет на производительность системы.
Решение задачи предлагается следующее:
При известном времени записи слова в аппаратуру для определения времени копирования страниц необходимо знать число слов в таблице.
Оно должно быть равно числу виртуальных страниц в виртуальном адресном пространстве.
Размер виртуального адресного пространства Ева определяется разрядностью адреса, которая равна 32. Следовательно:
|
|
Ева = 232 байт
При заданном размере страницы Естр = 8 кбайт число виртуальных страниц Nстр. равно:
Nстр = Ева / Естр = 232 / 213 = 219
Теперь можно найти время копирования таблицы страниц в аппаратуру – Ткоп_табл с учетом времени копирования одного слова – Ткоп_слова
Ткоп_табл = Ткоп_слова * Nстр = 10 * 219 = 5242880 (нс) = 5,24 (мск)
Так как время работы процесса Тпроцесса равно 100 мс, то доля времени процессора - ∆, затрачиваемая на загрузку таблицы страниц будет равна
∆ = (Ткоп_табл / Тпроцеса) * 100% = 5,24 / 100 * 100% = 5, 24%
Очевидно, что при уменьшении размера страницы, например в 2 раза, увеличивается количество создаваемых и используемых страниц:
Nстр = Ева / Естр = 232 / 213 = 219 * 2
Естественно, время копирования таблицы страниц в аппаратуру – Ткоп_табл с учетом времени копирования одного слова – Ткоп_слова также возрастет в 2 раза:
Ткоп_табл = Ткоп_слова * Nстр = 10 * 219 *2 = 5242880 * 2 (нс) =
5,24 * 2(мск) = 10,48
И увеличится доля времени процессора, затрачиваемая на загрузку таблицы страниц:
∆ = 5, 24%*2 = 10,48%
Т.о. при уменьшении размера страниц доля времени процессора, затрачиваемая на загрузку таблицы страниц будет уменьшаться. И наоборот, при увеличении размера страниц доля времени процессора, затрачиваемая на загрузку таблицы страниц будет уменьшаться.
Однако, есть еще один важный фактор, связанный с размером страницы и влияющий на производительность системы - потери основной памяти процесса из-за наличия внутренней фрагментации при блочном распределении основной памяти, при котором процессу выделяется целое число страниц. Эти потери возрастают при увеличении размера страниц и уменьшаются при уменьшении размера страниц.
Конечно же размер страницы повлияет на уровень мультизадачности.
Размер страницы – всегда компромиссная задача В системах семейства MS Windows размер страницы равен 4 К.