пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

17. Сегментное распределение.

При таком методе виртуальное адресное пространство процесса делится на части – сегменты, размер которых определяется с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. Деление виртуального адресного пространства на сегменты осуществляется компилятором на основе указаний программиста или в соответствии с принятыми в системе соглашениями. Максимальный размер сегмента определяется разрядностью виртуального адреса, например 32-разрядная организация ЦП равна 4Гб. При этом максимально возможное виртуальное адресное пространство процесса представляет собой набор из N виртуальных сегментов, каждый из которых размером 4Гб. В каждом сегменте виртуальные адреса находятся в диапазоне (00000000 – FFFFFFFF). Сегменты не упорядочены друг относительно друга, так что общего линейного виртуального адреса для сегментов не существует. Виртуальный адрес задается парой чисел: № сегмента и линейным виртуальным адресом внутри сегмента. При загрузке процесса в ОП помещается только часть его сегмента. Полная копия виртуального адресного пространства находится на диске. Для каждого загруженного сегмента ОС подыскивает непрерывный участок свободной памяти достаточного размера. Смежные сегменты виртуальной памяти одного процесса могут занять в физической памяти несмежные участки. Если во время выполнения процесса происходит обращение по виртуальному адресу, относящемуся к сегменту, который в данный момент не присутствует в ОЗУ, происходит прерывание. ОС приостанавливает активный процесс, запускает на выполнение следующий, а параллельно организует загрузку нужного сегмента с диска. При отсутствии в памяти места для загрузки сегмента ОС выбирает сегмент на выгрузку. На этапе создания процесса во время загрузки его образа в ОЗУ система создает таблицу сегментов процесса, аналогичную таблице страниц, в которой для каждого сегмента указывается:1)Базовый физический адрес в ОЗУ 2)Размер сегмента 3)Правила доступа к сегменту 4)Признаки модификации,присутствия и обращения к данному сегменту. Если виртуальное адресное пространство нескольких процессов включает один и тот же сегмент, то в таблице сегментов этих процессов делаются ссылки на один и тот же участок ОП, в котором данный сегмент загружается в единственном экземпляре. Таким образом, сегментное распределение памяти имеет много общего со страничным распределением. Механизмы преобразования адресов этих двух способов управления памятью тоже похожи, но имеются и существенные отличия, которые являются следствием того, что сегменты, в отличие от страниц, имеют произвольный размер. Виртуальный адрес при сегментной организации может быть представлен парой g, S (номер сегмента + смещение).Физический адрес получается путем сложения адреса базового сегмента, который определяется по номеру сегмента из таблицы сегментов, и смещения S. Недостатком сегментного распределения памяти является фрагментация памяти, это означает, что после освобождения памяти от сегмента свободным остается произвольный участок памяти, в который может быть записан либо сегмент такого же, либо меньшего размера. При продолжительной работе компьютера память может оказаться сильно фрагментированной. Для устранения этого используется дефрагментация памяти, в ходе которой часть сегментов выгружается в СВОП и затем записывается обратно в память без промежутков.


21.01.2018; 20:08
хиты: 73
рейтинг:0
Точные науки
информатика
Теория вычислений
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь