Введение в операционные системы. ОС с точки зрения пользователя. Конфигурация компьютера. Многоуровневые очереди, страница 7

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

Разделение памяти между отдельными разделами

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

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

2. Многопрограммный режим с общей памятью и фиксированных границах.

разделы имеют одинаковые размеры.

Границы фиксированы!

 
 


Достоинства (относительно предыдущего):

1.  Более быстрое обслуживание потока задач

2.  Нет очереди, если есть свободные разделы

Недостаток: фрагментация памяти (т.е. неэффективное ее использование). Но зато проще механизм контроля (контролируются границы адресов).

Динамические методы выделения памяти

(границы разделов не фиксированы)

 


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

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

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

Использование управления ОП с динамическими разделами и уплотнением памяти.

Все процессы загрузки такие же, как и в предыдущем случае.

t2

 

t1

 
В итоге остается суммарный объем освободившейся памяти, которая отдается под новые процессы. 

 


Недостатки:

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

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

Замечание: Отдельные производители программ предлагают дефрагментаторы памяти,  типа turbo men, memboost, membefreg, которые реализуют функцию освобождения памяти. Но если эти программы предлагают уплотнение памяти, но не рекомендуется устанавливать их на свой компьютер.

Лекция 9

Страничная организация памяти

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

Все предыдущие методы организации – это были смежные разделы. Постраничная организация позволяет сделать несмежное размещение программ. Идея несмежного размещения – уменьшение фрагментации памяти.

 


Страничная организация

При страничной организации строится карта памяти.

таблица страниц

 
 


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

Строится таблица страниц памяти, т.е. вся свободная память отображается в виде адресов страниц. Процессор, прежде чем работать с таблицей страниц, делится на 2 части:

1.  Задается некоторое смещение внутри страницы и логический адрес

2.   номер страницы Р.

Номер страницы Р попадает в таблицу страниц и из таблицы страниц берется адрес свободной памяти , туда добавляется смещение, следовательно, получается физический адрес страницы, который будет использоваться CPU.

 


Таблица страниц:

таблица страниц для данной задачи

 
 


При обращении логический адрес берется отсюда + физический адрес страницы + смещение относительно начала страницы = физический адрес, указывающий, где находится команда/данные.

 
 


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

Страница=2-4 кб.

Замечание: после того, как новый процесс переходит в состояние "готовый", его РСВ прописывается в таблице страниц, которая и фиксирует, на время выполнения, адреса в оперативной памяти, где процесс выполняется.

Аппаратная поддержка страничной организации памяти

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

Структурная схема:

 


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

Логика работы:

(1)Адрес страницы поступает на все ассоциативные регистры;

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

Ускорение происходит за счет того, что у нас в матрице ассоциативных регистров операции сравнения сделаны на аппаратном уровне.