КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лекция №12. Типы адресов: Символьные имена Id переменных в программе
Управление памятью Типы адресов:
При загрузке программы в память, виртуальные адреса отображаются в физические. Работа перемещающего загрузчика состоит из загрузки программы в последовательные ячейки, начиная с некоторого адреса, и настройки смещений внутри программы относительно этого адреса.
Динамическое преобразование адреса происходит при каждом обращении к адресу, но при этом используются виртуальные адреса.
Методы распределения памяти Существует 2 основных способа: - без использования дискового пространства (ДП); - с использованием ДП. Методы без использования ДП разделяются на: · с использованием фиксированных разделов; · с использованием динамических разделов; · с использованием перемещаемых разделов; Методы с использованием ДП разделяются на: · страничный способ; · сегментный способ; · сегментно-страничный.
¾ Без использования ДП с использованием фиксированных разделов
Перед началом работы оператор разделяет физическую память на разделы заданного размера. Поступающие в систему задачи либо занимают свободный раздел подходящего размера, либо попадают в очередь. Очередь может быть либо общей для всех разделов, либо индивидуальной для каждого.
Достоинства: простота Недостатки: недостаточная гибкость
¾ Динамические разделы
Распределение памяти по разделам заранее неизвестно. ОС ведет таблицы занятых и свободных разделов. При поступлении новой задачи для ее загрузки выбирается свободный раздел подходящего размера. Принцип выбора (способы):
Достоинства: большая гибкость, уровень мультипрограммирования не зависит от начального разбиения на разделы Недостатки: фрагментация памяти (наличие большого числа несмежных свободных участков памяти маленького размера) Такой способ разделения памяти используется для управления кучей процесса.
¾ Перемещаемые разделы
Данный способ расширят управление динамическими разделами путем добавления процедуры сжатия (перемещение занятой области в одну последовательную область). В результате свободная память размещается в последовательных ячейках.
Достоинства: неразделенная свободная область памяти Недостатки: в отличии от предыдущих способов нельзя использовать перемещающий загрузчик; процедура сжатия может быть затратна по времени (поэтому обычно сжатие выполняется когда не удается выполнить загрузку программы)
Мотивом использования адресного пространства является предоставление виртуальной памяти (виртуальная память – совокупность программно-аппаратных средств, позволяющих писать программы, размер которых превосходит доступную оперативную память). Для прикладного программиста механизм виртуальной памяти является прозрачным. При страничной организации памяти виртуальное пространство процессов делится на страницы равного размера (размер страницы кратен степени двойки (=2 k)). Физическое адресное пространство тоже делится на страницы такого же размера. Процессы при таком разбиении размещаются в физическом адресном пространстве необязательно по непрерывным адресам памяти. Часть адресного пространства процесса может быть выгружена во внешнюю память. Обращение к памяти выполняется по следующей схеме: В случае, если виртуальная страница присутствует в физической памяти, старшие биты виртуального адреса (Р) содержат номер виртуальной страницы. По таблице страниц устанавливаем соответствующий адрес физической страницы. Он конкатенируется с младшими k разрядами виртуального адреса. Получается физический адрес. В случае, если виртуальный адрес отсутствует в физической памяти (клетка ВП, содержимое располагается во внешней памяти) происходит страничное прерывание. Процесс переходит к ожиданию на системном объекте ядра, и запускается процедура подгрузки страниц, а контекст переключается на следующий готовый процесс. Для подгрузки страниц определяется место в физической памяти. Если оно есть, то выполняется подгрузка, коррекция таблицы страниц, перевод процесса в готовое состояние. В противном случае, выбирается страница для вытеснения. Если страница была модифицирована, то предварительно необходимо записать страницу на диск, иначе содержание страницы переписывается загружаемой страницей. Кандидаты на выгрузку определяются управляющей информацией ОС.
Дата добавления: 2014-12-07; Просмотров: 588; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |