Содержание
- 2. ИУС ФТК Коликова Т.В. О чем Введение Управление памятью Трансляция адресов Ассоциативный буфер трансляции Стратегия подкачки
- 3. ИУС ФТК Коликова Т.В. Виртуальная память Нельзя выполнить программу, размер которой > размера физической памяти Виртуальная
- 4. ИУС ФТК Коликова Т.В. Виртуальная память физическая и логическая структура Способ, которым ОС транслирует одну структуру
- 5. ИУС ФТК Коликова Т.В. Виртуальное адресное пространство (virtual address space)– это набор адресов памяти, которые могут
- 6. ИУС ФТК Коликова Т.В. Виртуальная память Система виртуальной памяти должна: Транслировать, или отображать (map) определяет по
- 7. ИУС ФТК Коликова Т.В. Виртуальная память Медленно перемещать по одному байту Виртуальное адресное пространство разделено на
- 8. ИУС ФТК Коликова Т.В. Виртуальная память Страницы, находящиеся в физической памяти и доступные немедленно, называются действительными
- 9. ИУС ФТК Коликова Т.В. Виртуальная память
- 10. ИУС ФТК Коликова Т.В. Виртуальная память При обращении потока по виртуальному адресу, который находится на недействительной
- 11. ИУС ФТК Коликова Т.В. Виртуальная память Обработка страничной ошибки – это дорогая операция, которая требует много
- 12. ИУС ФТК Коликова Т.В. Виртуальная память
- 13. ИУС ФТК Коликова Т.В. Управление памятью Диспетчер виртуальной памяти предоставляет набор базовых сервисов. Эти сервисы позволяют
- 14. ИУС ФТК Коликова Т.В. Windows API Memory Management Architecture Windows Program C library: malloc, free Heap
- 15. ИУС ФТК Коликова Т.В. Windows Memory Management Windows maintains pools of memory in heaps A process
- 16. ИУС ФТК Коликова Т.В. Managing Heap Memory dwFlags: HEAP_GENERATE_EXCEPTION, raise SEH on memory allocation failure STATUS_NO_MEMORY,
- 17. ИУС ФТК Коликова Т.В. Управление памятью Диспетчер виртуальной памяти выделяет память в два этапа: резервирование. Зарезервированная
- 18. ИУС ФТК Коликова Т.В. Управление памятью Резервирование памяти полезно при создании динамических структур данных Поток резервирует
- 19. ИУС ФТК Коликова Т.В. Трансляция адресов Приложения используют 32-разрядные виртуальные адреса С помощью структур данных создаваемых
- 20. ИУС ФТК Коликова Т.В. Трансляция адресов
- 21. ИУС ФТК Коликова Т.В. Paging Example Page 0 Page 1 Page 2 Page 3 logical memory
- 22. ИУС ФТК Коликова Т.В. Free Frames Before allocation After allocation Page 2 physical memory Page 0
- 23. ИУС ФТК Коликова Т.В. Valid (v) or Invalid (i) Bit in a Page Table Page 0
- 24. ИУС ФТК Коликова Т.В. Трансляция адресов Для трансляции виртуальных адресов в физические используется двухуровневая таблица страниц
- 25. ИУС ФТК Коликова Т.В. Two-Level Page-Table Scheme … … … … outer page table (page directory)
- 26. ИУС ФТК Коликова Т.В. Address-Translation Scheme Address-translation scheme for a two-level 32-bit paging architecture page number
- 27. ИУС ФТК Коликова Т.В. x86 Virtual Address Translation Page table selector Page table entry selector Byte
- 28. ИУС ФТК Коликова Т.В. Трансляция адресов
- 29. ИУС ФТК Коликова Т.В. Трансляция адресов Индекс каталога страниц (page directory index) применяется для поиска таблицы
- 30. ИУС ФТК Коликова Т.В. Трансляция адресов При трансляции виртуального адреса: Определяется адрес каталога страниц текущего процесса.
- 31. ИУС ФТК Коликова Т.В. Трансляция адресов Индекс таблицы страниц используется как указатель для поиска PTE, который
- 32. ИУС ФТК Коликова Т.В. Ассоциативный буфер трансляции Трансляция каждого адреса требует двух операций поиска: сначала нужно
- 33. ИУС ФТК Коликова Т.В. Ассоциативный буфер трансляции
- 34. ИУС ФТК Коликова Т.В. Paging Hardware With TLB CPU f d p d Physical memory Logical
- 35. ИУС ФТК Коликова Т.В. Byte within page Virtual page number Virtual Address Translation The hardware converts
- 36. ИУС ФТК Коликова Т.В. Ассоциативный буфер трансляции Виртуальные адреса объединяются в страницы по 2¹²( 4Кб ),
- 37. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Обычно система виртуальной памяти определяет три типа
- 38. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Стратегия считывания (fetch policy) определяет, когда надо
- 39. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Диспетчер виртуальной памяти Windows использует алгоритм подкачки
- 40. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы При возникновении страничной ошибки система виртуальной памяти
- 41. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Если страничная ошибка происходит, когда вся физическая
- 42. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы В первом случае необходимо, чтобы система виртуальной
- 43. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Стратегии замещения делятся на: локальные (local replacement
- 44. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы В случае стратегии глобального замещения для обработки
- 45. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Стратегия глобального замещения создает ряд проблем: процессы
- 46. ИУС ФТК Коликова Т.В. Стратегия подкачки и рабочие наборы Минимальный размер рабочего набора - минимальное число
- 47. ИУС ФТК Коликова Т.В. База данных страничных фреймов Таблицы страниц процесса содержат информацию о том, в
- 48. ИУС ФТК Коликова Т.В. База данных страничных фреймов Для этого используется база данных страничных фреймов (page
- 49. ИУС ФТК Коликова Т.В. База данных страничных фреймов Некоторые недействительные элементы таблицы страниц также ссылаются на
- 50. ИУС ФТК Коликова Т.В. База данных страничных фреймов
- 51. ИУС ФТК Коликова Т.В. База данных страничных фреймов Недействительные элементы таблицы страниц содержат адреса на диске,
- 52. ИУС ФТК Коликова Т.В. База данных страничных фреймов Резервный – данный фрейм использовался процессом, но был
- 53. ИУС ФТК Коликова Т.В. База данных страничных фреймов В базе данных страничные фреймы, находящиеся в одном
- 54. ИУС ФТК Коликова Т.В. База данных страничных фреймов В данные списки включены все страничные фреймы, которые
- 55. ИУС ФТК Коликова Т.В. База данных страничных фреймов
- 56. ИУС ФТК Коликова Т.В. База данных страничных фреймов Если диспетчеру виртуальной памяти требуется инициализированный нулями страничный
- 57. ИУС ФТК Коликова Т.В. База данных страничных фреймов
- 58. ИУС ФТК Коликова Т.В. База данных страничных фреймов Когда количество страниц в списках обнуленных, свободных и
- 59. ИУС ФТК Коликова Т.В. Paging Dynamics Standby Page List Zero Page List Free Page List Process
- 60. ИУС ФТК Коликова Т.В. Дескрипторы виртуальных адресов Момент загрузки страниц в память диспетчер памяти определяет, используя
- 61. ИУС ФТК Коликова Т.В. Дескрипторы виртуальных адресов Диспетчер памяти использует этот же механизм и при формировании
- 62. ИУС ФТК Коликова Т.В. Дескрипторы виртуальных адресов Как же тогда диспетчер виртуальной памяти определяет какие адреса
- 64. Скачать презентацию