Программы управления памятью
В первом разделе загружаются утилиты управления памятью. В этом случае команда HIMEM.SYS загружает драйвер расширенной памяти (XMS) DOS. Этот драйвер управляет использованием расширенной памяти, установленной в системе; благодаря ему никакие два приложения не могут использовать одни и те же ячейки памяти одновременно. Эту утилиту управления памятью следует упомянуть в файле CONFIG.SYS первой, перед всеми остальными утилитами управления памятью и драйверами устройств.
Сразу за первым мегабайтом адресного пространства HIMEM.SYS создает также область памяти 64 Кб, называемую верхней областью памяти (high memory area, НМА). Благодаря такой организации с помощью оператора DOS=HIGH порция DOS перемещается из основной памяти в НМА.
Программа EMM386.EXE обеспечивает микропроцессору системы доступ к верхней области памяти (upper memory area, UMA) ОЗУ. Совместно с файлом HIMEM.SYS эта программа позволяет системе экономить основную память, передвигая драйверы устройств и резидентные программы в UMA.
Команду EMM386.EXE также можно использовать для имитации операций режима расширенной памяти с адресами, лежащими за отметкой 1 Мб. Ключ 1024 RAM заставляет драйвер EMM386 открыть доступ к верхней памяти и организовать область размером 1024 байта за меткой первого мегабайта для имитации операций расширенной памяти.
В файле CONFIG.SYS для установки операций расширенной памяти может быть указан и другой модуль управления расширенной памятью, называемый LIM EMS 4.0. Если файл CONFIG.SYS содержит команды загрузки других диспетчеров управления расширенной памятью, в строке EMM386.EXE должен присутствовать ключ NOEMS, не допускающий реализации в режима расширенной памяти при помощи EMM386.EXE. В случае использования этого ключа команда обеспечивает доступ к области верхней памяти, но не допускает к области расширенной памяти. EMM386.EXE распознает целый набор ключей. Дополнительную информацию по ключам можно получить из руководства пользователя MS-DOS или Windows.
Большинство компьютеров используют дополнительное ОЗУ в режиме расширенной (extended), а не расширяемой (expanded) памяти.
Файлы, буферы и стеки
Во втором разделе файла CONFIG.SYS размещаются команды, которые настраивают DOS для операций с дополнительными устройствами и приложениями. Команда files устанавливает количество файлов, которые DOS может поддерживать в любой момент, равным 30. Это минимальное количество, требуемое для загрузки Windows. Команда buffers резервирует 15 блоков адресного пространства ОЗУ под хранение данных во время обмена информацией с дисками. Аналогично, команда stacks устанавливает количество и длину блоков памяти для некоторых специальных операций ОЗУ: 9 стеков по 256 байт каждый.