2016-01-18 5 views
0

В случае сбоя страницы соответствующая страница должна быть извлечена с диска. Поскольку мы знаем, что диск представляет собой набор блоков, которые следуют за линейной блочной адресацией, как виртуальный адрес для конкретной страницы преобразуется в список адресов линейных блоков, который содержит блоки этой страницы, так что эти блоки можно перемещать с диска на главную память ?Как виртуальный адрес переводится на адрес диска?

ответ

0

Это зависит от ОС. Для Linux обычно есть раздел подкачки. Другим подходом являются файлы подкачки, хранящиеся в файловой системе диска. Простая реализация сохранит адрес линейного блока (LBA) в хэш-таблице с виртуальным адресом в качестве ключа. Каждый процесс имел бы такую ​​хеш-таблицу. Во время ошибки страницы простой поиск в хэш-таблице показывает LBA на странице.