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