Студопедия

КАТЕГОРИИ:


Архитектура-(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 переменных в программе




 

Управление памятью

Типы адресов:

Символьные имена Id переменных в программе
    Транслятор
Виртуальные адреса Условные адреса, вырабатываемые транслятором
 
  1. перемещающий загрузчик
  2. динамическое преобразование
Физические адреса Номера ячеек

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

Работа перемещающего загрузчика состоит из загрузки программы в последовательные ячейки, начиная с некоторого адреса, и настройки смещений внутри программы относительно этого адреса.

 

    #100     Величины смещений в коде программы складываются с БА (при загрузке программы)  
Jmp #10  
  #10      
   
   
   
     
   
  Виртуальное адресное пространство Физическое адресное пространство  

 

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

 

Методы распределения памяти

Существует 2 основных способа:

- без использования дискового пространства (ДП);

- с использованием ДП.

Методы без использования ДП разделяются на:

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

· с использованием динамических разделов;

· с использованием перемещаемых разделов;

Методы с использованием ДП разделяются на:

· страничный способ;

· сегментный способ;

· сегментно-страничный.

 

¾ Без использования ДП с использованием фиксированных разделов

 

  Физическая память       Индивидуальные очереди задач
           
  Раздел        
       
Очередь задач к разделам (общая)          
Раздел        
               
          …………
  Раздел  
     
           
  Раздел        
       

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

 

Достоинства: простота

Недостатки: недостаточная гибкость

 

¾ Динамические разделы

ОС   ОС   ОС   ОС  
               
     
             
             
       
   
t 0   t 1   t 2   t 3  

 

  Занятая память
  Свободная память

 

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

Принцип выбора (способы):

  • первый подходящий
  • наименьший подходящий
  • наибольший подходящий

 

Достоинства: большая гибкость, уровень мультипрограммирования не зависит от начального разбиения на разделы

Недостатки: фрагментация памяти (наличие большого числа несмежных свободных участков памяти маленького размера)

Такой способ разделения памяти используется для управления кучей процесса.

 

¾ Перемещаемые разделы

 

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

 

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

Недостатки: в отличии от предыдущих способов нельзя использовать перемещающий загрузчик; процедура сжатия может быть затратна по времени (поэтому обычно сжатие выполняется когда не удается выполнить загрузку программы)

  • Страничный способ

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

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

При страничной организации памяти виртуальное пространство процессов делится на страницы равного размера (размер страницы кратен степени двойки (=2 k)). Физическое адресное пространство тоже делится на страницы такого же размера.

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

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

В случае, если виртуальная страница присутствует в физической памяти, старшие биты виртуального адреса (Р) содержат номер виртуальной страницы. По таблице страниц устанавливаем соответствующий адрес физической страницы. Он конкатенируется с младшими k разрядами виртуального адреса. Получается физический адрес.

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

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

Кандидаты на выгрузку определяются управляющей информацией ОС.

 




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


Дата добавления: 2014-12-07; Просмотров: 557; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.