Общая характеристика методов управления оперативной памятью в ОС. — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Общая характеристика методов управления оперативной памятью в ОС.

2022-11-27 25
Общая характеристика методов управления оперативной памятью в ОС. 0.00 из 5.00 0 оценок
Заказать работу

Управление ОП:

- Отслеживание состояния ОП с помощью управляющих таблиц

- Поддержка алгоритмов, удовлетворяющих запросам

- Физическое выделение и освобождение памяти

Ни один процесс не может выполняться, если ему не предоставлена ОП. Одна и та же область ОП не может использоваться несколькими процессами одновременно, хотя существуют области памяти общего пользования. Необходимо изолировать процесс от области памяти ему недоступной.

Защиты памяти одного процесса от другого осуществляется двумя способами:

1. Механизм ключей – маркер доступа. Память процессу выделяется блоками физической памяти ~4KB, у каждого блока есть неиспользуемое поле, называемое ключом. При обращении ключи памяти сравниваются с ключами в PCB, если не совпадают – доступ запрещен. Системный ключ – доступ всегда разрешен. Код программы запись запрещена.

2. Регистр перемещения и регистр границ. Каждый процесс имеет 2 регистра, которые заполняются при выделении процессу времени процессора. РП указывает на начало памяти, которая была выделена. РГ указывает на размер выделенной памяти. Для отслеживания состояния ОП ведутся управляющие таблицы: какая память кому выделена и сколько осталось свободной. Если при обращении адрес выходит из диапазона, то процесс снимается. При переходе к следующему процессу РГ и РП предыдущего заносятся в его PCB.

2 способа выделения памяти для процесса:

1. выделение ОП в полном объеме

2. выделение ОП меньшего объема, которому по мере выполнения присваивается код.

2-й способ используется чаще. Остальная информация хранится в виртуальной памяти.

Загрузочный модуль использует абсолютные ссылки. Для его выполнения необходимо автоматически прибавлять к адресам адрес раздела – расположение начала кода в памяти. Это называется виртуальным образом процесса. Он требует аппаратной поддержки и большего количества операций, зато процесс при этом можно перемещать в памяти без пересчета адресов.

Способы распределения ОП под процессы:

1. Разделами (Статически)

· Одиночное непрерывное распределение ОП (вся свободная ОП выделяется одному процессу)

· Распределение фиксированными разделами (вся память делится на фиксированные разделы, в каждом из которых может выполняться один процесс)

· Распределение динамическими разделами (разделами разной длины по запросу)

· Распределение перемещаемыми разделами ("способ сборки мусора", используют виртуальную адресацию)

2. Страницами (процесс может занимать непрерывные участки ОП)

· Страничное распределение (вразброс, но области фиксированной длины) - статически

· Страничное распределение по запросу* (часть страниц хранится во внешней памяти) - динамически

· Сегментное распределение (страницы переменной длины)

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

*Наиболее распространенное.

Распределение ОП динамическими разделами.

Когда появляется процесс, он запрашивает какое-то количество памяти. Если памяти не хватает, он становится в очередь. Ведутся таблицы:

Таблица выделенных областей

Process PCB Address Address Size Status (1/0)
       
       

Таблица свободных областей

Address Size
   
   

В хороших ОС размер таблиц фиксирован. При освобождении памяти происходит слияние смежных областей и перенос информации из одной таблицы в другую.

Статус:1 – процесс уже есть; 0 – эта область может быть использована для порождения нового процесса.

Если поступает запрос на память, то ищется участок, в котором есть нужная память. Он делится на 2 части: одна выделяется процессу, другая остается.

Стратегия выделения памяти зависит от того, как отсортирована таблица свободных областей: если в порядке возрастания начального адреса, то алгоритм называется "первый подходящий", а если в порядке возрастания размера, то "самый подходящий". При "самом подходящем" большие куски не делятся на более мелкие, но он более сложный, т.к. нужно упорядочивать таблицу. Но при этом в процессе обслуживания или выполнения процессов существует тенденция образования мелких свободных участков памяти, общий объем которых удовлетворяет запросам, но они не являются смежными.

Пример: управление ОП в DOS

Управление – разделами по запросу.

MCB – Memory Control Block (5 байт). Располагается в начале каждого блока памяти.

· Статус (1 байт). ‘M’ – занят, ‘Z’ – свободен

· Адрес PSP (PCB), 0 – свободен (2 байта)

· Размер блока в параграфах (2 байта)

В самой ОС есть управляющее поле, которое ссылается на начало этой цепочки. Адрес следующего блока вычисляется через адрес и размер предыдущего. Команды процессора в DOS:

GETBLOCK – выделение памяти

FREEBLOCK – освобождение памяти

SETBLOCK – изменение размера памяти

И при этом нет никакой защиты ядра ОС!


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.