Сегментно-страничный способ организации памяти.

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

Из следующего рисунка видно насколько усложняется и отсюда следует - замедляется обращение к памяти. Единственный способ решения этой проблемы – аппаратный. Наиболее эффективным аппаратным способом поиска дескрипторов является ассоциативный КЕШ. В качестве тэга берут номер сегмента и страницы, а рез-т ф-и – адрес физической страницы.

Этот способ вобрал в себя все достоинства. Разбитие проги на сегменты позволяет размещать сегменты в памяти целиком. Сегменты разбиваются на страницы и редко используемый код удаляется из памяти. Т.К прога разбита на сегменты согласно внутренней логике, число межсегментных переходов минимально. Страницы сегмента находятся в памяти, но не подряд, а рассыпаны и можно не заботиться о фрагментации памяти. Наличие сегментов даёт эффективную защиту одной проги от другой, возможна динамическая компоновка.
Примеры: ОС Unix, упрощённо: наиболее упрощённо – Windows 9x, менее упрощённо Windows NTbased и ОС Linux.

Комментариев нет:

Отправить комментарий