- •11.Понятие многозадачности
- •12.Процессы и потоки. Понятия, связанные с процессами и потоками.
- •13.Алгоритмы планирования. Планирование в Windows.
- •14. Моменты перепланировки. Пример перепланировки в Windows.
- •15.Механизм прерываний в Windows, обработка прерываний, приоритеты прерываний
- •16.Синхронизация потоков. Способы синхронизации потоков.
- •17.Взаимоблокировки. Условия возникновения блокировок.
- •18.Взаимоблокировки. Варианты решения проблемы блокировок в ос
- •20.Адресация памяти. Виртуальное адресное пространство в Windows
- •19.Функции ос по управлению памятью. Типы систем управления памятью.
- •21.Реализация страничной виртуальной памяти
- •22. Управление памятью в Windows
- •Vad диапазон отображаемых адресов // файл подкачки// смещение в файле// режим доступа// каталог таблиц страниц//
- •23.Порядок доступа к памяти. Типы страничных прерываний
- •24.Рабочий набор процесса. Алгоритм замещения станиц в Windows
- •25.Управление физической памятью в Windows
24.Рабочий набор процесса. Алгоритм замещения станиц в Windows
Рабочий набор процесса:
Менеджер памяти поддерживает определенной количество свободных страниц в памяти. Свободные страницы нужны:
-для быстрого реагирования на страничные прерывания
- для возможности выделения памяти новым процессам.
С каждым процессом связан рабочий набор.
Рабочий набор – множество страниц процесса, находящихся в физической памяти, для которых не происходит страничных прерываний.
Размер рабочего набора определяется минимальным и максимальным размером.
Первоначально: минимальный размер – 20 … 50 страниц
максимальный размер – 45… 345 страниц
Правила изменения размера рабочего набора:
-Если происходит страничное прерывание и размер рабочего набора меньше минимального, то в него добавляют новую страницу
- Если происходит страничное прерывание и размер рабочего набора больше максимального, то от него отнимают страницу
- Если процесс активно занимается подкачкой страниц, то максимальную границу его рабочего набора увеличивают
-В любом случае не занимают последние 512 страниц
Алгоритм замещения страниц:
Один раз в секунду менеджер балансового множества проверяет достаточно ли свободных страниц.
Если свободных страниц не достаточно, то запускается менеджер рабочих наборов.
Менеджер рабочих наборов:1.Определяет порядок проверки процессов: в первую очередь проверяются большие процессы, которые долго бездействовали. В последнюю очередь – активные процессы.2.Исследует процессы в выбранном порядке:если рабочий набор процесса меньше минимального значения или с момента последней проверки количество страничных прерываний было больше заданного уровня, то страницы не отнимаютсяв противном случае – забирает несколько страниц.
Удаляемая страница определяется следующим образом:
если бит А=0, то счетчик, связанный со страницей +1
если бит А=1, то счетчик – обнуляется.
После исследования всех страниц рабочего набора процесса – забираются страницы с наибольшим значением счетчика.
25.Управление физической памятью в Windows
Управление физической памятью:
Каждая страница физической памяти (страничный блок) находится или в рабочем наборе одного из процессов или в одном из следующих списков:
1.Список модифицированных страниц (грязных) – содержит страницы, недавно удаленные из рабочих наборов, но ассоциированных с процессами. Содержимое этих страниц модифицировано по отношению к теневым копиям на диске.
2.Список чистых страниц – содержит страницы, недавно удаленные из рабочих наборов, но ассоциированных с процессами. Содержимое этих страниц соответствует их теневым копиям на диске.
3.Список свободных страниц – содержит чистые страницы, не ассоциированные ни с одним из процессов.
4.Список обнуленных страниц – содержит страницы, заполненные нулями.
5.Список дефектных страниц – содержит дефектные страницы физической памяти.
Переходы между списками страниц:
Таблица
страничных блоков:
