
- •11.Понятие многозадачности
- •12.Процессы и потоки. Понятия, связанные с процессами и потоками.
- •13.Алгоритмы планирования. Планирование в Windows.
- •14. Моменты перепланировки. Пример перепланировки в Windows.
- •15.Механизм прерываний в Windows, обработка прерываний, приоритеты прерываний
- •16.Синхронизация потоков. Способы синхронизации потоков.
- •17.Взаимоблокировки. Условия возникновения блокировок.
- •18.Взаимоблокировки. Варианты решения проблемы блокировок в ос
- •19.Функции ос по управлению памятью. Типы систем управления памятью.
- •20.Адресация памяти. Виртуальное адресное пространство в Windows
- •21.Реализация страничной виртуальной памяти
- •22. Управление памятью в Windows
- •Vad диапазон отображаемых адресов // файл подкачки// смещение в файле// режим доступа// каталог таблиц страниц//
- •23.Порядок доступа к памяти. Типы страничных прерываний
- •24.Рабочий набор процесса. Алгоритм замещения станиц в Windows
- •25.Управление физической памятью в Windows
Функции
ОС по управлению памятью:
Оперативная
память
–
важный ресурс, требующий тщательного
управления со стороны ОС.
Функции
ОС:
-
отслеживание
свободной и занятой памяти
-выделение
памяти процессам и освобождение памяти
по их завершению
-выгрузка
кода и данных процесса из оперативной
памяти на диск и загрузка обратно
-настройка
адресов программы на конкретные области
физической памяти
-защита
памяти
Типы
систем:
Системы
управления памятью
Без
подкачки на диск С
подкачкой на диск
Swapping
– Paging
–
подкачка
образа процесса целиком страничная
подкачка
Управление
без подкачки на диск:
Однозадачные
ОС
– память разделяется между ОС и одним
процессом. При запуске другого процесса
он загружается поверх старого. Пример:
MS
DOS
Многозадачные
ОС с фиксированными разделами
– память разбивается на несколько
разделов и каждый процесс загружается
в свой раздел. Используются разделы
разного размера. Поддерживаются очереди
к разделам. Пример: OS/360.
Подкачка
процесса целиком (swapping):
Образы
процессов загружаются целиком. При
переходе в неактивное состояние могут
целиком выгружаться из памяти для
освобождения места активным процессам.
Проблемы:
-
Возможная
фрагментация памяти.
-уплотнение
памяти
-выделение
памяти с учетом роста образа процесса
-Настройка
адресов
– необходимо корректно устанавливать
адреса для каждого процесса каждый
раз, когда он загружается в память
-Защита
памяти
– процесс не должен иметь возможности
доступа к памяти вне выделенной ему
области
-Невозможность
загрузки процесса большего объема,
чем физическая память.
Адресация
памяти:
Типы
адресов:
-символьные
имена – присвоенные
программистом при создании программы
-виртуальные
адреса
– адреса, сгенерированные транслятором
в предположении, что начальный адрес
процесса в памяти = 0
-физические
адреса
– адреса ячеек памяти в которых
расположены код и данные процесса.
Виртуальное
адресное пространство
– совокупность виртуальных адресов
процесса.
Максимально
возможное
виртуальное адресное пространство
зависит от разрядности архитектуры.
У 32 разрядных ОС - 4Г.
Назначенное
адресное пространство
– реально выделенное процессу множество
адресов.
Виртуальная
память:
При
использовании виртуальной памяти на
диск
выгружается
только части образа процесса.
Варианты
реализации:19.Функции ос по управлению памятью. Типы систем управления памятью.
20.Адресация памяти. Виртуальное адресное пространство в Windows
блоками фиксированного размера – страницами.
- сегментная – обмен между памятью и диском блоками произвольного размера с учетом смыслового значения данных
- сегментно-страничная – память делится на сегменты, которые в свою очередь делятся на страницы. Обмен между памятью и диском осуществляется страницами.
Страница – единица деления виртуального адресного пространство.
Страничный блок – единица деления физической памяти.
Для преобразования номера страницы в номер страничного блока физической памяти используется таблица страниц. Она содержит записи – дескрипторы страниц.
Страничное распределение памяти:
Многоуровневые таблицы страниц:
Для систем Pentium размер страницы 4К. Размер дескриптора – 32 бита.
Для 32 разрядного виртуального пространства (4Г) размер таблицы страниц – 4М.
Для уменьшения объема таблицы страниц в памяти используют многоуровневые таблицы страниц.
Получение физического адреса из виртуального:
Вся память делится на ячейки(1 байт), у каждой свой адрес.
Адрес разбивается на 3 части(номер раздела, номер стр в разделе, смещение).
По номеру раздела в каталог.
По номеру страницы в разделе выходим на запись о номере стр блока.
Смещение остается прежним.
Виртуальное адресное пространство в Windows: