Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Оперативная память






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

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

При использовании сплошной модели (flat model) памяти программа оперирует единым непрерывным линейным адресным пространством, в котором ячейки памяти нумеруются последовательно и непрерывно от 0 до 2 n –1, где n – разрядность адреса (адресное пространство, которое может адресовать процессор составляет 2 n). Минимально адресуемой ячейкой памяти обычно является байт (8 битов).

При использовании сегментированной памяти (segmented model) для программы память представляется группой независимых блоков, называемых сегментами. Адресное пространство программы сегментируется в соответствии со структурой, организацией программы, заданной программистом (в частности, в отдельные сегменты могут выделяться программный код и данные, описанные в программе). Таким образом, все адресное пространство разбивается на отдельные блоки, которые могут иметь различный размер.

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

Базовый адрес сегмента указывает на первую ячейку сегмента в памяти, а смещение (относительный адрес – смещение относительно начала блока) – на конкретную ячейку в адресном пространстве выбранного сегмента.

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

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

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

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

Кроме реализации системы виртуальной памяти внешние ЗУ используются для долговременного хранения программ и данных в виде файлов.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.