Главная страница  Межпроцессное взаимодействие (состязание) 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 [ 141 ] 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187

По большей части работа менеджера памяти связана не с отслеживанием памяти, что делается при помощи списка свободных блоков и алгоритма выбора первого подходящего блока, а с обслуживанием системных вызовов, относящихся к управлению памятью. Некоторые из системных вызовов обеспечивают работу сигналов в стиле 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. Как вы полагаете, почему была выбрана эта конструкция?



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 [ 141 ] 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.