Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (ОС).doc
Скачиваний:
7
Добавлен:
11.09.2019
Размер:
716.29 Кб
Скачать

II) Методы с использованием внешней памяти Свопинг и виртуальная память

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

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

2) выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно

3) перемещение по мере необходимости данных между памятью и диском

4) преобразование виртуальных адресов в физические

Виртуализации памяти может быть осуществлена на основе 2 подходов:

1) свопинг (swapping) – образы процессов выгружаются на диск и возвращаются в оперативную память целиком:

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

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

Диспетчер памяти преобразует виртуальные адреса в физические.

Виртуальная память реализуется с помощью 3 классов:

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

Достоинства: высокая скорость обмена и низкий уровень фрагментации.

Недостатки: сложная организация защиты данных.

2) Сегментная виртуальная память – предусматривает перемещение данных сегментами, т.е. частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.

Достоинства: более простая защита сегментов.

Недостатки: медленное преобразование адреса и высокий уровень фрагментации.

3) Сегментно-страничная виртуальная память – это двухуровневое деление: виртуальное адресное пространство делится на сегменты, а сегменты делятся на страницы. Это способ объединяет достоинства 2 предыдущих.

Кэширование данных

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

Каждая запись в кэш-памяти об элементе данных включает в себя:

1) значение элемента данных

2) адрес, который этот элемент данных имеет в основной памяти

3) дополнительную информацию (признаки модификации и действительности данных)

Способы отображения оперативной памяти на кэш

1) Случайное отображение.

Элемент оперативной памяти может быть размещен в произвольном месте кэш-памяти. Для возможности поиска данные размещаются в кэш вместе со своим адресом.

Недостаток: высокая стоимость соответствующих схем.

Преимущество: скорость работы.

2) Детерминированный (прямой) способ отображения.

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

Недостаток: в одной строке не могут храниться 2 элемента, поэтому уменьшается производительность.

Преимущество: простая схемотехническая реализация.

В современных процессорах кэш-память строится на основе сочетания этих 2-х подходов.