Логическое распределение оперативной памяти в персональных компьютерах (Intel/pc).
Разумеется, речь здесь идёт только о фундаментальных принципах, без рассмотрения ненужных и, зачастую, устаревших подробностей.
Логическое распределение оперативной памяти (рис. 1.6.0.1) определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых компьютеров. Знание строения RAM необходимо для программной оптимизации системы. Оптимизация системы не всегда пропорциональна денежным вложениям в новейшие быстродействующие
Рис.1.
программные продукты. Используя простые уловки и хитрости, можно повысить производительность PC внутрисистемными методами.
Можно выделить пять важнейших логических областей оперативной памяти:
Стандартная оперативная память (Conventional Memory);
EMS (Expanded Memory Specification) – «описание расширений памяти»;
UMA (Upper Memory Area) – «верхняя область памяти»;
HMA (High Memory Area) – «надстройка памяти / высокая, высшая, лучшая, совершенная память»;
XMS (eXtended Memory Specification) – «спецификация продления памяти».
1. Стандартная оперативная память.
Достоверно можно утверждать, что с точки зрения аппаратной спецификации стандартная память является наиважнейшей. Как правило, в ней располагается большая часть прикладных программ и данных.
В литературе Intel/РС для адресации памяти применяется шестнадцатеричная, характеризующаяся наличием символа "h" после значения. Иногда этот символ в литературе по Intel/РС опускается (подразумевается по умолчанию), что создаёт массу неоднозначных толкований.
Стандартная память начинается от адреса 0000h:0000h и продолжается до адреса А000h:0000h.
В пределах этой памяти выше уровня 640 Кб фирмой IBM были зарезервированы 384 Кб для выполнения внутренних функций, которые будут рассмотрены далее. Распределение памяти для Intel/PC, начиная с CPU 80386, показано на рисунке:
Рис. 2.
1.1.Таблица векторов прерываний.
Само название говорит, что речь идет о таблице (состоящей из 256 элементов по 4 байта), в которой находятся вектора прерываний — адреса сервисных программ, входящих в состав операционной системы и BIOS. При этом речь идет о таких базовых функциях, как отображение символа на экране монитора, организация доступа к дисководу или жесткому диску и т. п. Но поскольку существуют различные операционные системы и версии BIOS, эти программы обработки прерываний могут располагаться в различных местах стандартной оперативной памяти. В таблице векторов прерывании указано их реальное местоположение. Таблица начинается с адреса 0000h:0000h и занимает 1024 байта (1 Кб).
1.2. Область данных bios.
Вслед за таблицей прерываний расположена область данных BIOS объемом 768 байт. Здесь размещены: счетчик таймера, буфер клавиатуры и другая внутренняя информация.
1.3. Область для операционной системы.
После области для данных BIOS в стандартной оперативной памяти располагается область для загрузки операционной системы. Конечно, система загружается в RAM не полностью, а только частично (например, ядро DOS, Windows). Часть ядра операционной системы – процессор команд, более известный под именем COMMAND.СОМ. Ядро операционной системы не имеет постоянного адреса памяти. Его местоположение и размер занимаемой ядром памяти зависят от версии операционной системы. Впрочем, имеется возможность перераспределить стандартную память, поместив ядро системы в другие области памяти.