Спецификация XMS

Спецификация дополнительной памяти (eXtended Memory Specification — XMS) разработа на в 1987 году компаниями Microsoft, Intel, AST Corp. и Lotus Development. Она определяет способ, с помощью которого программы получают доступ к дополнительной памяти. Эта спе цификация предназначена для компьютеров с процессорами 286 и последующими и позво ляет программам, работающим в реальном режиме (например, выполняемым под управлением DOS), использовать дополнительную память и еще один блок, обычно недоступный для DOS. До появления XMS не было способа координации работы программ, которые переключа ли процессор в защищенный режим и использовали дополнительную память. Ни одна из про грамм не могла узнать, что делает с дополнительной памятью другая, поскольку она не “видела” этой памяти из своего реального режима. Главным арбитром стал драйвер Himem.sys. Сначала он забирает всю дополнительную память в свое распоряжение, а затем выделяет ее программам, соблюдающим протокол XMS. Благодаря этому некоторые про граммы, использующие XMS, могут работать под управлением DOS одновременно на одном компьютере, периодически переключая процессор в защищенный режим для получения дос тупа к памяти. Протокол XMS запрещает программе доступ к той области памяти, которая используется другой программой. Поскольку среда Windows 3.х является диспетчером про грамм, который при одновременном выполнении нескольких программ переключает процес сор в защищенный режим и обратно, для функционирования Windows требуется XMS. Как правило, Windows 95 работает в защищенном режиме, однако переключается в реальный режим для получения доступа к системным ресурсам. Операционные системы Windows NT, Windows 2000 и OS/2 работают исключительно в защищенном режиме.

Организовать дополнительную память по спецификации XMS можно, загрузив соответствую щий драйвер в файле Config.sys. Наиболее распространенной является программа Himem.sys, которая входит в состав Windows и последних версий DOS (в том числе и DOS 6). Существуют и другие диспетчеры памяти, например QEMM, которые также загружаются как драйверы из файла Config.sys и организуют дополнительную память в соответствии со спецификацией XMS. Опе рационные системы Windows 9х и Windows NT/2000 при переключении в режим MS DOS автома тически предоставляют дополнительную память по спецификации XMS.