Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС, зачетные ответы v2.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
127 Кб
Скачать
☆

140 Чем различаются позиционно независимые и перемещаемые программы?

Более поздние архитектуры ЭВМ позволили в значительной мере упростить дело за счет использования относительной адресации – указания адреса как смещения относительно значения в некотором базовом регистре. Теперь настройка требовалась лишь для нескольких команд, загружающих значения в базовые регистры. Более того, для многих не слишком сложных программ стало возможно обойтись вообще без словаря перемещений (например, если все адреса указаны только как смещения относительно начала программы). Подобные программы, способные без изменений правильно работать при загрузке по любому адресу, называются позиционно-независимыми, в отличие от перемещаемых программ, требующих настройки адресов

141 Что такое распределение памяти с фиксированными разделами?

При этом способе распределения памяти администратор системы заранее, при установке ОС, выполняет разбиение всей имеющейся памяти на несколько разделов. Как правило, формируются разделы разных размеров.

142 Что такое распределение памяти с динамическими разделами?

При такой организации памяти никакого предварительного разбиения не делается. Вся имеющаяся память рассматривается как единое пространство, в котором размещаются загруженные программы. Когда возникает необходимость запустить еще одну программу, система выбирает свободный фрагмент памяти достаточного размера и выделяет его в качестве «динамического раздела» для данной программы. Если не удается найти достаточно большой непрерывный участок памяти, то самым простым решением будет подождать с запуском новой программы, пока не завершится одна из работающих программ.

143 Какую информацию содержит таблица сегментов процесса?

Селектор сегмента представляет некоторое число, которое обычно является индексом в таблице сегментов данного процесса. Такая таблица содержит для каждого сегмента его размер, режим доступа (только чтение или возможна запись), флаг присутствия сегмента в памяти. Если сегмент находится в памяти, то в таблице хранится его базовый адрес (адрес физической памяти, соответствующий началу сегмента). Отсутствие сегмента означает, что его данные временно вытеснены на диск и хранятся в файле подкачки (swap file).

144 Чем различаются фиксированные и перемещаемые сегменты?

фиксированный сегмент не должен перемещаться в памяти;

перемещаемый сегмент может перемещаться системой, но тогда программа не знает, куда обратиться к нему.

145 Чем различаются сегментная и страничная организация виртуальной памяти?

Эта форма организации виртуальной памяти во многом похожа на сегментную. Основные различия заключаются в том, что все страницы, в отличие от сегментов, имеют одинаковые размеры, а разбиение виртуального адресного пространства процесса на страницы выполняется системой автоматически. Типичный размер страницы – несколько килобайт. Для процессоров Pentium, например, страница равна 4 Кб.

146 Как обеспечивается изоляция процессов при использовании страничной адресации?

???

147 В чем заключается процесс подкачки страниц по требованию?

Реальное чтение из файла произойдет тогда, когда программа обратится к виртуальным адресам, соответствующим отображенному участку файла.???

148 Почему алгоритм LRU мало пригоден для выбора вытесняемой страницы памяти?

Громоздко и медленно записывать и обрабатывать времена обращений.

Обращения к памяти происходят с огромной частотой, при выполнении почти каждой команды процессора. Абсолютно нереально при каждом обращении предпринимать какие-то программные действия. Из этого следует, что алгоритм выбора вытесняемой страницы должен опираться на аппаратную поддержку.

149 Возможна ли фрагментация физической памяти при сегментной организации? А при страничной?

???

150 Какой размер сегмента программы используется в Windows?

4 Килобайта.

151 Что означают операции RESERVE и COMMIT при выделении региона памяти?

Резервирование региона памяти. И передача физической памяти.

152 Какие действия с памятью выполняются при запуске EXE-файла?

Windows резервирует виртуальные страницы и закрепляет за ними блоки EXE-файла.

153 В каких случаях используется копирование при записи?

Когда программе предписано изменить саму себя при изменении значений переменных.

154 Что такое отображение файла данных в память?

Оригинальный способ работы с файлами, при котором вместо явного чтения и записи данных программа ведет себя так, как если бы файл уже находился в памяти.

155 Для чего используется отображение файла без указания конкретного файла?

Только как средство обмена данными меж процессами.

156 Что такое куча и для чего она используется?

Объект для размещения динамических переменных.

157 Что такое сериализация работы с кучей?

Последовательное выполнение запросов (обращений к работе с кучей).

158 В чем преимущества работы одного процесса с несколькими кучами?

Это позволяет обойтись без сериализации. Иногда удается избежать фрагментации, выделив отдельную кучу для каждого размера блоков.

159 Что такое охраняемая страница стека?

Она отмечена флагом PAGE_GUARD, и доступ к ней - только для чтения или чтения и записи.

160 Как в Windows обеспечивается защита от переполнения стека?

Младшая страница региона стека всегда зарезервирована и не позволяет стеку выйти за нее.

161 Что делает функция brk в UNIX?

Изменение размера области данных в ходе работы.

162 В чем заключается «алгоритм часов»?

Для каждой физической страницы в таблице страниц хранятся бит использования и бит модификации. Эти биты устанавливаются аппаратно: бит использования – при каждом обращении к странице, а бит модификации – при записи на страницу. Системный процесс, называемый демоном замещения страниц, активизируется периодически (по таймеру) и следит, не слишком ли мал размер списка свободных страниц. Обычно порог устанавливается равным ¼ общего объема физической памяти. Если число свободных страниц ниже этого порога, демон начинает циклически проверять все физические страницы. Если у страницы установлен бит использования, то этот бит сбрасывается. Если же бит уже был сброшен, то страница включается в список свободных. Таким образом, страница попадает в список свободных, если после последнего обращения к ней страничный демон успел дважды ее опросить. Если у страницы установлен бит модификации (в другой терминологии, если страница «грязная»), то перед ее зачислением в список свободных система сохраняет данные в страничном файле. Зачисление в список свободных страниц не означает немедленной потери данных, и если процесс успеет обратиться к странице до того, как она будет отдана другому процессу, эта страница будет исключена из числа свободных. Демон подкачки процессов тоже не дремлет. Если страничный демон слишком часто выполняет запись страниц на диск, а число свободных страниц тем не менее остается низким, то демон подкачки выбирает один из процессов и отправляет его целиком на диск, чтобы уменьшить конкуренцию за память.