ФЭНДОМ


Модель памяти — это способ объединения кода, данных и стека программы в один или несколько физических сегментов.

В операционных системах, работающих в реальном режиме (фактически это MS DOS и её клоны), были определены следующие модели памяти:

  • крошечная (tiny) — код, данные и стек объединены в один физический сегмент, максимальный размер которого не мог превышать 64 Кбайта без 256 байтов (последние требовались для создания префикса программного сегмента (PSP) — специфической структуры данных MS DOS. Крошечную модель памяти использовали все COM-программы. По сути она является плоской моделью памяти, предназначенной для реального режима;
  • малая (small) — код и данные находятся в разных физических сегментах, размер каждого из которых не может превосходить 64 Кбайта. Строгой спецификации относительно размещения сегмента стека и PSP для этой и других моделей памяти нет;
  • средняя (medium) — код размещается в нескольких сегментах, каждый из которых имеет размер до 64 Кбайт; данные размещаются в одном сегменте длиной до 64 Кбайт;
  • компактная (compact) — код занимает один сегмент размером до 64 Кбайт, данные размещаются в нескольких сегментах, каждый из которых может иметь размер до 64 Кбайт;
  • большая (large) — код и данные занимают несколько физических сегментов каждый.

Разновидностью большой модели является гигантская (huge), отличающаяся представлением указателей на объекты (смещение всегда должно быть минимально возможным, а базовый адрес сегмента, соответственно, максимально возможным).

В операционных системах защищённого режима технически можно организовать те же самые модели памяти, что и в реальном режиме. Однако на практике наиболее распространённые ОС, в том числе Microsoft Windows и Linux, применяют только плоскую (flat) модель. Суть её заключается в том, что код, данные и стек программы объединяются в один физический сегмент размером 4 Гбайта (хотя собственно программе пользователя отводится меньший объём — чуть меньше 2 Гбайт в большинстве версий Windows и около 3 Гбайт в Linux).

Наконец, в 64-разрядном режиме может использоваться только плоская модель, поскольку механизм сегментации в нём не предусмотрен.

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.