Вернуться   Компьютерный форум > Блоги > Базаров
Рейтинг: 1.00. Голосов: 2.

Расширенная память

Запись от Базаров размещена 12.07.2015 в 18:08

Что это такое
Другая возможность увеличения размера доступной программам оперативной памяти появилась в 1982 г., когда фирма Intel стала выпускать микропроцессоры Intel-80286. Эти и последующие микропроцессоры (80386, 80486, Pentium и Pentium Pro) обезпечивают совместимость с Intel-8088, но предоставляют и множество других возможностей. В частности, эти микропроцессоры могут непосредственно работать с оперативной памятью большего размера, чем 1 Мбайт. На системной плате компьютеров с этими микропроцессорами может устанавливаться более 1 Мбайта оперативной памяти: теоретически - до 16 Мбайт для компьютеров на основе микропроцессоров Intel-80286 и 80386SX, и до 4 Гбайт для остальных компьютеров.
Однако память с адресами свыше 1 Мбайта в этих микропроцессорах доступна только в так называемом защищенном режиме, в котором не может работать DOS. А в режиме совместимости с Intel-8088, в котором работает DOS - этот режим называется обычным, или реальным (real mode) - программам, как и на IBM PC XT, доступна память только в пределах первого Мбайта. Исключением являются лишь первые 64 Кбайта расширенной памяти (будет рассмотрено далее).
Определение
Часть оперативной памяти сверх первого мегабайта, доступного в реальном режиме, называется расширенной памятью (extended memory).
Использование расширенной памяти
Долгое время расширенную память компьютера можно было использовать только для размещения "электронного диска" или кэш-буфера для диска. Дело в том, что операционная система DOS работает в обычном режиме процессора, поэтому для доступа к расширенной памяти необходимо переключаться из обычного в защищенный режим работы процессора и обратно, что не так-то просто - ведь вся организация памяти в этих режимах совершенно различна. Да и стандарта на то, как обращаться с расширенной памятью, не было, что делало невозможным одновременную работу с расширенной памятью нескольких программ. Однако в середине 80-х годов эти проблемы были решены. Были разработаны стандарт по работе с расширенной памятью (XMS) и реализующие его драйверы расширенной памяти (например, HIMEM.SYS), которые предоставили удобные средства для использования расширенной памяти DOS-программам. Так что теперь большинство программ использует именно расширенную память, а не EMS-память. К числу таких программ относятся Windows 3.1 и Windows 95. Для многих DOS-программ производители указывают, сколько обычной и расширенной памяти им необходимо. Если количество требуемой обычной памяти невелико, то часто указывают лишь общее количество памяти, которое должен иметь компьютер.
Замечание. Расширенная память используется в следующих программах, входящих в MS DOS: в драйвере электронного диска RAMDRIVE, драйвере кэширования дисков SmartDrv и антивирусной программе VSafe. Кроме того, в первые 64 Кбайта расширенной памяти DOS может перемещать практически все свое ядро (будет рассмотрено далее), освобождая обычную память для прикладных программ.
Расширители DOS
DOS была создана для работы в реальном режиме процессора, и DOS-программы тоже должны были работать в реальном режиме процессора. Однако для таких программ расширенная память (кроме ее первых 64 Кбайт) не может использоваться непосредственно, что весьма неудобно. Для обработки данных в расширенной памяти необходимо с помощью запроса к XMS-драйверу переместить блок расширенной памяти в первый Мбайт, то есть в обычную или верхнюю память, там выполнить обработку и затем с помощью запроса к XMS-драйверу переместить этот блок обратно. По существу, при этом расширенная память превращается в некое подобие диска, только очень быстрого.
Более эффективное решение состоит в другом - если сама программа выполняется в защищенном режиме процессора, то расширенная память доступна ей непосредственно. При этом код программы и обрабатываемые данные могут располагаться в любом в любом месте доступной расширенной памяти. А для того, чтобы при этом программа могла пользоваться услугами DOS, многими фирмами (Phar Lap, Borland и др.) были созданы специальные системные программы - расширители DOS (DOS-extenders) - позволяющие вызывать функции DOS из защищенного режима микропроцессора. Поэтому во многих программах, требующих эффективной работы с большими объемами данных - компиляторах, базах данных, играх и т.д., применяются расширители DOS. Примером может служить известная игра DOOM.
Замечание. Разумеется, Windows (начиная с версии Windows / 386 2.0) также включает в себя внутренний расширитель DOS.
Размещено в Без категории
Просмотров 2779 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 13:28. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.