#operating-system #paging
Вопрос:
Учитывая, что у нас есть 32-bit
физический адрес, где смещение кадра равно 13 битам, а поле номера кадра физического адреса равно 19 битам. Нам также указано, что у нас есть 3 бита разрешений, 1 бит присутствия/отсутствия и 1 бит изменения, поэтому мы можем видеть, что 5 из 13 битов смещения кадра отсутствуют для дополнительных полей (3 бита разрешений, 1 бит присутствия/отсутствия и 1 бит изменения).
Вопрос: Я получил предыдущие номера после того, как решил часть первоначального вопроса. Но теперь у меня проблема с расчетом размера записи в таблице страниц. Мне дали, что это 5 19 = 24 бита, но я не уверен, почему.
Комментарии:
1. Запись таблицы страниц обычно состоит из «номера кадра» (19 верхних битов физического адреса) плюс 5 битов метаданных (разрешение, присутствует, изменено). 19 5 — это 24, как вы говорите.
2. @Натилдридж. Спасибо! Инструкторы не упоминают об этом, когда впервые обсуждают подкачку! Они просто сказали
PTE size = f.no p.offset
. Поскольку у нас есть 13 бит для смещения страницы, почему ответ не был 19 бит 13 бит, пожалуйста, что сделало бы его равным физическому адресу (19 бит 13 бит)?3. Смещение не происходит из записи таблицы страниц. Физический адрес вычисляется по 19-битному номеру кадра из записи таблицы страниц, объединенному со смещением 13-битного кадра от виртуального адреса, который мы пытаемся перевести. Таким образом, остальные 13 бит не соответствуют ничему, что должно быть сохранено в записи таблицы страниц. Таким образом, нам нужно как минимум 24 бита для записи таблицы страниц.
4. @Натилдридж. Спасибо. Это полезно. Хотелось бы, чтобы они обсуждали это в классе, так как поначалу это сбивает с толку.
5. Теперь в реальных системах может быть удобно, чтобы запись таблицы страниц была 32-битной, поэтому другие биты можно было бы использовать для других функций, зарезервировать или сделать доступной для использования операционной системой. Но если в вашей гипотетической системе требуется большая память, и они хотят, чтобы таблицы страниц были как можно более компактными, 24 бит будет достаточно.