MS-DOS 6.22 — установка для DOS игр. Часть 3.

Работа MS DOS с памятью.

Продолжаем цикл статей об установке DOS 6.22 на старое железо и современный компьютер для удобного запуска DOS игр. В предыдущей статье мы рассмотрели способы минимальной установки MS-DOS 6.22 на жесткий диск, USB флешку, флоппи диск. Мы создали каркас — ядро работы операционной системы DOS 6.22, состоящее всего из трёх файлов command.com, io.sys, msdos.sys. На данный каркас мы будем нанизывать дополнительные составляющие — добавлять файлы и производить записи в настройках системы. В данной статье будет рассмотрена работа MS DOS с памятью.

Работа MS DOS с памятью - понятная схема.

Работа MS DOS с памятью.

В статье очень кратко и несколько поверхностно освещена работа MS DOS с памятью. Если вас не интересуют теоретические вопросы, можете переходить к четвёртой части цикла, где мы рассмотрим практическую настройку памяти DOS для игр и прикладных программ (файлы CONFIG.SYS, AUTOEXEC.BAT ).

Прежде, чем приступить к рассмотрению темы, предлагаем вам скачать архив файлов MS DOS 6.22 OEM ver. 1.1.zip . Архив содержит все файлы, входящие в OEM пакет  MS DOS 6.22  (ver. 1.1). Ссылку для скачивания можно найти на странице нашего сайта : Файлы для скачивания — полный перечень .
После установки с CD-ROM операционной системы MS DOS 6.22 OEM ver. 1.1 , все файлы были скопированы в папку DOS, заархивированы и выложены для скачивания. Вам остаётся извлекать необходимые файлы и копировать на уже созданный диск с установленной в минимальном объёме MS DOS 6.22, «нанизывая составляющие- кирпичики» на уже созданный каркас операционки. Таким образом мы избавимся от ненужных лишних файлов и досконально изучим особенности операционной системы MS DOS 6.22.

Структура памяти MS DOS 6.22 .

В первом персональном компьютере IBM PC использовался процессор Intel 8086, способный непосредственно адресовать 1024 килобайта оперативной памяти. Из этого адресного пространства 640 килобайт памяти (CM — Conventional Memory) использовалось для операционной системы и программ. Оставшиеся 384 килобайта (UMA Apper Memory Area) использовались для BIOS, адаптера дисплея и другого оборудования.

Со временем компьютеры становились более мощными и требовали всё большего объёма оперативной памяти. Первоначально заложенного в архитектуру IBM PC объёма памяти программ (640 килобайт) стало недостаточно для решения сложных задач.

Процессор Intel 80286 мог адресовать уже до 16 мегабайт оперативной памяти. Появилась необходимость расширения доступного программам адресного пространства. Архитектура компьютера IBM AT даёт возможность использовать для программ все 16 мегабайт памяти.

Однако даже если ваш компьютер содержит 16 мегабайт оперативной памяти, операционная система MS DOS может использовать для себя и программ только первые 640 килобайт. При этом самим программам достаётся обычно не более 500 — 550 килобайт основной оперативной памяти, остальная память используется MS DOS для своих собственных нужд.

Это связано с тем, что MS DOS использует так называемый реальный режим работы процессора 80286. В реальном режиме процессор 80286 становится несколько улучшенным аналогом старого процессора 8086, и может адресовать только первые 1024 килобайта памяти.

Освобождаем основную память — задействуем XMS.

Для того, чтобы как-то задействовать память, расположенную выше границы 1024 килобайта (эту память называют расширенной — eXtended Memory Specification или XMS ), в новых версиях MS DOS появились драйверы электронного диска RAMDRIVE.SYS и кэша дисковой памяти SMARTDRV.SYS. В результате работы RAMDRIVE.SYS часть оперативной памяти вашей машины (для компьютеров на базе Pentium — до 4096Мб) превращается в дополнительный жёсткий диск. Естественно скорость работы этого жёсткого диска невероятно высока! Смысл кеширования дисковой памяти практически пропадает. Минусом является невозможность сохранения данных на таком диске после перезагрузки.

В небольшой начальной части расширенной памяти (XMS) размером около 64 килобайт  (Верхняя память — High Memory Area или HMA) могут располагаться модули, буфера и рабочие области самой операционной системы. Если в компьютере используется процессор 80386 или 80486, можно поместить в расширенную память резидентные программы и драйверы.

Не стоит путать расширенную память (extended memory или XMS) с дополнительной памятью (expanded memory или EMS). Дополнительная память располагается на отдельной плате, которая вставляется в слоты расширения материнской платы компьютера. Для работы дополнительной памяти в файле CONFIG.SYS должен быть установлен специальный драйвер, поставляющийся вместе с платой памяти. Дополнительная память (Expanded Memory) сейчас не применяется.

Если расположить в расширенной памяти MS DOS, резидентные программы и драйверы, для программ останется порядка 600-620 килобайт драгоценной основной (Conventional Memory) памяти! Эта возможность появилась в MS DOS 5.0 и естественно присутствует  в более поздних версиях — MS DOS 6.22,  MS DOS 7.10 .

Задача — установка MS-DOS 6.22 для DOS игр.

Работа MS DOS с памятью — тема не одной статьи. Мы обязательно коснёмся её подробнее. Сейчас попробуем использовать наши знания для настройки MS-DOS 6.22 для удобной работы с распространёнными приложениями и запуска игр.

Следует отметить, что произвести одну оптимальную, совместимую для всех программ, настройку DOS не получится по разным причинам. В добрые-старые  времена программы писались с учётом особенностей операционок конкретных версий. Причём совместимость не всегда обеспечивалась. Отдельные особенности не получили развития и перестали использоваться более поздними версиями программ (EMS), другие получили развитие и стали использоваться ядром более новых операционных систем Windows (XMA).

При настройке работы MS DOS памяти (а делается это при помощи файлов AUTOEXEC.BAT и CONFIG.SYS) мы будем учитывать следующие моменты.

  • Область от 0 до 640 килобайт нам наиболее интересна! Это так называемая стандартная память ( CMA — основная оперативная память — Conventional Memory Area). В области стандартной памяти располагаются вектора прерываний, часть ядра операционной системы, резидентные программы, драйверы. В эту же область загружаются запущенные на выполнение программы. В результате оптимизации нам было бы желательно максимально расширить пространство, доступное программам, переместив ядро операционной системы, драйверы и резидентные программы в расширенную память.
  • Expanded Memory (EMS) — дополнительная память практически не используется в программах времён MS-DOS 5.0 —  MS-DOS 6.22. Запуск более древних программ мы вряд-ли будем рассматривать (если возникнет такая необходимость — мы знаем, что делать).
  • Для увеличения быстроты загрузки и работы программ и игр можно использовать электронный диск ( RAMDRIVE.SYS) либо кэширование дисковой памяти (SMARTDRV.SYS). Однако более предпочтительным и удобным способом увеличения производительности дисковой подсистемы компьютера является кэширование. Кэширование увеличивает скорость работы с файлами, расположенными на всех дисках. Вам не надо заботиться о том, чтобы наиболее часто используемые файлы находились на электронном диске.

Ну что же, работа MS DOS памяти рассмотрена! Читаем следующую статью цикла и вносим изменения в AUTOEXEC.BAT и CONFIG.SYS. Наша цель —  настройка MS DOS 6.22 для DOS игр.


Комментировать

Ваш e-mail не будет опубликован. Обязательные поля помечены *