Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPIOS_mobchik.doc
Скачиваний:
2
Добавлен:
24.04.2019
Размер:
3.49 Mб
Скачать

20. Объясните и сравните алгоритмы «первый подходящий», «самый подходящий» и «самый неподходящий», используемые при поиске и выделении фрагмента памяти.

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

При этом становиться вопрос: Какой блок выделить к задаче?

Существуют методы:

1.Первый подходящий.

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

«+» - высокая скорость и простота управления блоками.

«-» - высокая фрагментация.

2. Самый подходящий.

Список свободных блоков упорядочивается по возрастанию. Для задачи выделяется 1-й найденный блок достаточного размера.

«+» - уменьшение фрагментации.

«-» - достаточно долгое время поиска блока необходимого размера (в среднем нужно пройти пол списка).

3.Самый неподходящий.

Список свободных блоков сортируется в порядке убывания блоков (размера) и новая задача выдел. фрагмент от этого раздела. При этом существует высокая вероятность того, что оставшийся фрагмент останется достаточно большим для распределения задачи.

«+» - каждый раз при выделении памяти берётся из первого блока, что существенно сокращает затраты на выбор необходимого блока.

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

21. Что такое «фрагментация памяти»? Какой метод распределения памяти позволяет добиться минимальной фрагментации и почему? Что такое «уплотнение памяти»? Когда оно применяется?

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

В связи с тем, что суммарный объём памяти может быть достаточен для распределения новой задачи, но при этом не существует, ни одного блока достаточного для вмещения, возникает необходимость в уплотнении памяти. При этом все вычисления останавливаются и ОС перемещает задачи в единую непрерывную последовательность, т.е. чтобы остался один свободный поток.

22. Объясните сегментный способ организации виртуальной памяти. Что представляет собой (в общем случае) дескриптор сегмента? Каким образом вычисляется физический адрес в памяти?

Сегментный способ.

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

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

Из TSR берётся адрес таблицы и складывается с адресом сегмента (номером). Результат указывает на дескриптор этого сегмента. Из дескриптора берётся информация о бите присутствия. Если сегмент не присутствует в физическом понятии, он туда загружается. Затем определяется адрес начала сегмента и складывается со смещением. Результат – ячейка памяти, в которой указывается виртуальный адрес физической памяти.

Право доступа:

-- чтение;

-- исполнение;

-- запись.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]