Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vstup.docx
Скачиваний:
47
Добавлен:
28.09.2019
Размер:
6.42 Mб
Скачать

Структура адресного пространства ibm pc в реальном режиме Основная область памяти

В область, называемую основной областью памяти (англ. conventional memory), загружается таблица векторов прерываний, различные данные BIOS, а также могут загружаться 16-битные программы DOS. Основная область памяти занимает 640 Кбайт начиная с адреса 0000:0000.

Upper Memory Area

Upper Memory Area (UMA) занимает 384 Кбайт и используется для размещения информации об аппаратной части компьютера. Область условно делится на три области по 128 Кбайт. Первая область служит для видеопамяти. Через вторую область доступны BIOS адаптеров. Третья область используется системной BIOS, но, как правило, не полностью (обычно остаётся 64 Кбайт). Остальное адресное пространство из верхней области с помощью специальных драйверов (например, EMM386.EXE, EMS.EXE, LIMEMS.EXE и т. п.) и/или устройств расширения может использоваться для доступа к расширенной памяти через спецификацию расширенной памяти (англ. Expanded Memory Specification, EMS).

Дополнительная область памяти

Дополнительная память для 16-битных программ доступна через спецификацию дополнительной памяти (англ. eXtended Memory Specification, XMS). Дополнительная память начинается с адресов выше первого мегабайта и её объём зависит от общего объёма оперативной памяти, установленной на компьютере.

High Memory Area

High Memory Area (HMA) — это область дополнительной памяти сразу за первым мегабайтом размером 64 Кбайт минус 16 байт. Её появление обусловлено особенностью процессора 80286, в котором 24 линии адреса и при обращении по адресам выше FFFF:000F обращение идёт ко второму мегабайту памяти (вместо начала первого мегабайта, как в 8086/8088). Таким образом, программы реального режима получили доступ к HMA.

3.6 Оперативна пам’ять в мультизадачному режимі.

Для организации мультипрограммного режима необходимо обеспечить одновременное ОП как можно большое количество задач. При необходимости должно быть предусмотрено обращение разными процессами к одной и той же памяти для совместного использования. Физическая память должна обеспечить возможность между Оперативной Памятью и внешней память. Память незанятое ядро может быть разбито на несколько непрерывных частей. Это разбиение может быть фиксированным либо динамическим.

  1. Разделы с фиксированными границами. Разбиение ОП может осуществляться на разделы одинакового раздела. В этом случае не имеет случае не имеет значения в каком из свободных режимов будет помещен процесс. При разбиении памяти на разделы с разными размерами можно назначать каждый процесс наименьшему разделу, способно поместить данный процесс. При разбиении разделов на разные размеры может быть два подхода: либо для каждого размера памяти своя очередь; общая очередь для всех разделов. В каждом разделе в определенный момент времени располагается по одной программе; в пределах раздела применяются методы создания программ которые используются для однопрограммных систем, например, для использования оверлейных структур. При небольшом объеме памяти увеличения количества параллельно-работающих программ осуществляется за счет пинга, при котором из-за основной памяти во внешнюю и обратно перемещается вся программа.

Основным недостатком функционирования распределения памяти является наличие существенного объема неиспользованной памяти в каждом разделе. Это внутренняя фрагментация памяти. Сокращение потерь дают следующее решение:

  1. Выделение для задач разделов такого объема который им нужен.

  2. Размещение задач в нескольких областях.

  3. Разделы с подвижными границами. Чтобы избавиться от фрагментации задачи размещают в памяти одну за другой, т.к. процессы завершаются в разное время, то появляются свободные участки при этом, при этом смежные участки объединяют вместе. Сначала список свободных участков может быть упорядочен либо по объемам. Выделение памяти под новый раздел может осуществляться одним из трех способов:

  1. Первый подходящий участок.

  2. Самый подходящий участок.

  3. Самый неподходящий участок.

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

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

С точки зрения производительности этот подход самый эффективный.

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

При поиске свободного места используется одна из перечисленных дисциплин и при необходимости может быть применено уплотнение памяти. Для решения проблемы замещения используются следующие дисциплины:

  1. Первый пришедший первым выбывает (FIFO).

  2. Больше всего не используемый (LRU).

  3. Используемый ниже всех остальных (LFU).

  4. Случайный выбор (random).

1 и 4 дисциплины являются самыми простыми, но они не учитывают, насколько часто используется тот или иной сегмент. С первым алгоритмом связано время когда сегмент был помещен в памяти и для замещения выбирается наиболее старый сегмент. Для реализации второго и третьего необходимы дополнительные аппаратные средства. При организации мультипрограммного режима важнейшей проблемой является защита памяти. Некоторые модули могут быть разделимыми. При этом в нескольких таблицах дескрипторов на эти сегменты будут заданы только указатели. Сегментный способ для получения доступа к ячейки памяти требует больше времени. Для уменьшения потери используют кэширование.

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