Главная » Просмотр файлов » ДС19в11-виртуальная-память

ДС19в11-виртуальная-память (1238921)

Файл №1238921 ДС19в11-виртуальная-память (Лекции Северов Часть 1)ДС19в11-виртуальная-память (1238921)2020-10-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Виртуальная память 1: КонцепцияОсновы информатикиКомпьютерные основы программированияu.to/DbCmFAНа основе CMU 15-213/18-243:Introduction to Computer Systemsu.to/XoKmFAЛекция 10, 26 апреля, 2019Лектор:Дмитрий Северов, кафедра информатики 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 лишь резервируетвиртуальные страницы и дляразделов .text and .data, т.е.помечает PTE как «не в кеше»§ Разделы .text и .dataподгружаются, страница застраницей по требованиям0x08048000подсистемы виртуальной памяти0Куча времени исполнения(создаётся malloc)Сегмент чтения/записи(.data, .bss)Сегмент только чтения(.init, .text, .rodata)brkЗагружены изисполняемогофайлаНе используется22Виртуальная память – 1: понятия¢¢¢¢¢Пространства адресовВП как средство кешированияВП как средство управления памятьюВП как средство защиты памятиТрансляция адресов23ВП как средство защиты памяти¢PTE дополняются битами-признаками разрешений¢Обработчик сбоев страниц проверяет перед отображением§ При нарушении, отправляет процессу SIGSEGV (segmentation fault)Процесс i: Супер Чтение Запись Исполн.ВС 0:ВС 1:ВС 2:НетНетДаДаДаДаНетДаДа•••ДаДаНетНетДаНетДаДаДаНетДаДаФС 6ФС 4ФС 2ФС 2ФС 4Процесс j: Супер Чтение Запись Исполн.ВС 0:ВС 1:ВС 2:АдресФизическоеадресноепространствоДаДаДаФС 6AddressФС 9ФС 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’ в P§ MAP(a) = ∅ если данные по виртуальному адресу a отсутствуютв физической памяти – или их нет совсем, или они на диске§26Обозначения трансляции адресов¢¢¢Основные параметры§ N = 2n : количество адресов в виртуальном адресном пространстве§ M = 2m : количество адресов в физическом адресном пространстве§ P = 2p : размер страницы (в байтах)Части виртуального адреса (VA)§ TLBI: индекс TLB§ TLBT: метка TLB§ VPO: сдвиг (от начала) виртуальной страницы§ 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меткаPTEметкаPTEНабор T-1 vметкаPTEp+t p+t-1p p-1TLB метка (TLBT) TLB индекс (TLBI)метка0VPOPTEvметкаPTEvметкаPTEпо TLBI выбираетсянабор…vvn-133Попадание TLBКристалл ЦПTLB2Номервирт.

Характеристики

Тип файла
PDF-файл
Размер
2,02 Mb
Тип материала
Высшее учебное заведение

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

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