- •Глава 6. Управление памятью
- •1.Функции ос по управлению памятью
- •2.Типы адресов. Виртуальное адресное пространство.
- •1.Перемещающий загрузчик.
- •2.Динамическое преобразование адресов.
- •3.Алгоритмы распределения памяти
- •3.1.Распределение памяти фиксированными разделами
- •3.2.Распределение памяти динамическими разделами
- •4.Виртуальная память
- •4.1. Основы организации виртуальной памяти
- •3.3.Перемещаемые разделы
- •4.2Страничное распределение
- •4.3.Сегментное распределение
- •4.3.Сегментно-страничное распределение
- •5.Кэширование данных
- •5.1. Иерархия запоминающих устройств
- •5.2. Кэш-память
- •5.3. Принцип действия кэш-памяти
- •Рис 24 Схема функционирования кэш-памяти
4.3.Сегментно-страничное распределение
Данный метод представляет собой комбинацию страничного и сегментного механизмов управления памятью и направлен на реализацию достоинств обоих подходов.
Так же как и при сегментной организации памяти, виртуальное адресное пространство процесса разделено на сегменты. Это позволяет определять разные права доступа к разным частям кодов и данных программы.
Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. Для этого каждый виртуальный сегмент и физическая память делятся на страницы равного размера, что позволяет более эффективно использовать память, сократив до минимума фрагментацию.
В большинстве современных реализаций сегментно-страничной организации в отличие от набора виртуальных диапазонов адресов при сегментной организации все виртуальные сегменты образуют одно непрерывное линейное виртуальное адресное пространство. Координаты байта в виртуальном адресном пространстве при сегментно-страничной организации можно задать двумя способам. Во-первых, линейным виртуальным адресом, который равен сдвигу данного байта относительно границы общего линейного виртуального пространства, во-вторых, парой чисел, одно из которых является номером сегмента, а другое – смещением относительного начала сегмента. При этом в отличие от сегментной модели, для однозначного задания виртуального адреса вторым способом необходимо каким-то образом указать также начальный виртуальный адрес сегмента с данным номером. Системы виртуальной памяти ОС с сегментно-страничной организацией использует второй способ, так как он позволяет непосредственно определить принадлежность адреса некоторому сегменту и проверить права доступа процесса к нему.
Для каждого процесса операционная система создает отдельную таблицу сегментов, в которой содержатся описатели (дескрипторы) всех сегментов процесса. Описание сегмента включает назначенные ему права доступа и другие характеристики, подобные тем, которые содержатся в дескрипторах сегментов при сегментной организации памяти.
5.Кэширование данных
5.1. Иерархия запоминающих устройств
Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объема и стоимостью хранения одного бита. Фундаментом этой пирамиды запоминающих устройств служит внешняя память, как правило, представляемая жестким диском. Она имеет большой объем, но скорость доступа к данным является невысоким. Время доступа к диску измеряется миллисекундами.
На следующем уровне более быстродействующая (время доступа равно примерно 10-20 наносекундам) и менее объемная (от десятков мегабайт до нескольких гигабайт) оперативная память, реализуемая на относительно медленной динамической памяти DRAM.
Для хранения данных, к которым необходимо обеспечить быстрый доступ, используются компактные быстродействующие ЗУ на основе статической памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа к данным обычно не превышает 8нс.
И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время доступа определяется быстродействием процессора и равно в настоящее время примерно 2-3 нс.
Таким образом, можно констатировать печальную закономерность - чем больше объем устройства, тем менее быстродействующим оно является. Более того, стоимость хранения данных в расчете на один бит также увеличивается с ростом быстродействия устройств. Однако пользователю хотелось бы иметь недорогую, и быстродействующую память. Кэш-память представляет некоторое компромиссное решение этой проблемы.

Рис 23 Иерархия запоминающих устройств
