Несмотря на множество совпадающих черт, использование динамической переадресации окон принципиально отличается от классического распределения памяти сегментами по запросу. Эти отличия связаны в первую очередь с различными основными задачами этих способов расширения памяти. Основная цель динамической переадресации окон — увеличение виртуального адресного пространства при значительно меньшем по сравнению с оверлейной структурой числе обменов с внешней памятью; распределение сегментами по запросу — исключение явных (т. е. запланированных в программе) обменов с внешней памятью и улучшение использования физического адресного пространства. В последнем случае адресное поле имеет большую длину (24...36 бит), обеспечивая весьма значительное виртуальное адресное пространство, которое совпадает с сегментированным логическим адресным пространством буфера, описываемым таблицей сегментов. Дальнейшие отображения адресных пространств: аппаратное преобразование адреса через таблицу сегментов в физический адрес; подкачка сегмента или его части из пространства внешней памяти в оперативную при обращении к отсутствующему в оперативной памяти сегменту, реализуемая средствами операционной системы (ОС); первоначальное открытие файла и при необходимости смена таблицы сегментов, т. е. наложение нового логического буферного пространства из общего логического пространства программы (если оно все-таки превышает размер виртуального адресного пространства и соответственно логического буферного пространства)— показаны на рис. 1.6,6. Операции с внешней памятью реализуются операционной системой, подкачка — по прерыванию, наложение — по запросу программы.
Главное отличие динамической переадресации окон (рис. 1.6,е) — отделение виртуального адресного пространства (имеющего в рассматриваемом случае размер 64 Кбайт) от сегментированного логического буферного пространства, которое в несколько раз больше виртуального. Отображение одного пространства в другое происходит с помощью динамического преобразования адресов аппаратно. Для большей гибкости виртуальное адресное пространство разделено на окна, которые обладают известной независимостью друг от друга и от сегментов логического пространства. С помощью таблицы переадресации они «привязываются» к определенным сегментам или их частям; через них программа может «видеть» в каждый момент времени именно эти части, т. е. адресоваться к ним. Отсюда и название элементов виртуального пространства — окна; они могут иметь произвольные размеры в пределах виртуального пространства, но не превышать размера сегмента, на который через него «смотрит» программа. Преобразование окна — сегменты логического буфера описывается таблицей наложений. Модификация таблицы, т. е. «перепрописка» окон, осуществляется по требованиям программы и планируется заранее. Физическое адресное пространство может быть меньше логического буферного пространства как из-за меньшей емкости памяти системы, так и из-за емкости и ограничения оперативной памяти, выделенной заданию при мультипрограммном режиме работы. Преобразование логического буферного пространства в физическое описывается таблицей сегментов, причем некоторые сегменты могут отсутствовать в физической памяти. При обращении к отсутствующему сегменту возникает прерывание, операционная система осуществляет подкачку сегмента из пространства внешней памяти. Подкачка и дальнейшие преобразования аналогичны действиям в классическом распределении сегментами по запросу.