Главная страница Межпроцессное взаимодействие (состязание) По большей части работа менеджера памяти связана не с отслеживанием памяти, что делается при помощи списка свободных блоков и алгоритма выбора первого подходящего блока, а с обслуживанием системных вызовов, относящихся к управлению памятью. Некоторые из системных вызовов обеспечивают работу сигналов в стиле POSIX, а так как по умолчанию большинство таких сигналов завершают процесс, имеет смысл обрабатывать их в менеджере памяти, инициирующем завершение всех процессов. Отдельные системные вызовы напрямую к работе с памятью не относятся, но также обрабатываются менеджером памяти, в основном из-за того, что он меньше файловой системы и поместить их здесь удобнее. Вопросы 1. Компьютерная система имеет достаточно места для того, чтобы содержать в оперативной памяти четыре программы. Эти программы простаивают в ожидании ввода/вывода половину времени. Какая часть времени работы центрального процессора пропадает? 2. Рассмотрим систему обычной подкачки, в памяти которой содержатся свободные участки следующих размеров и в следующем порядке: 10 Кбайт, 4 Кбайт, 20 Кбайт, 18 Кбайт, 7 Кбайт, 9 Кбайт, 12 Кбайт и 15 Кбайт. Какой из них будет выбран для успешного удовлетворения запроса сегмента размером 1)12 Кбайт, 2) 10 Кбайт, 3) 9 Кбайт по алгоритму первый подходящий ? Ответьте на тот же самый вопрос для алгоритмов самый подходящий , самый неподходящий и следующий подходящий . 3. В чем разница между физическим адресом и виртуальным? 4. Опираясь на таблицу страниц на рис. 4.8, сосчитайте физический адрес, соответствующий каждому из следующих виртуальных адресов: 1) 20, 2) 4100, 3) 8300. 5. Процессор Intel 8086 не поддерживает виртуальную память. Тем не менее некоторые компании ранее продавали системы, содержащие неизмененный процессор 8086 и выполняющие страничную подкачку. Предложите гипотезу того, как они это делали. Подсказка: подумайте о логическом расположении диспетчера памяти (MMU). 6. Считая, что команда выполняется за 1 мкс, а страничное прерывание требует дополнительно п мкс, напишите выражение для фактического време- ни выполнения команды с учетом того, что прерывания происходят через каждые k инструкций. 7. Компьютер имеет 32-разрядное адресное пространство и страницы размером 8 Кбайт. Таблица страниц целиком поддерживается аппаратно, на запись в ней отводится одно 32-разрядное слово. При запуске процесса таблица страниц копируется из памяти в аппаратуру, одно слово требует 100 не. Если каждый процесс работает в течение 100 мс (включая время загрузки таблицы страниц), какая доля времени процессора жертвуется на загрузку таблицы страниц? 8. Компьютер с 32-разрядным адресом использует двухуровневую таблицу страниц. Виртуальные адреса расщепляются на 9-разрядное поле верхнего уровня таблицы, 11-разрядное поле второго уровня таблицы страниц и смещение. Чему равен размер страниц и сколько их в адресном пространстве? 9. Ниже показан алгоритм фрагмента программы для компьютера с размером страницы 512 байт. Программа расположена по адресу 1020, указатель стека равен 8192 (стек увеличивается по направлению к нулю). Напишите последовательность страничных обращений, создаваемую этой программой. Каждая инструкция занимает 4 байта (1 слово), включая непосредственные константы. В последовательности обращений учитываются обращения как к инструкциям, так и к данным. Загрузить слово 6144 в регистр 0. Поместить содержимое регистра О в стек. Вызвать процедуру по адресу 5120, помещая в стек адрес возврата. Вычесть константу 16 из указателя стека. Сравнить полученный результат с константой 4. При равенстве перейти на адрес 5152. 10. Предположим, что 32-разрядный виртуальный адрес разбивается на четыре поля. Первые три используются для трехуровневой системы таблиц страниц. Четвертое поле - это смещение. Зависит ли количество страниц от размера всех четырех полей? Если нет, то какие из полей имеют значение, а какие нет? И. Компьютер, процессы которого имеют 1024 страницы в своем адресном пространстве, хранит таблицы страниц в памяти. На чтение слова из таблицы страниц требуется 5 не. Чтобы уменьшить затраты, в компьютере присутствует буфер быстрого преобразования адреса (TLB), содержащий 32 пары (виртуальная страница, физический страничный блок), который может выполнить поиск за 1 не. При какой частоте обращений к памяти, успешно реализуемых в TLB, средние затраты будут ниже 2 не? 12. Буфер быстрого преобразования адреса на машинах VAX не содержит бита R. Почему? 13. Машина поддерживает 48-разрядные виртуальные адреса и 32-разрядные физические адреса. Размер страницы равен 8 Кбайт. Сколько требуется записей в таблице страниц? 14. Компьютер имеет четыре страничных блока. Время загрузки, время последнего доступа и биты R и М для каждой страницы показаны ниже (время считается в тиках системных часов).
1) Какую страницу выгрузит алгоритм NRU? 2) Какую страницу выгрузит алгоритм FIFO? 3) Какую страницу выгрузит алгоритм LRU? 4) Какую страницу выгрузит алгоритм вторая попытка ? 15. Если используется алгоритм замещения страниц FIFO в системе с четырьмя страничными блоками и восемью страницами, сколько страничных прерываний произойдет для последовательности обращений 0172327103 при условии, что четыре страничных блока изначально пусты? Теперь решите эту задачу для алгоритма LRU. 16. У маленького компьютера четыре страничных блока. Во время первого тика часов биты R равны 01И (у страницы О бит R равен О, у остальных - 1). Во время последующих тиков часов биты R принимают значения 1011, 1010, 1101, 0010, 1010, 1100 и 0001. Считая, что используется алгоритм старения с 8-разрядным счетчиком, напишите четыре значения, которые примет счетчик после последнего тика. 17. Сколько времени займет загрузка с диска программы размером 64 Кбайт, если его среднее время поиска равно 10 мс, время оборота - Юме, каждая дорожка содержит 32 Кбайт: 1) для размера страницы 2 Кбайт? 2) для размера страницы 4 Кбайт? Страницы раскиданы по диску случайно, и количество цилиндров так велико, что можно игнорировать вариант, при котором две страницы оказываются на одном и том же цилиндре. 18. Одна из первых машин с системой разделения времени PDP-1 имела память 4 К 18-разрядных слов. В каждый конкретный момент времени она содержала в памяти один процесс. Когда планировщик решал запустить другой процесс, процесс в памяти записывался на страничный барабан с 4 К 18-разрядных слов по окружности барабана. Барабан мог начать запись (или чтение) с любого слова, а не только со слова 0. Как вы полагаете, почему была выбрана эта конструкция?
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |