Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функции ОС по управлению памятью. Типы систем управления памятью. ⇐ ПредыдущаяСтр 5 из 5
Функции ОС по управлению памятью: Оперативная память – важный ресурс, требующий тщательного управления со стороны ОС. Функции ОС: - отслеживание свободной и занятой памяти -выделение памяти процессам и освобождение памяти по их завершению -выгрузка кода и данных процесса из оперативной памяти на диск и загрузка обратно -настройка адресов программы на конкретные области физической памяти -защита памяти Типы систем: Системы управления памятью Без подкачки на диск С подкачкой на диск Swapping – Paging – подкачка образа процесса целиком страничная подкачка Управление без подкачки на диск: Однозадачные ОС – память разделяется между ОС и одним процессом. При запуске другого процесса он загружается поверх старого. Пример: MS DOS Многозадачные ОС с фиксированными разделами – память разбивается на несколько разделов и каждый процесс загружается в свой раздел. Используются разделы разного размера. Поддерживаются очереди к разделам. Пример: OS/360. Подкачка процесса целиком ( swapping ): Образы процессов загружаются целиком. При переходе в неактивное состояние могут целиком выгружаться из памяти для освобождения места активным процессам. Проблемы: - Возможная фрагментация памяти. -уплотнение памяти -выделение памяти с учетом роста образа процесса -Настройка адресов – необходимо корректно устанавливать адреса для каждого процесса каждый раз, когда он загружается в память -Защита памяти – процесс не должен иметь возможности доступа к памяти вне выделенной ему области -Невозможность загрузки процесса большего объема, чем физическая память.
Адресация памяти. Виртуальное адресное пространство в Windows Адресация памяти: Типы адресов: -символьные имена – присвоенные программистом при создании программы -виртуальные адреса – адреса, сгенерированные транслятором в предположении, что начальный адрес процесса в памяти = 0 -физические адреса – адреса ячеек памяти в которых расположены код и данные процесса. Виртуальное адресное пространство – совокупность виртуальных адресов процесса. Максимально возможное виртуальное адресное пространство зависит от разрядности архитектуры. У 32 разрядных ОС - 4Г. Назначенное адресное пространство – реально выделенное процессу множество адресов. Виртуальная память: При использовании виртуальной памяти на диск выгружается только части образа процесса. Варианты реализации: |
-страничная – обмен между памятью и диском осуществляется
блоками фиксированного размера – страницами.
- сегментная – обмен между памятью и диском блоками произвольного размера с учетом смыслового значения данных
- сегментно-страничная – память делится на сегменты, которые в свою очередь делятся на страницы. Обмен между памятью и диском осуществляется страницами.
Страница – единица деления виртуального адресного пространство.
Страничный блок – единица деления физической памяти.
Для преобразования номера страницы в номер страничного блока физической памяти используется таблица страниц. Она содержит записи – дескрипторы страниц.
Страничное распределение памяти:
Многоуровневые таблицы страниц:
Для систем Pentium размер страницы 4К. Размер дескриптора – 32 бита.
Для 32 разрядного виртуального пространства (4Г) размер таблицы страниц – 4М.
Для уменьшения объема таблицы страниц в памяти используют многоуровневые таблицы страниц.
Получение физического адреса из виртуального:
Вся память делится на ячейки(1 байт), у каждой свой адрес.
Адрес разбивается на 3 части(номер раздела, номер стр в разделе, смещение).
По номеру раздела в каталог.
По номеру страницы в разделе выходим на запись о номере стр блока.
Смещение остается прежним.
Виртуальное адресное пространство в Windows :
Последнее изменение этой страницы: 2019-05-08; Просмотров: 261; Нарушение авторского права страницы