Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sppo.doc
Скачиваний:
1
Добавлен:
20.04.2019
Размер:
1.17 Mб
Скачать
  1. Завершение процесса:

    1. Закрытие всех оставшихся открытыми файлов и закрытие всех буферов обмена.

    2. Из контекста операционной среды исключаются все управляющие блоки.

    3. Происходит освобождение статистических ресурсов на основе информации хранящейся в управляющих блоках.

    4. Происходит освобождение памяти выделенной процессу.

    5. Происходит освобождение всей управляющей информацией.

34. Характеристика методов управления оперативной памятью в ос.

Вся основная память делится на две области в одной из них хранится ядро операционной системы (все операционные программы плюс память, выделенная для управляющих блоков) вторая область динамическая в ней размещаются пользовательские процессы.

Существуют четыре этапа распределения памяти:

  1. Отслеживается состояние памяти.

  2. Осуществляется поддержка управляющих алгоритмов.

  3. Происходит выделение памяти.

  4. Освобождение памяти.

Выделение памяти разделами или страницами

Раздел – это непрерывный участок памяти, в котором содержится образ процесса

Страница – разрывный участок памяти, в котором содержится образ процесса

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

Используется концепция виртуальной памяти процесса. Образ процесса образ загрузочного модуля без таблиц размещается, без настройки по месту загрузки. Истинный адрес вычисляется динамически при исполнении каждой команды(Load R1 D(R1)).

Статистическая память делится на разделы и не меняется в процессе выполнения.

Страничное выделение памяти делится на следующие типы:

  1. Страничное

  2. Страницами по запросу

  3. Сегментное

  4. Странично – сегментное

При страничном или страницами по запросу выделении памяти все страницы равны между собой по длине.

При сегментном выделении памяти все элементы различной между собой длины.

При станично – сегментном выделении памяти процесс делится на сегменты загружаются сразу все страницы сегмента (страницы связаны).

Защита памяти

  1. с помощью маркера доступа

  2. используются регистры границ

Как правило, для защиты памяти используются комбинации этих двух алгоритмов. Для системных процессов эти регистры наибольшие.

Маркер доступа

Вся память делится блоками определённой длины. Каждый блок содержит поле (маркер или ключ) в которое записывается маркер процесса. Каждый процесс имеет индивидуальный маркер. Все блоки одного процесса имеют маркер с одинаковыми номерами.

В данном случае память может выделяться либо статически, либо динамически. При динамическом выделении памяти алгоритм становится более сложным, но память используется более эффективно.

35. Распределение оп динамическими разделами

Для отслеживания состояния памяти используются две таблицы: таблица выделенных разделов и таблица свободных разделов. Таблица свободных разделов требуется, для того чтобы удовлетворить запрос на заданное количество памяти. Таблица выделенных разделов используется для освобождения памяти.

Имеются две основных стратегии упорядочивания таблиц:

  1. Если упорядочивание страниц идёт по адресу, то такая стратегия называется первой подходящей. Поиск раздела для слияния намного проще (но стратегия является не самой удачной)

  2. Самый подходящий алгоритм. Таблица упорядочена по разделам в порядке возрастания (минимальный свободный раздел в котором можно породить новый процесс). При каждом новом выделении памяти процессу будет происходить переупорядочивание таблицы.

Проблема фрагментации памяти: память разбивается на множество мелких разделов.

Функции для работы с блоками:

  1. Get Block – получить блок

  2. Free Block – освободить блок

  3. Set Block – изменить размер блока

В данном случае нет никакой защиты блоков.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]