Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » ДС18в14-виртуальная-память-Концепция

ДС18в14-виртуальная-память-Концепция (Лекции Северов Часть 1)

PDF-файл ДС18в14-виртуальная-память-Концепция (Лекции Северов Часть 1) Вычислительная математика (77773): Лекции - 6 семестрДС18в14-виртуальная-память-Концепция (Лекции Северов Часть 1) - PDF (77773) - СтудИзба2020-10-28СтудИзба

Описание файла

Файл "ДС18в14-виртуальная-память-Концепция" внутри архива находится в папке "Лекции Северов Часть 1". PDF-файл из архива "Лекции Северов Часть 1", который расположен в категории "". Всё это находится в предмете "вычислительная математика" из 6 семестр, которые можно найти в файловом архиве МФТИ (ГУ). Не смотря на прямую связь этого архива с МФТИ (ГУ), его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Виртуальная память 1: КонцепцияОсновы информатики.Компьютерные основы программированияgoo.gl/X7evFНа основе CMU 15-213/18-243:Introduction to Computer Systemsgoo.gl/Q7vgWwЛекция 14, 7 мая, 2018Лектор:Дмитрий Северов, кафедра информатики 608 КПМdseverov@mail.mipt.rucs.mipt.ru/wp/?page_id=3461Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов2Система с физической адресациейЦП...Основная память0:1:Физический адрес 2:3:(ФА)4:45:6:7:8:M-1:Слово данных¢Используется в “простых” системах – микроконтроллерах,встроенных в датчики, регуляторы света, часы3Системы с виртуальной адресациейКристалл ЦПЦПВиртуальный адрес(ВА)4100УУП(MMU)...Основная память0:1:2:Физический адрес3:(ФА)4:45:6:7:8:M-1:Слово данных¢¢Используется во всех современных серверах, ПК,смартфонахОдна из замечательных идей в информатике4Адресные пространства¢¢¢¢¢Линейное адресное пространство: Упорядоченное множествосмежных неотрицательных целых адресов: {0, 1, 2, 3 … }Виртуальное адресное пространство: Множество N = 2n виртуальныхадресов: {0, 1, 2, 3, …, N-1}Физическое адресное пространство: Множество M = 2m физическихадресов {0, 1, 2, 3, …, M-1}Четкое различием между данными (байтами) и их атрибутами(адресами)Каждый байт в основной памяти имеет:один физический адрес, один (или более) виртуальных адресов5Виртуальная память нужна, чтобы…¢использовать физическую память эффективно§ DRAM – кеш к частям виртуального пространства¢упростить управление памятью§ Каждый процесс получает типовой экземпляр линейного адресногопространства¢изолировать адресные пространства§ Один процесс не может обращаться к памяти другого§ Программы пользователей не имеют доступа привилегированнойинформациии ядра ОС6Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов7ВП как средство кеширования¢¢Виртуальная память - массив N смежных байт на дискеСодержимое массива на диске кешируется в физическойпамяти (DRAM cache)§ Блоки этого кеша – страницы размером P = 2p байтВиртуальная памятьВС 0ВС 1ВС 2n-p-1Не используетсяЕсть в кешеОтсутствует в кешеНе используетсяЕсть в кешеОтсутствует в кешеЕсть в кешеОтсутствует в кешеФизическая память00СвободнаФС 0ФС 1СвободнаСвободнаM-1ФС 2m-p-1N-1Виртуальные страницы(ВС) на дискеФизические страницы(ФС) в DRAM8Организация DRAМ-кеша¢Определяется огромной ценой промаха§ DRAM на 1 порядок (10 раз) медленнее SRAM§ Диск на 4 порядка (10 тысяч раз) медленнее DRAM¢Следствия§ Большой размер страницы (блока): обычно 4-8 KB, иногда 4 MB§ Полностью ассоциативенлюбая ВС может быть размещена в любой ФС§ требует “большую” функцию отображения, в отличие от кешей ЦП§ Изощрённые, дорогостоящие алгоритмы замены§ Слишком сложные и неустоявшиеся для аппаратной реализации§ Write-back, но не write-through§9Таблица страниц¢Страничная таблица – массив табличных записей (PTE)отображений виртуальных страниц на физические.§ Отдельная для каждого процесса структура данных ядра ОС в DRAMНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 4ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 710Страничное попадание¢Страничное попадание: ссылка на страницу ВП говорит,что страница находится в DRAM (попадание DRAM-кеша)Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 4ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 711Страничный сбой¢Страничный сбой: ссылка на страницу ВП говорит, чтостраница отсутствует в DRAM (промах DRAM-кеша)Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 4ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 712Обработка страничного сбоя – 1¢Страничный промах вызывает страничный сбой (исключение)Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 4ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 713Обработка страничного сбоя – 2¢¢Страничный промах вызывает страничный сбой (исключение)Обработчик страничного сбоя выбирает жертву откачки (здесь ВС 4)Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 4ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 714Обработка страничного сбоя - 3¢¢¢Страничный промах вызывает страничный сбой (исключение)Обработчик страничного сбоя выбирает жертву откачки (здесь ВС 4)Обработчик подкачивает с диска в память нужную страницу (здесь ВС 3)Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 3ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 715Обработка страничного сбоя - 4¢¢¢¢Страничный промах вызывает страничный сбой (исключение)Обработчик страничного сбоя выбирает жертву откачки (здесь ВС 4)Обработчик подкачивает с диска в память нужную страницу (здесь ВС 3)Сбойная команда повторно выполняется : страничное попадание!Виртуальный адресНомерфизической страницыили адрес на дискев кешеPTE 0 0null110100PTE 7 1nullФизическая память(DRAM)ВС 1ВС 2ВС 7ВС 3ФС 0ФС 3Виртуальная память(диск)ВС 1Таблица страницв памяти (DRAM)ВС 2ВС 3ВС 4ВС 6ВС 716Размещение страниц¢Размещение новой страницы (ВС 5) виртуальной памяти.Номерфизической страницыили адрес на дискев кешеPTE 0 0null111000PTE 7 1Физическая память(DRAM)ВС 1ВС 2ВС 7ВС 3ФС 0ФС 3Виртуальная память(диск)Таблица страницв памяти (DRAM)ВС 1ВС 2ВС 3ВС 4ВС 5ВС 6ВС 717Локальность снова выручает!¢¢Виртуальная память работает благодаря локальностиВ каждый момент времени, программы стремятсядоступаться к набору активных виртуальных страниц –рабочему набору§ Программы с лучшей временной локальностью будут иметь рабочийнабор меньшего размера¢Если размер рабочего набора < размера основной памяти§ Хорошая производительность процесса после неизбежных промахов¢Если сумма размеров рабочих наборов > размераосновной памяти§ Пробуксовка (Thrashing): деградация производительности принепрерывной откачке/подкачке страниц18Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов19ВП как средство управления памятью - 1¢Ключевая идея: каждому процессу – собственноевиртуальное адресное пространство§ память представляется простым линейным массивом§ отображение разбрасывает адреса по физической памятиудачные отображения упрощают распределение и управлениеТрансляция 00ФизическоеВиртуальноеадресовадресноеадресноеВС 1§пространстводля процесса 1:ВС 2ФС 2...пространство(DRAM)N-1ФС 6Виртуальноеадресноепространстводля процесса 2:0ФС 8ВС 1ВС 2......N-1(например, только читаемыйкод библиотеки)M-120ВП как средство управления памятью - 2¢Распределение памяти§ Любая виртуальная страница может отображаться на любую физическую§ Виртуальная отображается в различные физические в разное время¢Разделение кода и данных между процессами§ Отображение виртуальных страниц на одну физическую (здесь: ФС 6)Виртуальноеадресноепространстводля процесса 1:0ВС 1ВС 2Трансляцияадресов0ФС 2...Физическоеадресноепространство(DRAM)N-1ФС 6Виртуальноеадресноепространстводля процесса 2:0ФС 8ВС 1ВС 2......N-1(например, только читаемыйкод библиотеки)M-121Упрощение связывания и загрузкивиртуальная память ядра ОС¢СвязываниеСтек пользователя(создаётся при выполнении)§ Все программы имеют сходноевиртуальное адресноепространство§ Код, стек и разделяемые%rsp(указательстека)Область памятиразделяемых библиотекбиблиотеки всегда начинаются содинаковых адресов¢ПамятьнедоступнаяпользователюЗагрузка§ execve лишь резервируетКуча времени исполнения(создаётся malloc)виртуальные страницы и дляразделов .text and .data, т.е.помечает PTE как «не в кеше»Сегмент чтения/записи(.data, .bss)§ Разделы .text и .dataподгружаются, страница застраницей по требованиям0x08048000подсистемы виртуальной памяти0Сегмент только чтения(.init, .text, .rodata)brkЗагружены изисполняемогофайлаНе используется22Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов23ВП как средство защиты памяти¢¢PTE дополняются битами-признаками разрешенийОбработчик сбоев страниц проверяет перед отображением§ При нарушении, отправляет процессу SIGSEGV (segmentation fault)Процесс i: Супер Чтение Запись Исполн.АдресВС 0:НетДаНетДаФС 6ВС 1:НетДаДаДаДаДа•••ДаФС 4НетФС 2ВС 2:ФизическоеадресноепространствоФС 2ФС 4Процесс j: Супер Чтение Запись Исполн.ФС 6AddressВС 0:НетДаНетДаФС 9ВС 1:ВС 2:ДаДаДаФС 6НетДаДаДаДаФС 11ФС 8ФС 9ФС 1124Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов25Трансляция адресов ВП¢Виртуальное адресное пространство§ V = {0, 1, …, N–1}¢Физическое адресное пространство§ P = {0, 1, …, M–1}¢Трансляция адресов§ MAP: V → P U {∅}§ Для виртуального адреса a:§§MAP(a) = a’ если данные по виртуальному адресу a находятсяпо физическому адресу a’ в PMAP(a) = ∅ если данные по виртуальному адресу a отсутствуютв физической памяти – или их нет совсем, или они на диске26Обозначения трансляции адресов¢Основные параметры§ N = 2n : количество адресов в виртуальном адресном пространстве§ M = 2m : количество адресов в физическом адресном пространстве§ P = 2p : размер страницы (в байтах)¢Части виртуального адреса (VA)§§§§¢TLBI: индекс TLBTLBT: метка TLBVPO: сдвиг (от начала) виртуальной страницыVPN: номер виртуальной страницыЧасти физического адреса (PA)§§§§§PPO: сдвиг (от начала) физической страницы (тот же, что VPO)PPN: номер физической страницыCO: сдвиг байта (от начала) линии кешаCI: индекс кешаCT: метка кеша27Трансляция адресов с таблицей страницВиртуальный адресРегистр началатаблицы страницАдрестаблицы страницпроцессаn-1p p-1№ виртуальной страницы (VPN)0сдвиг в странице (VPO)Таблица страницв кеше№ физической страницы (PPN)бит «в кеше» = 0:страница не в DRAM(страничный сбой)m-1p p-1№ физической страницы (PPN)0сдвиг в странице (PPO)Физический адрес28Трансляция адресов: страничное попадание2Адрес PTEКристалл ЦПЦП1ВиртуальныйадресУУП(MMU)PTE3Физическийадрес4Кеш/ПамятьДанные51) Процессор направляет виртуальный адрес УУП2-3) УУП считывает PTE из таблицы страниц в памяти4) УУП направляет физический адрес кешу/памяти5) Кеш/память направляют данные процессору29Трансляция адресов: страничный сбойИсключениеОбработчикстраничного сбоя42Адрес PTEКристалл ЦПЦП1ВиртуальныйадресУУП(MMU)PTE3страница жертваКеш/Память75Дискноваястраница61) Процессор направляет виртуальный адрес УУП2-3) УУП считывает PTE из таблицы страниц в памяти4) Бит «в кеше» - нулевой, УУП запускает исключение «страничный сбой»5) Обработчик выбирает жертву (и, если менялась, откачивает на диск)6) Обработчик подкачивает новую страницу и меняет PTE в памяти7) Обработчик возвращается в процесс для повтора сбойной команды30Объединение ВП и кешаPTEКристалл ЦПЦПВиртуальныйадресПопаданиеPTE адресаАдрес PTEУУП(MMU)ФизическийадресПромахPTE адресаПромахФиз.адресаПопаданиеФиз.адресаДанныеPTEАдрес PTEФизическийадресДанныеПамятьКешуровня 1PTE: запись в таблице страниц31Ускорение трансляции с помощью TLB¢Записи в таблице страниц (PTE) кешируются в уровне 1 каклюбое другое слово памяти§ PTE могут выталкиваться обращениями к другим данным§ попадание PTE всё ещё требует небольшой задержки уровня 1¢Решение: Translation Lookaside Buffer (TLB)§ небольшой аппаратный кеш в УУП (MMU)§ отображает номера виртуальных страниц в номера физических§ содержит целиком записи для небольшого количества страниц32Доступ к TLB¢УУП использует часть VPN в виртуальном адресе длядоступа к TLB:T = 2t наборовVPNTLBT сравниваетсяс меткой линии внабореНабор 0Набор 1vметкаvPTEметкаPTEНабор T-1 vметкаPTEp+t p+t-1p p-1TLB метка (TLBT) TLB индекс (TLBI)метка0VPOPTEvметкаPTEvметкаPTEпо TLBI выбираетсянабор…vn-133Попадание TLBКристалл ЦПTLB2Номервирт.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее