Друзья! Задачка с http://www.intuit.ru из курса "Основы операционных систем." на рисунке.
И вот я бьюсь-бьюсь и не могу понять.
Итак, всё просто. Имеем виртуальный адрес 32768 = 0X8000, в двоичном виде будет
0000 0000 0000 0000 1000 0000 0000 0000
Размер страницы это 4 килобайт. 4 килобайт это 2^12, то есть в данном виртуальном адресе справа отсчитаем 12 бит и поставим границу (палку |). Число, которое они образуют- суть смещение для виртуального адреса. А число, которое будет слева от них- номер виртуальной страницы
0000 0000 0000 0000 1000 | 0000 0000 0000
Всё. Смещение равно 0 (справа от палки), номер виртуальной страницы равен 8 (слева от палки). Но в ответах такого нет! Где я ошибаюсь? Спасибо, кто откликнется.
Найти номер виртуальной траницы и смещение виртуального адреса по адресу
Модератор: Модераторы разделов
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Найти номер виртуальной траницы и смещение виртуального адреса по адресу
Страницы нумеруются, начиная с 0.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Найти номер виртуальной траницы и смещение виртуального адреса по адресу
Ну да. 0 это нулевая страница, 01 первая и 10 вторая и так далее. А 1000 это восьмая страница. А её в ответах нет.
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Найти номер виртуальной траницы и смещение виртуального адреса по адресу
А, ну да. Значит ошибка в тесте.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |