Операционные системы Управление памятью Скрипов Сергей Александрович skripov@csu.ru 2009.

Презентация:



Advertisements
Похожие презентации
Операционные системы Управление памятью Скрипов Сергей Александрович 2009.
Advertisements

Управление памятью. Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению.
Лекция 5 Управление памятью Виртуальное адресное пространство Непрерывное…..
Управление памятью. В ИРТУАЛЬНАЯ ПАМЯТЬ Основная идея заключается в разбиении программы на части, и в память эти части загружаются по очереди. Программа.
Операционные системы, среды и оболочки Управление памятью.
Учебный курс Операционные среды, системы и оболочки Лекция 9 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Основы операционных систем.
Алгоритмы замещения страниц
Устройство памяти ПК. Виртуальная память. Кэш-память. Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной.
Лекция 5 Управление памятью Виртуальное адресное пространство.
Дисциплина: Операционные системы § 7. Организация памяти компьютера План: 1.Физическая память компьютера. 2.Логическая память компьютера. 3.Функции системы.
Управление оперативной памятью 1.Контроль состояния каждой единицы памяти (свободна/распределена) 2.Стратегия распределения памяти (кому, когда и сколько.
Управление оперативной памятью. Основные задачи: 1.Контроль состояния каждой единицы памяти (свободна/распределена). 2.Стратегия распределения памяти.
В современных компьютерах используются запоминающие устройства трех основных типов. ROM (Read Only Memory). Постоянное запоминающее устройство ПЗУ, не.
Управление памятью. Модели памяти Линейное адресное пространство Страничная организация Сегментная организация Комбинированное определение адреса Виртуальная.
Лекция 1-07 Память компьютера по типу устройства хранения данных по режиму хранения данных по режиму доступа к памяти по типу носителей данных.
Физические модели баз данных Файловые структуры, используемые для хранения информации в базах данных.
Организация памяти. Иерархии памяти Идея иерархической (многоуровневой) организации памяти заключается в использовании на одном компьютере нескольких.
Оперативная память. Чем является оперативная память? Оперативная память, или оперативка – это один из главных элементов компьютера. «Оперативная» память.
Учебный курс Основы операционных систем Лекция 7 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Транксрипт:

Операционные системы Управление памятью Скрипов Сергей Александрович 2009

Типы адресов Символьные имена. Виртуальные адреса. Физические адреса.

Алгоритмы распределения памяти

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

Распределение памяти фиксированными разделами

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

Распределение памяти динамическими разделами Сначала вся память свободна Каждому новому процессу выделяется столько памяти, сколько ему нужно После завершения процесса, выделенная ему память освобождается

Распределение памяти динамическими разделами Функции ОС для управления динамической памятью Ведение таблиц свободных и занятый участков (в которых указываются начальные адреса и размеры участков) При создании нового процесса – выбор подходящего свободного участка памяти по определенным правилам (первый попавшийся раздел, наименьший достаточный, наибольший достаточный)

Распределение памяти динамическими разделами

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

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

Перемещаемые разделы

Использование внешней памяти Необходимо больше памяти, чем есть реально в системе Неиспользуемые в данный момент участки памяти могут быть временно перемещены на жесткий диск Оверлеи Свопинг Виртуальная память (Виртуальным называется ресурс, который представляется обладающим свойствами, которыми он реально не обладает)

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

Использование внешней памяти Свопинг Образы процессов выгружаются на диск и возвращаются в оперативную память целиком + Относительно простой способ управления памятью -Процесс, требующий памяти больше, чем реально есть в системе загрузить нельзя -Полная загрузка/выгрузка процессов требует много времени

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

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

Использование внешней памяти Виртуальная память Страничное распределение памяти Сегментное распределение памяти Сегментно-страничное распределение

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

Страничное распределение Запись таблицы страниц включает следующую информацию: номер физической страницы; признак присутствия; признак модификации страницы; признак обращения к странице.

Страничное распределение

Преобразование виртуального адреса в физический

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

Преобразование виртуального адреса в физический

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

Страничное распределение Стратегия замещения 1. FIFO алгоритм. Выгрузка самой старой страницы. + Просто в реализации - Эта стратегия с достаточной вероятностью будет приводить к замещению активно используемых страниц

Страничное распределение Стратегия замещения 2. Выгрузка дольше всего не использовавшейся страницы. LRU (The Least Recently Used) + Считается хорошей стратегией - Сложно в реализации - Требуется аппаратная поддержка

Страничное распределение Стратегия замещения 3. Выгрузка редко используемой страницы. NFU (Not Frequently Used) + Считается хорошей стратегией (В некоторых случаях лучше, чем LRU) - Сложно в реализации - Требуется аппаратная поддержка - Алгоритм «ничего не забывает»

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

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

Сегментное распределение Запись таблицы сегментов включает следующую информацию: базовый физический адрес сегмента; размер сегмента; правила доступа к сегменту; признаки модификации, присутствия и обращения.

Сегментное распределение

Преобразование виртуального адреса в физический

Сегментно-страничное распределение 1. Используется страничный механизм, и «поверх» него сегментный 2. Используется сегментный механизм, каждый сегмент делится на страницы

Сегментно-страничное распределение

Преобразование виртуального адреса в физический

Сегментно-страничное распределение

Преобразование виртуального адреса в физический

Кэширование данных Память вычислительной машины представляет собой иерархию запоминающих устройств. При уменьшении времени доступа растет стоимость памяти, и, соответственно уменьшается ее объем

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

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

Кэширование данных Статическая оперативная память с произвольным доступом (SRAM, static random access memory) Выполнена из триггеров. Время доступа обычно больше, чем у регистров, так как необходимо время для выбора информации по нужному адресу

Кэширование данных SRAM + Быстрый доступ. Доступ к любой ячейке памяти в любой момент занимает одно и то же время. + Простая схемотехника SRAM не требуются сложные контроллеры.

Кэширование данных SRAM - Высокое энергопотребление. - Невысокая плотность записи (шесть элементов на бит). Вследствие чего дороговизна килобайта памяти.

Кэширование данных DRAM (dynamic random access memory) DRAM-память представляет собой набор запоминающих ячеек, которые состоят из конденсаторов и транзисторов Конденсаторы заряжают в случае, когда в ячейку записывается 1, и разряжают в случае, когда в ячейку необходимо записать 0. Для поддержания необходимого напряжения на обкладках конденсаторов ячеек и сохранения их содержимого, их необходимо периодически подзаряжать

Кэширование данных DRAM (dynamic random access memory) + Высокая плотность записи + Небольшое энергопотребление - Относительно большое время доступа

Кэширование данных Внешняя память + Невысокая стоимость хранения байта информации - Большое время доступа

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

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

Кэширование данных Содержимое кэш-памяти представляет собой совокупность записей: значение элемента данных; адрес элемента данных в основной памяти; дополнительная информация;

Кэширование данных При каждом обращении к основной памяти просматривается содержимое кэш-памяти Если данные обнаруживаются – они считываются, результат передается источнику запроса (кэш-попадание) Если данные отсутствуют (кэш- промах)– они считываются из основной памяти и копируются в кэш

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

Согласование данных 1. Сквозная запись Если данные в кэше отсутствуют, то запись выполняется только в основную память Если данные находятся в кэше, то запись выполняется одновременно в кэш и основную память.

Согласование данных 2. Обратная запись. Если данные в кэше отсутствуют, то запись выполняется только в основную память Если данные находятся в кэше, то запись производится только в кэш-память, в описателе данных делается специальная отметка

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

Ассоциативный поиск со случайным отображением

-Дорого в реализации +Эффективное использование всего пространства кэш-памяти

Детерминированный способ отображения Элемент основной памяти всегда отображается в одно и то же место Кэш-память разделена на строки, одному номеру строки соответствует несколько адресов основной памяти +Дешевизна -Неэффективное использование кэш- памяти

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

Смешанный способ отображения Произвольный адрес основной памяти отображается на группу адресов кэш- памяти

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