СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ

При таком способе виртуальное адресное место процесса делится на части – сегменты, размер которых определяется с учетом смыслового значения содержащейся в их инфы. Отдельный сектор может представлять собой подпрограмму, массив данных и т.п. Деление виртуального адресного места на сегменты осуществляется компилятором на базе указаний программера либо в согласовании с принятыми в системе СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ соглашениями. Наибольший размер сектора определяется разрядностью виртуального адреса, к примеру 32-разрядная организация ЦП равна 4Гб. При всем этом очень вероятное виртуальное адресное место процесса представляет собой набор из N виртуальных частей, любой из которых размером 4Гб. В каждом секторе виртуальные адреса находятся в спектре (00000000 – FFFFFFFF). Сегменты не упорядочены друг СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ относительно друга, так что общего линейного виртуального адреса для частей не существует.

Виртуальный адресок задается парой чисел: № сектора и линейным виртуальным адресом снутри сектора. При загрузке процесса в ОП помещается только часть его сектора. Полная копия виртуального адресного места находится на диске. Для каждого загруженного сектора СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ ОС подыскивает непрерывный участок свободной памяти достаточного размера. Смежные сегменты виртуальной памяти 1-го процесса могут занять в физической памяти несмежные участки. Если во время выполнения процесса происходит воззвание по виртуальному адресу, относящемуся к сектору, который на этот момент не находится в ОЗУ, происходит прерывание. ОС приостанавливает активный процесс, запускает на выполнение последующий СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, а параллельно организует загрузку подходящего сектора с диска. При отсутствии в памяти места для загрузки сектора ОС выбирает сектор на выгрузку. На шаге сотворения процесса во время загрузки его вида в ОЗУ система делает таблицу частей процесса, аналогичную таблице страничек, в какой для каждого сектора указывается:

1. Базисный физический адресок СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ в ОЗУ

2. Размер сектора

3. Правила доступа к сектору

4. Признаки модификации, присутствия и воззвания к данному сектору.

Если виртуальное адресное место нескольких процессов включает один и тот же сектор, то в таблице частей этих процессов делаются ссылки на один и тот же участок ОП, в каком данный сектор загружается в единственном экземпляре СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ. Таким макаром, сегментное рассредотачивание памяти имеет много общего со страничным рассредотачиванием.

Механизмы преобразования адресов этих 2-ух методов управления памятью тоже похожи, но имеются и значительные отличия, которые являются следствием того, что сегменты, в отличие от страничек, имеют случайный размер. Виртуальный адресок при сегментной организации может быть представлен парой g СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, S (номер сектора + смещение).

Физический адресок выходит методом сложения адреса базисного сектора, который определяется по номеру сектора из таблицы частей, и смещения S.

В этом случае нереально обойтись объединением, так как размер странички равен степени 2, как следует, в двоичном виде он выражается числом с несколькими нулями в младших СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ разрядах, странички имеют один размер, и, как следует, их исходные адреса кратны размеру страничек, и выражаются также числами с нулями в младших разрядах. Вот поэтому ОС вносит в таблицу страничек не полные адреса, а номера физических страничек, которые совпадают со старшими разрядами базисных адресов. Сегменты же могут размещаться в физ. памяти СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ с хоть какого адреса, след-но для определения местоположения в памяти нужно задавать его полный исходный физический адресок. Внедрение операции сложения заместо конкатенации замедляет функцию преобразования виртуального адреса в физический по сопоставлению со страничной организацией.

Еще одним недочетом сегментного рассредотачивания памяти является фрагментация памяти, это значит СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, что после освобождения памяти от сектора свободным остается случайный участок памяти, в который может быть записан или сектор того же, или наименьшего размера. При длительной работе компьютера память возможно окажется очень фрагментированной. Для устранения этого употребляется дефрагментация памяти, в процессе которой часть частей выгружается в СВОП и потом записывается СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ назад в память без промежутков.

При страничной организации памяти такая неувязка тоже есть, но она наименее критична.

Перемещение данных меж памятью и диском осуществляется не секторами, а страничками, для этого каждый виртуальный сектор и физическая память делится на странички равного размера, что позволяет более отлично использовать память, сократив до минимума фрагментацию СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ. В отличие от набора виртуальных адресов при сегментной организации памяти все виртуальные сегменты в сегментно-страничном способе образуют одно непрерывное линейное виртуальное адресное место. Координаты байтов в виртуальном адресном пространстве при сегментно-страничной организации можно задать 2-мя методами:

1) Линейным виртуальным адресом, который равен сдвигу 1-го б относительно границы общего линейного СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ виртуального места.

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

