vak: (Знайка)
[personal profile] vak
В комментах возникло обсуждение способов расширения памяти на XT-шке. Вспомню исторические факты конспективно.

8088 и PC XT

Процессор 8088 имел 20 разрядов физического адреса. Поэтому адресовать мог только 2^20 = 1 мегабайт. Из них айбиэмовские инженеры отвели 640к для программ и 384к для хардвера (биосы, видеопамять). Позже придумали EMS, где в пространстве 384к создавалось окно, и через него можно было пролистывать несколько мегабайт дополнительной памяти. Драйвер EMM.SYS.

286 и PC AT

У процессора 286 было уже 24 разряда физадреса. То есть уже 16 мегабайт памяти, но только в защищённом режиме. Что для MS-DOS не годилось.

В незащищённом режиме 286 мог адресовать 64 килобайта сразу за первым мегабайтом. Эту область научились использовать, и назвали HMA. Но для совместимости приходилось жульничать с адресным сигналом A20. Драйвер HIMEM.SYS и иже с ним.

386

Тут уже 32-битный физадрес, и память хоть до 4 гигабайт. Драйвер EMM386.SYS.

Date: 2025-11-29 23:16 (UTC)
madef: (Default)
From: [personal profile] madef
А в config.sys надо было указывать

DOS=HIGH,UMB
DEVICE=C:\MSDOS\EMM386.EXE NOEMS
и далее
DEVICEHIGH=...

Date: 2025-11-30 03:56 (UTC)
krivye_ru4ki: (Default)
From: [personal profile] krivye_ru4ki
Там в config.sys можно было меню делать, например, с драйвером компакт-диска или без него.

Date: 2025-11-30 07:38 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Ах да. Хз, как же я на MS DOS использовал верхнюю память. Как-то использовал; заказчику надо было.

Date: 2025-11-30 12:16 (UTC)
From: [personal profile] flamedancerii
На 286 уже были DPMI extenders, хотя конечно на 386 и выше они же были намного лучше.
Сам DOS конечно их не использоал, но прикладной софт вполне.