Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС колоквиум.docx
Скачиваний:
5
Добавлен:
22.11.2019
Размер:
70.55 Кб
Скачать

9) Функции ос по управлению памятью

Если не оговорено иное, под памятью (memory) понимается оперативная память

компьютера, в отличие от внешней памяти (storage).

Процессор может выполнять только инструкции, находящиеся в оперативной па-

мяти. Память распределяется как между модулями прикладных программ, так и меж-

ду модулями самой операционной системы.

Функции ОС по управлению памятью в мультипрограммной системе:

· отслеживание свободной и занятой памяти;

· выделение памяти процессам и ее освобождение при завершении процесса;

· вытеснение процессов из оперативной памяти на диск при нехватке оперативной па-

мяти и возвращение в оперативную память при освобождении места в ней (механизм вир-

туальной памяти);

· настройка адресов программы на конкретную область физической памяти;

· динамическое выделение памяти процессам (выделение памяти по запросу при-

ложения во время его выполнения); выделяются свободные участки, расположенные

произвольным образом, что приводит к фрагментации памяти;

· дефрагментация освобожденной динамической памяти;

· выделение памяти для создания служебных структур ОС (дескрипторы процессов и

потоков, таблицы распределения ресурсов, буферы, синхронизирующие объекты и т.д.;

· защита памяти – выполняемый процесс не должен записывать или читать дан-

ные из памяти, назначенной другому процессу.

Типы адресов

Для идентификации переменных и команд на разных этапах обработки програм-

мы операционной системой используются символьные имена, преобразуемые в вир-

туальные адреса и в итоге – в физические адреса (рис. 3.1).

Виртуальное адресное пространство

Виртуальные адреса для различных программ назначаются транслятором независи-

мо. Диапазон виртуальных адресов определяется программно-аппаратным обеспечени-

ем компьютера, в частности, разрядностью его схем адресации. Совокупность всех воз-

можных адресов из этого диапазона называется виртуальным адресным пространством.

Так, 32-разрядный процессор семейства x86 дает возможность адресовать до 2

32байтов, т.е. до 4 Гбайт памяти с диапазоном виртуальных адресов от 00000000h до FFFFFFFFh.

Реальные процессы используют только часть доступного виртуального простран-

ства (на 1-2 порядка меньше максимума).

Совпадение виртуальных адресов переменных и команд различных программ не

приводит к конфликтам, так как в случае, когда эти переменные или команды одно временно присутствуют в памяти, операционная система отображает совпадающие

виртуальные адреса на разные физические (если эти переменные или команды не

должны разделяться соответствующими процессами).

Образ процесса – термин, обозначающий содержимое назначенного процессу вир-

туального адресного пространства, т.е. коды команд и данные (исходные, промежуточ-

ные и результаты).

Виды алгоритмов распределения памяти

Исторически выделяются два наиболее общих подхода к распределению памяти,

в рамках каждого из которых реализуется ряд алгоритмов:50

· распределение памяти без использования внешней памяти:

· фиксированными разделами;

· динамическими разделами;

· перемещаемыми разделами;

· распределение памяти с использованием внешней памяти:

· страничное распределение;

· сегментное распределение;

· сегментно-страничное распределение.

Алгоритмы первого класса предполагают, что размер виртуального адресного про-

странства каждого процесса меньше объема оперативной памяти. Эти алгоритмы ис-

пользовались в ранних мультипрограммных ОС (OS/360, ранние версии OS/2) в 60-

70 годах и в силу неактуальности здесь опущены.

Алгоритмы второго класса реализуют механизм виртуальной памяти и подле-

жат рассмотрению