Слайд 1Управление памятью
1. Иерархическая организация памяти
2. Функции ОC по управлению
памятью
3. Алгоритмы распределения памяти
4. Свопинг. Кэширование. Виртуальная память
Слайд 2Иерархическая организация памяти
Память компьютера представляет собой набор запоминающих устройств (ЗУ)
– технических средств, осуществляющих запись, хранение и выдачу информации.
Основными их
характеристиками являются емкость и быстродействие.
Один из пяти принципов построения ЭВМ, сформулированный Дж. фон Нейманом - память должна иметь иерархическую структуру.
Слайд 4Оперативная память представляет собой совокупность пронумерованных ячеек памяти.
Номер каждой
ячейки называется ее адресом.
Управляющая схема позволяет обращаться к произвольной ячейке
памяти путем указания ее адреса.
Объем оперативной памяти характеризуется количеством ячеек, содержащихся в ней.
Оперативная память является важнейшим ресурсом, требующим управления со стороны мультипрограммной операционной системы.
Распределению подлежит вся оперативная память, не занятая операционной системой.
Слайд 5Для идентификации переменных и команд используются
символьные имена (метки)
виртуальные адреса
физические
адреса
Слайд 7Перемещающий загрузчик на основании данных о начальном адресе физической памяти,
в которую предстоит загружать программу, и информации, предоставленной транслятором о
типах констант и переменных программы, выполняет загрузку программы, совмещая ее с заменой виртуальных адресов физическими.
Слайд 8Программа загружается в память в виртуальных адресах, при этом операционная
система фиксирует смещение действительного расположения программного кода относительно виртуального адресного
пространства.
При каждом обращении к оперативной памяти выполняется преобразование виртуального адреса в физический.
Слайд 9Второй способ является более гибким, т.к. допускает перемещение программы во
время ее выполнения, в то время как перемещающий загрузчик жестко
привязывает программу к первоначально выделенному ей участку памяти.
Слайд 102. Функции ОС по управлению памятью
отслеживание свободной и занятой
памяти
выделение памяти процессам и освобождение памяти при завершении процессов
вытеснение
процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место
настройка адресов программы на конкретную область физической памяти
Слайд 113. Алгоритмы распределения памяти
Слайд 12Распределение памяти фиксированными разделами
Слайд 13Подсистема управления памятью выполняет следующие задачи:
сравнивая размер программы, поступившей
на выполнение, и свободных разделов, выбирает подходящий раздел,
осуществляет загрузку
программы и настройку адресов.
При очевидном преимуществе - простоте реализации - данный метод имеет существенный недостаток - жесткость.
Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы.
Слайд 14Распределение памяти динамическими разделами
Слайд 15Задачами операционной системы при реализации данного метода управления памятью являются:
ведение таблиц свободных и занятых областей, в которых указываются начальные
адреса и размеры участков памяти
при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи
загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей
после завершения задачи корректировка таблиц свободных и занятых областей.
Слайд 16Программный код не перемещается во время выполнения, то есть может
быть проведена настройка адресов посредством использования перемещающего загрузчика.
Недостаток - фрагментация
памяти - только смежные свободные участки могут быть объединены в один.
Слайд 17Распределение памяти перемещаемыми разделами
Слайд 18Сжатие – периодическое копирование содержимого разделов из одного места памяти
в другое с корректировкой таблицы свободных и занятых областей.
Сжатие
может выполняться:
либо при каждом завершении задачи
либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера.
Преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом.
Слайд 20Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного
для данной системы размера, называемые виртуальными страницами.
При загрузке процесса часть
его виртуальных страниц помещается в оперативную память, а остальные - на диск.
Для каждого процесса операционная система создает таблицу страниц.
Таблица страниц, так же как и описываемые ею страницы, размещается в оперативной памяти.
Слайд 21Информация из таблиц страниц используется для:
выяснения необходимости перемещения той
или иной страницы между памятью и диском
преобразования виртуального адреса в
физический
Слайд 22Сегментное распределение памяти
Виртуальное адресное пространство процесса делится на части —
сегменты, размер которых определяется с учетом смыслового значения содержащейся в
них информации.
Отдельный сегмент может представлять собой подпрограмму, массив данных и т. п.
Недостатком данного метода является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
Слайд 24Странично-сегментное распределение
Виртуальное пространство процесса делится на сегменты, а каждый
сегмент в свою очередь делится на виртуальные страницы, которые нумеруются
в пределах сегмента.
Для каждого процесса создается таблица сегментов, в которой указываются адреса таблиц страниц для всех сегментов данного процесса.
Оперативная память делится на физические страницы.
Загрузка процесса выполняется операционной системой постранично, при этом часть страниц размещается в оперативной памяти, а часть на диске.
Слайд 254. Свопинг. Кэширование. Виртуальная память
Виртуальным называется ресурс, который представляет такие
свойства пользователю или пользовательской программе, которыми он в действительности не
обладает.
Виртуальная память - совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память.
Слайд 26Виртуальная память решает следующие задачи:
размещает данные в запоминающих устройствах
разного типа, например, часть программы в оперативной памяти, а часть
на диске;
перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;
преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически.
Слайд 27Разновидностью виртуальной памяти является свопинг.
При свопинге некоторые процессы (обычно находящиеся
в состоянии ожидания) временно выгружаются на диск.
Планировщик ОС не
исключает их из списка и при наступлении условий активизации процесса, находящегося в области свопинга на диске, этот процесс перемещается в оперативную память.
Если свободного места в оперативной памяти не хватает, то выгружается другой процесс.
Слайд 28Память компьютера представляет собой иерархию запоминающих устройств, отличающихся средним временем
доступа и стоимостью хранения.
Слайд 29Кэш-память - это способ организации совместного функционирования двух типов запоминающих
устройств, отличающихся временем доступа и стоимостью хранения данных, который позволяет
уменьшить среднее время доступа к данным за счет динамического копирования в "быстрое" ЗУ наиболее часто используемой информации из "медленного" ЗУ.