Я работаю над проектом о поведении программ, когда речь заходит об алгоритмах замены страниц на основе Inverted Page Table (просто массив объектов Frame (class)). Меня просят реализовать алгоритмы LRU и Working Set . Я пытаюсь понять, как работает Working Set .
- 1) Каким образом мне загружать страницы в основную память? Для реализации LRU самая новая страница была помещена в первую позицию массива, сдвинув все остальные вправо. Должен ли я сделать то же самое?
- 2) Давайте предположим, что размер рабочего набора равен 4, и у меня в настоящее время {1,2,3,4}. Если указано 5, я должен убрать «1», и мой новый рабочий набор будет {2,3,4,5}. «1» все еще в основной памяти, верно? Если я сейчас укажу «1», получу ошибку страницы или нет?