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