112
проблемы представляет Windows 3.x: в системе существует единственная
таблица страниц. Сегментная часть трансляции адреса имеет, таким
образом, на выходе адрес в общем для всех процессов виртуальном
страничном пространстве, объем которого превышает объем реальной
памяти не более, чем в 4 раза. Подобное же, хотя и более гибкое и
защищенное решение, представляет VSE: система обеспечивает общий
объем виртуальной памяти (до 2 Гбайт), который разбивается на разделы
(до 12 статических и до 200 динамических), суммарный объем адресных
пространств всех разделов не превышает общего объема виртуальной
памяти. Простота решения, однако, может существенно сказываться на его
эффективности: во-первых, из-за ограничений на размер виртуальной
памяти, во-вторых, из-за необходимости выделять смежные дескрипторы в
таблице страниц для страниц, смежных в виртуальной памяти. Поэтому
действительно многозадачные системы применяют множественные
таблицы страниц и включают память, занимаемую таблицами страниц, в
страничный обмен. Вытеснение и загрузка частных таблиц страниц
производится либо исключительно самой ОС (Unix), либо ОС использует
для этого имеющиеся аппаратные средства (так, ОС, ориентированные на
Intel-Pentium, используют каталоги страниц).
С точки зрения программиста, он имеет дело с сегментами, API
управления памятью – такой же, как и в сегментной модели. Страничная
часть адресации для процессов совершенно прозрачна, но зато эта часть
используется ОС для эффективной организации свопинга.
3.7. Плоская модель
Начиная с модели Intel 80386, в микропроцессорах Intel-Pentium
адрес состоит из 16-разрядного номера сегмента и 32-разрядного
смещения. 32-разрядное поле смещения позволяет адресовать до 4 Гбайт в