- •1. Требования, предъявляемые к алгоритмам организации взаимодействия процессов.
- •2. Способы реализации взаимного исключения: запрещение прерываний
- •3. Способы реализации взаимного исключения: переменная-замок
- •4. Способы реализации взаимного исключения: строгое чередование
- •5. Способы реализации взаимного исключения: флаги готовности
- •6. Способы реализации взаимного исключения: алгоритм Петерсона
- •7. Способы реализации взаимного исключения: алгоритм булочной
- •8. Аппаратная реализация взаимоисключений.
- •9. СемафорныепримитивыДейкстры. Решение задачи производителя и потребителя с помощью семафоров.
- •10. Монитор Хоара как примитив синхронизации высокого уровня. Решение задачи производителя и потребителя с помощью мониторов.
- •11. Тупиковые ситуации.
- •12. Методы борьбы с тупиками: Игнорирование проблемы тупиков.
- •13. Методы борьбы с тупиками: Предотвращение тупиков.
- •14. Методы борьбы с тупиками: Алгоритм Банкира.
- •15. Методы борьбы с тупиками: Нарушение условий возникновения тупиков.
- •16. Методы борьбы с тупиками: Обнаружение тупиков.
- •17. Методы борьбы с тупиками: Восстановление после тупиков.
- •18. Иерархия памяти. Локальность.
- •22. Динамическое распределение памяти: разделы с подвижными границами. Уплотнение памяти. Свопинг.
- •23. Сегментная организация памяти.
- •24. Страничная организация памяти.
- •25. Таблицы страниц: одноуровневые, многоуровневые, инвертированные.
- •26. Сегментно-страничная организация памяти
- •27. Понятие виртуальной памяти. Страничный механизм трансляции.
- •28. Стратегии управления виртуальной памятью
- •29. Дисциплины замещения страниц: fifo
- •30. Дисциплины замещения страниц: оптимальный алгоритм
- •31. Дисциплины замещения страниц: выталкивание дольше всего не использовавшейся страницы.
- •32. Дисциплины замещения страниц: выталкивание редко используемой страницы.
- •33. Модель рабочего множества. Трешинг. Страничные демоны.
26. Сегментно-страничная организация памяти
Логическое пространство процесса разбивается по смыслу на сегменты, каждый из которых разбивается на страницы одинакового размера. Страницы отображаются в фреймах физического пространства. Логический адрес представляет собой тройку чисел:
1) номер сегмента, по которому получается его таблица страниц
2) номер страницы, по которой получается номер фрейма, в которой она отображена.
3) смещение внутри страницы, с использованием которого получается адрес физической ячейки.
Достоинства: осмысленность разбиения на сегменты сочетается с отсутствием фрагментации страничного подхода.
27. Понятие виртуальной памяти. Страничный механизм трансляции.
Виртуальная память, в отличие от свопинга, позволяет отображать в физической памяти в физическом адресном пространстве только некоторую часть логического адресного пространства процесса, загружая и выгружая нужные части по необходимости.
Достоинства: логическое пространство процесса может быть значительно больше, чем физическая память, и практически не ограничивается по размеру. Увеличивается число процессов, которые могут одновременно отображаться в физическую память.
Недостаток: возможная потеря производительности из-за необходимости периодической загрузки и выгрузки частей процесса во вторичную память (на жесткий диск).
Страничное нарушение (pagefault) – это исключение, происходящее при обращении процесса к ячейке памяти, принадлежащей той части логического адресного пространства, которая в данный момент не отображена в физическую память. Виртуальная память может реализовываться страничной или сегментно-страничной схемой, поэтому страничное нарушение происходит при обращении к странице, которой нет в физической памяти. Локальность – это свойство реальных программ, согласно которому в течение небольшого периода времени процесс использует небольшое количество страниц логического пространства.
Рабочее множество процесса (workingset) – это набор виртуальных страниц, к которым, согласно свойству локальности, процесс будет обращаться в ближайшее время. С течением времени рабочее множество изменяется качественно, не сильно меняясь количественно.
Резидентное множество процесса – набор физических фреймов, выделенных процессу. Соответствие между логической страницей и физическим фреймом фиксируется в таблице страниц процесса, каждая запись которой содержит также биты доступа, бит модификации, счетчик обращений (необязательный).
С
трока
обращений – это последовательность
страниц, к которым в течение жизнедеятельности
обращается процесс.
Трэшинг (thrashing) – пробуксовка – ситуация, при которой процессор тратит значительно больше времени на организацию загрузки-выгрузки страниц, чем на выполнение кода.
p
f
n
При появлении трэшинга приходится увеличивать размер резидентного множества процесса, уменьшая количество фреймов, выделенных другим процессом. Вследствие этого попытка избежать трэшинга для одного процесса может привести к трэшингу других. Подсистема управления виртуальной памятью вынуждена постоянно следить за резидентными и рабочими множествами, изменять их параметры и используемые алгоритмы во избежание трэшинга.
СТРАНИЧНЫЙ МЕХАНИЗМ ТРАНСЛЯЦИИ
