Расширенная память (Extended Memory)
Расширенная память (Extended Memory)
Термин Extended memory относится к тому же пространству памяти, которое описано в предыдущем разделе, но обозначает другой способ доступа, а именно, непосредственную работу с его адресами. Такой способ доступа возможен при работе микропроцессора в защищенном режиме (protected-address mode). Напомним, что свое название режим получил потому, что микропроцессор контролирует адреса при любых обращениях к внешним устройствам, в том числе и к оперативной памяти.
Начиная с модели Intel 386, в защищенном режиме микропроцессоры оперируют 32-разрядными адресами, что соответствует пространству в 4 Гбайт или 4096 Мбайт. Это очень большое пространство, для рационального использования и контроля допустимости адресов оно делится на страницы размером по 4 Кбайт. Учитывая, что реальный объем оперативной памяти намного меньше 4 Гбайт, предусмотрен механизм подкачки страниц.
Как и при работе в реальном режиме, адрес ОЗУ состоит из двух частей, одна из которых находится в сегментном регистре, а другая — в индексных регистрах, регистрах указателях или в регистрах общего назначения. Отличие в том, что доступное пространство может быть больше чем 65 536 байтов, но оно всегда ограничено конкретной величиной, иначе будет невозможен контроль адресов. Также изменяется содержимое сегментных регистров (cs, ds, es, fs, gs, ss), в них кроме кода сегмента хранятся его характеристики, необходимые микропроцессору для контроля адресов.
DOS сама не использует и не поддерживает выполнение прикладных задач в защищенном режиме. Тем не менее задача может самостоятельно перевести микропроцессор в защищенный режим, а после выполнения, восстановить реальный режим перед возвратом в DOS. Однако в таком случае в ней придется выполнять много специфических действий, которые обычно возлагаются на операционные системы. Для выполнения таких действий предназначены расширители (DOS extenders), которые подключаются к прикладной задаче и создают на время ее выполнения вычислительную среду, необходимую для работы в защищенном режиме. Наиболее известными из них являются DOS4GW, DOS32A, PMODE/W.
В некоторых случаях DOS и служебные программы все же переключаются в защищенный режим для использования Extended memory. Поэтому BIOS выполняет простейшую форму поддержки работы в защищенном режиме. В данном разделе приведена ее краткая характеристика.