Операционная система: вопрос пейджинга - PullRequest
0 голосов
/ 03 мая 2011

У меня есть вопрос, на который я пытаюсь ответить, который дает следующую ситуацию:

16K страниц 32-битные виртуальные адреса Жесткий диск 512 МБ, адресуемый сектором с 16K секторами 8 процессов в настоящее время работают

Меня спрашивают:

i) Сколько требуется таблиц страниц процесса?

Я думаю, что это вопрос с подвохом? Конечно, ответ только 1.

ii) Если регистр PAR адреса процесса может иметь длину до 32 бит, то какой максимальный объем физической памяти может поддерживаться на этом аппарате?

iii) Какой должна быть ширина в битах каждой записи в таблице процессов, если установлена ​​физическая память 64 МБ?

Пожалуйста, кто-нибудь может дать мне помощь / подсказку с последними двумя частями, так как я действительно застрял на них? Спасибо!

1 Ответ

0 голосов
/ 06 мая 2011

Если вы посмотрите здесь перед экзаменом позже сегодня, это потому, что это не означает регистр адреса процесса, это означает регистр адреса страницы!

Попробуйте поискать http://cseweb.ucsd.edu/classes/fa03/cse120/Lec08.pdf для получения дополнительной информации, включая справку по сегментации и объединению подкачки

Кроме того, книга в библиотеке IC под названием «Концепции операционных систем с кодом 005.43SIL» гласит, что каждый процесс имеет свою собственную таблицу страниц процесса и может даже сегментироваться сам!

я) Я сказал 8

ii) 32-битная адресация виртуальной памяти с 14-битным смещением в таблице страниц (2 ^ 14 = длина страницы 16 КБ) означает, что для номера страницы осталось 18 бит. В 32 битах PAR это означает 14 бит для местоположения страницы. Если вы умножите количество местоположений страниц на размер страницы, вы получите 2 ^ 14 * 2 ^ 14 = 2 ^ 18, что составляет 256 МБ ОЗУ

iii) Я получил 30 битов. 64 МБ - это 2 ^ 26, разделенное на размер страницы: 2 ^ 26/2 ^ 14 = 2 ^ 12, что означает 12 бит для местоположения страницы. Из (ii) я вычислил, что в адресе виртуальной памяти для номера страницы осталось 18 битов, что означает, что он должен быть шириной 30 бит. Я также оставил комментарий, что, поскольку он должен быть с байтовым псевдонимом, возможно, можно использовать дополнительные 2 бита, чтобы мы знали, записан ли он и хранится ли он в данный момент на диске.

Надеюсь, это поможет!

...