Линейная и сегментная адресация 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Линейная и сегментная адресация



Линейная адресация – сплошная, без разделения на сегменты – сплошной массив ячеек, неразбиваемый на независимые участки. Сегентная адресация – память разделена на ячейки памяти, где адресация начинается с нуля. Т.к. в реальной памяти они распологаются прозвольно, ОС должна защищать их друг от друга чтобы они не пересекались. В современных процессорах сегменты разных задач могут быть защищенными друг от друга. Сегменты могут быть: * код, * данные, * стек.

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

Суть сегментнойадресации заключается в следующем. Физический 20-разрядный адрес любой ячейки памяти вычисляется процессором путем сложения начального адреса сегмента памяти, в котором располагается эта ячейка, со смещением к ней (в байтах) от начала сегмента, которое иногда называют относительным адресом Сегментный адрес без четырех младших битов, т.е. деленый на 16, хранится в одном из сегментных регистров. При вычислении физического адреса процессор умножает содержимое сегментного регистра на 16 и прибавляет к полученному 20-разрядному адресу относительный адрес. Умножение базового адреса на 16 увеличивает диапазон адресуемых ячеек до величины 64 Кбайт * 16 = 1 Мбайт.

При линейной адресации память представляет из себя сплошной массив ячеек, не разбиваемый на независ.уч-ки. В этом случае необходимо управлять этой памятью, т.е. выделять участки памяти для разной задачи и по возможности защищать их. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. Задачами операционной системы при таком методе: 1) ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти; 2) при поступлении новой задачи - анализ запроса и выбор раздела, размер которого достаточен для размещения поступившей задачи; 3) загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей; 4) после завершения задачи корректировка таблиц свободных и занятых областей. Фрагментация памяти – недостаток. При сегментной адресации память разбивается на сегменты, уч-ки памяти с независимой адресац. Т.к. сегменты могут размещаться произвольно в реальной памяти, то возникает проблема защиты сегментов др. от друга (от пересечения), это должна уметь делать ОС. Сегменты могут быть разных видов, например, кода, данных, стека. Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.

 

SWAPing и страничный обен

Свопинг (в 60-х г.г.) – это технология освобождения памяти посредством выгрузки памяти на внешние носители памяти (диск). Т.е. создается сегмент свободный для новой информации.

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 1014; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.13.70 (0.008 с.)