Слайд 2Управление памятью
Оперативная память – важнейший ресурс вычислительной системы, требующий управления со стороны
![Управление памятью Оперативная память – важнейший ресурс вычислительной системы, требующий управления со](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-1.jpg)
ОС. Причина – процессы и потоки хранятся и обрабатываются в оперативной памяти.
Управление памятью объединяет три задачи:
Динамическое распределение памяти
Отображение виртуальных адресов программы на физические адреса
Реализация защиты памяти
Слайд 3Виртуальная память
Виртуальная память представляет собой совокупность всех ячеек памяти – оперативной и
![Виртуальная память Виртуальная память представляет собой совокупность всех ячеек памяти – оперативной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-2.jpg)
внешней. Она имеет сквозную нумерацию от нуля до предельного значения адреса. Принцип виртуальной памяти предполагает, что пользователь имеет дело с кажущейся одноуровневой памятью, объем которой равен всему адресному пространству системы независимо от объема ОЗУ и объема памяти, необходимой для других программ, участвующих в мультипрограммной обработке.
Слайд 4
Способы управления виртуальной памятью
Страничный
Сегментный
странично-сегментный
![Способы управления виртуальной памятью Страничный Сегментный странично-сегментный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-3.jpg)
Слайд 5Страничная память
Способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические
![Страничная память Способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-4.jpg)
является регион постоянного размера (т. н. страница). Типичный размер страницы — 4096 байт, для некоторых архитектур — до 128 КБ.
Поддержка такого режима присутствует в большинстве 32-битных и 64-битных процессоров. Такой режим является классическим для почти всех современных ОС, в том числе WindowsПоддержка такого режима присутствует в большинстве 32-битных и 64-битных процессоров. Такой режим является классическим для почти всех современных ОС, в том числе Windows и семейства UNIXПоддержка такого режима присутствует в большинстве 32-битных и 64-битных процессоров. Такой режим является классическим для почти всех современных ОС, в том числе Windows и семейства UNIX. Широкое использование такого режима началось с процессора VAX и ОС VMS с конца 70-х годов (по некоторым сведениям, первая реализация). В семействе x86 поддержка появилась с поколения 386, оно же первое 32-битное поколение.
Слайд 6Сегментная адресация памяти
Схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес
![Сегментная адресация памяти Схема логической адресации памяти компьютера в архитектуре x86. Линейный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-5.jpg)
конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.
Слайд 7Связь логического и физического адресов
Логический адрес в страничной системе – упорядоченная пара
![Связь логического и физического адресов Логический адрес в страничной системе – упорядоченная](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-6.jpg)
(p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, на которой размещается адресуемый элемент.
Разбиение адресного пространства на страницы осуществляется вычислительной системой незаметно для программиста.
Адрес является двумерным лишь с точки зрения операционной системы, а с точки зрения программиста адресное пространство процесса остается линейным.
Слайд 8странично-сегментный
Организация виртуальной памяти позволяет совместно использовать одни и те же сегменты данных
![странично-сегментный Организация виртуальной памяти позволяет совместно использовать одни и те же сегменты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-7.jpg)
и программного кода в виртуальной памяти разных задач (для каждой виртуальной памяти существовала отдельная таблица сегментов, но для совместно используемых сегментов поддерживались общие таблицы страниц).
Слайд 9Схема адресации при страничной организации
![Схема адресации при страничной организации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-8.jpg)
Слайд 10Преобразование логического адреса при сегментной организации
![Преобразование логического адреса при сегментной организации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/977550/slide-9.jpg)