Система виртуальной памяти сегментно-страничной организации употребляет СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ 2-ой метод, т.к. он позволяет найти принадлежность адреса данному сектору и проверить права доступа процесса к нему. Для каждого процесса ОС делает отдельную таблицу частей, в какой содержатся описатели (дескриптеры) всех частей процесса. Описание сектора включает предназначение ему права доступа и другие свойства, подобные тем, которые содержатся в дескриптерах СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ сектора при сегментной организации памяти (флаги к примеру). Но имеется принципное отличие. В поле базисного адреса указывается не исходный физический адресок сектора, отведенный ему в итоге загрузки в оперативку, а исходный линейный виртуальный адресок сектора в пространстве виртуальных адресов. Наличие базисного виртуального адреса сектора в дескиптере позволяет совершенно точно конвертировать адресок СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, данный в виде пары (№ сектора, смещение в секторе) в линейный виртуальный адресок б, который потом преобразуется в физический адресок страничным механизмом. Деление общего линейного виртуального адресного места процесса и физической памяти на странички осуществляется так же, как это делается при страничной организации памяти. Размер странички выбирается равным степени двойки СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, что упрощает механизм преобразования виртуальных адресов в физические. Виртуальные странички номеруются в границах виртуального адресного места каждого процесса, а физические – в границах ОП. При разработке процессов в память загружается только часть страничек, другие загружаются только по необходимости. Временами система выгружает уже ненадобные странички, освобождая место для новых. Система ведет для СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ каждого процесса таблицу страничек, в какой указывается соответствие виртуальных страничек физическим. Базисные адреса таблицы частей и таблицы страничек процесса являются частью его контекста. При активации процесса эти адреса загружаются в особые регистры ЦП и употребляются механизмом преобразования адресов. Преобразование виртуального адреса в физический происходит в два шага.

На первом СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ шаге работает механизм сегментации. Начальный виртуальный адресок, данный в виде пары (№ сектора, смещение) преобразуется в линейный виртуальный адресок. Для этого на основании базисного адреса таблицы частей и номера сектора, рассчитывается адресок дескриптера сектора, анализируются поля дескриптера и производится проверка способности выполнения данной операции. Если доступ к сектору разрешен, то СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ рассчитывается линейный виртуальный адресок методом сложения базисного адреса сектора, извлеченного из дескриптера, и смещения, данного в начальном виртуальном адресе.

На втором шаге работает страничный механизм. Приобретенный линейный виртуальный адресок преобразуется в разыскиваемый физический адресок. В итоге преобразования линейный виртуальный адресок представляется в том виде, в каком он применяется при страничной СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ организации, в виде пары (№ странички, смещение). Благодаря тому, что размер странички избран равным степени двойки, эта задачка решается обычным отделением некого количества младших двоичных разрядов, при всем этом в старших содержится номер виртуальной странички, а в младших смещение искомого элемента относительно начала странички. Если размер равен 2к, то СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ смещением является содержимое к младших разрядов, а другие старшие разряды содержат номер виртуальной странички, которой принадлежит разыскиваемый адресок. Дальше преобразование адреса происходит так же, как при страничной организации: старшие разряды линейного виртуального адреса, содержащие № виртуальной странички заменяются на № физической странички, взятым из таблицы страничек, а младшие разряды виртуального адреса, содержащие смещение СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ остаются без конфигурации.

КЭШ ПАМЯТЬ

КЭШ – это метод совместного функционирования 2-ух типов памяти, отличающихся временем доступа и методом хранения данных, который за счет динамического копирования в резвое запоминающее устройство более нередко применяемой инфы из более неспешного ЗУ, позволяет ускорить доступ к данным, хранящимся на диске. На данный момент существует один КЭШ СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ, т.к. на данный момент делают КЭШ огромного объема и помещают его рядом с микропроцессором.

КЭШ память прозрачна для программ и юзеров. Система не просит никакой наружной инфы. Ни юзер ни программка не принимают роли в перемещении данных из ОЗУ в КЭШ и назад. И все это делается автоматом СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ системными средствами. КЭШ памятью также именуют методы организации работы запоминающих устройств 2-х типов (резвого и неспешного). КЭШ стремительная память, ОЗУ – неспешная. Если КЭШирование применяется для уменьшения среднего времени доступа к ОП, то в качестве КЭШ употребляют быстродействующую статическую память (среднее время воззвания ДДР памяти к ОЗУ – 15 наносек, а СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ статич. КЭШ – 5 наносек). Если КЭШирование употребляется системой вв-выв для ускорения доступа к данным, хранящимся на диске, то в данном случае роль КЭШ памяти делают буферы ОЗУ, в каких оседают более интенсивно применяемые данные. Виртуальную память так же можно считать одним из вариантов реализации принципов КЭШирования, в СЕГМЕНТНОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ каком ОЗУ выступает в роли КЭШа по отношению к наружной дисковой памяти.


sedmoj-etap-napisanie-issledovatelskogo-proekta.html
sedmoj-kurs-puteshestvie-vo-vremeni.html
sedmoj-mesyac-po-kalendaryu-mira-lyudej-god-372-5-glava.html