Управление оперативной памятью. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление оперативной памятью.



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

- эффективное (в некотором смысле) распределение оперативной памяти между несколькими активными задачами с целью обеспечения мультипрограммного режима;

- защита памяти от несанкционированного доступа, т. е. контроль и запрет попыток адресации к “чужим”, или, запрещённым областям памяти.

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

Пространства и отображения, виртуальное адресное пространство.

Программист, при написании программы, определяет необходимые ему переменные с помощью символьных (логических) имён. Другими словами, он задаёт некоторое подмножество переменных, используя логическое адресное пространство. Это пространство ограничено правилами синтаксиса конкретного языка программирования. Логические имена переменных можно интерпретировать как символьные адреса. Задача вычислительной системы состоит в отображении этих адресов в конкретные физические адреса. Такое отображение, в общем случае, осуществляется в два этапа (см. рис.). Первый этап реализует система программирования (транслятор), на котором логические имена переменных преобразуются в виртуальные адреса. Конкретный вид таких адресов зависит от архитектуры вычислительной системы, конкретного транслятора и ряда других факторов. Совокупность возможных виртуальных адресов образует виртуальное адресное пространство. Второй этап реализуется операционной системой совместно с аппаратурой. На этом этапе виртуальные адреса отображаются в физические адреса оперативной памяти. Конкретные значения физических адресов зависят от размера физической памяти, а в совокупности определяют физическое адресное пространство.

 

 


                                               Система программирования

 

 


Операционная система

 
Физические адреса

 


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

При первом варианте предполагается, что виртуальное адресное пространство тождественно физическому адресному пространству. Поэтому, система программирования целиком реализует отображение логических имён в физические адреса. Этот случай характерен для отображения так называемых “абсолютных программ”. В командах таких программ в явном виде указываются их физические адреса и физические адреса операндов. Задача операционной системы сводится к обычной загрузке в память по указанным адресам.

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

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

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

12. Распределение ОП разделами.

Распределение разделами.

Та часть оперативной памяти, которая предназначена для хранения пользовательских задач и приложений, распределяется на несколько разделов. Каждый раздел предназначен для единовременного хранения кода и данных одной задачи. Загружаемой в оперативную память логической единицей является задача. Число разделов может быть различным в разные моменты работы вычислительной системы, но экспериментально доказано, что для того чтобы процессор был загружен на 90%, необходимо иметь в оперативной памяти 4-5 задач. Число задач одновременно загруженных в оперативную память называется коэффициентом мультипрограммирования. Существует несколько стратегий (дисциплин) распределения памяти разделами. Рассмотрим основные дисциплины.



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 96; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.206.76.45 (0.005 с.)