Студопедия — Распределение первого мегабайта памяти компьютера
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Распределение первого мегабайта памяти компьютера






Номер сегмента Сегментный адрес Описание Вид памяти  
220-1     Расширенная память (спецификация eXtended Memory Specification – XMS) XMS  
   
  110000h    
  100000h Высокая память (High Memory Area – HMA)  
F F000h ПЗУ bios Upper Memory Area (UMA) 384 Кбайт  
E   Свободные адреса  
D   Свободные адреса  
C C000h ПЗУ расширений bios  
В B800h Текстовая видеопамять  
B000h Графический видеобуфер  
А A000h  
  9000h     Свободная память для загружаемых прикладных и системных (резидентных) программ (~570 Кбайт) Conventional Memory Area (CMA) 640 Кбайт  
    0070h  
Резидентная часть COMMAND.COM  
  Загружаемые драйверы DOS  
Ядро операционной системы DOS – файлы IO.SYS и MSDOS.SYS  
0050h Область данных DOS (512 байт)  
0040h Область данных BIOS (256 байт)  
0000h Таблица векторов прерываний (1 Кбайт)  

 

Первые 640 Кбайт адресного пространства называются основной или стандартной CMA- памятью и по принципу работы являются памятью с произвольным доступом, допускающей как считывание, так и запись данных (ОЗУ или в англоязычной транскрипции RAM – Random Access Memory). Это та область, которую могли адресовать первые версии DOS. Оставшаяся часть памяти объёмом 384 Кбайт (область верхней памяти – UMA) использовалась видеоадаптером и ПЗУ BIOS. Начальный килобайт памяти занят векторами прерываний (256 векторов по 4 байта). Далее, над таблицей векторов, располагается область данных BIOS, которая занимает объём в 256 байт. В этой области хранятся разнообразные данные, используемые BIOS в процессе управления периферийным оборудованием. Этими данными могут пользоваться и разработчики прикладных программ на ассемблере (см. табл. 2). Начиная с сегментного адреса 0050h, располагается область данных DOS. К некоторым данным этой области (данные не являются документированными) можно обращаться только через посредство программных прерываний. Выше резидентной части командного процессора обычно загружаются необходимые резидентные программы (русификаторы, антивирусные программы). Оставшаяся часть CMA- памяти для загрузки прикладных DOS-программ, как правило, не превышает ~ 500 Кбайт.

Таблица 2

Содержание некоторых полей области данных BIOS

Адрес (offset) Размер, байт Типичное значение Описание
00h, 02h 2+2 03F8h, 02F8 Базовые порты COM1 и COM2
08h   03BCh Базовый порт LPT1
10h   C463h Состав установленного оборудования
13h   0280h=640Кбайт Основная память
17h, 18h 1+1 Первый и второй байты флагов клавиатуры
1Ah   001Eh – 003Ah Головной указатель клавиатурного буфера
1Ch   001Eh – 003Eh Хвостовой указатель клавиатурного буфера
49h   03h Текущий видеорежим
4Ah   50h=80 Ширина экрана
4Ch   1000h=4байта Размер видеостраницы
4Eh     Смещение в видеобуфере текущей видеостраницы
50h   Позиции курсора на каждой видеостранице
60h   0607h Форма курсора
6Ch   Счётчик прерываний системного таймера, 18, 2 Гц
72h   0000h Режим начальной загрузки: 0000h – полный цикл POST, 1234h – укороченный цикл после нажатия Ctrl-Alt-Del
80h   001Eh Адрес начала буфера клавиатуры
F0h -FFh   Нули Область межзадачных связей

 

Блоки верхней памяти UMA различаются как по принципу работы – ОЗУ или ПЗУ, так и по месту расположения в компьютере. Видеопамять (тип OЗУ) – обычно находится в составе видеоадаптера, программы BIOS (тип ПЗУ) – на материнской плате компьютера.

Всё, что выше первого мегабайта, получило название расширенной или XMS- памяти (см. табл. 1). Как уже отмечалось выше, доступ к расширенной памяти осуществляется в защищённом режиме и она не доступна для DOS.

Однако в составе DOS имеются два драйвера, которые позволяют пользоваться XMS- памятью в ограниченном объёме. Первый драйвер Himem.sys разрешает DOS загрузить себя в первый сегмент расширенный памяти, получившей название высокой памяти – High Memory (HMA). Второй – Emm386.exe- может выполнять две альтернативные функции:

– отображение расширенной памяти на свободные адреса верхней UMA- памяти (Expanded memory – EMS),

– загрузку драйверов и резидентных программ DOS (системных и прикладных) из CMA- памяти на свободные адреса верхней памяти UMA.

Указанные функции реализуются посредством модификации конфигурационных файлов Config.sys и Autoexec.bat. В начале файла Config.sys помещаются две строки, осуществляющие загрузку данных файлов (в начале Himem.sys, затем Emm386.exe), затем, в третьей строке, – директиву DOS с параметрами: High и UMB. Параметр High пролонгирует назначение драйвера Himem.sys, UMB – разрешает DOS управлять блоками верхней памяти через посредство драйвера Emm386.exe. Вот, к примеру, как это выглядит для Windows 9x:

........

Device=C: \Windows\Himem.sys

Device=C: \Windows\Emm386.exe Noems

Dos=High, Umb

В конце второй строки добавляется ключевое слово Ram, если требуется реализация от драйвера функции отображения расширенной памяти в umb, или noems – для указанной выше альтернативной функции. В дальнейшем записываются строки, загружающие драйвера (при наличии noems) в верхнюю память с помощью команды Devicehigh. Например:

Devicehigh=C: \Windows\Command\Ansi.sys

При этом загрузка резидентов выполняется в Autoexec.bat командой Loadhigh(Lh). Выполнение подобной работы позволяет освободить CMA- память для загружаемых команд до уровня ~ 600 Кбайт.

Для просмотра памяти можно воспользоваться следующими командами:

Mem/d/p – постраничный просмотр модулей и драйверов всей памяти;

Mem/m: < filename> – вывод подробных сведений об использовании памяти заданным модулем.

При установке на компьютер системы Windows 2000 функция загрузки подсистемы DOS в память HMA, через посредство драйвера Himem.sys, выполняется по умолчанию. Кроме того, драйвер Emm386. exe в этой системе уже не используется, а его функции в файле Config.nt частично выполняет команда Emm. Описание данной команды приведено в виде комментариев в файле Config.nt для Windows 2000.

Рассмотренные выше строчки в Config.nt можно представить в виде:

........

device=%SystemRoot%\system32\himem.sys

Emm=Ram[2]

Dos=High, Umb

Devicehigh=C: \Windows\Command\Ansi.sys

Вообще система Windows 2000 автоматически оптимизирует использование памяти для подсистемы MS-DOS и её программ. Для резервирования за программой DOS определённых объёмов памяти различных типов щёлкните правой кнопкой на значке исполняемого файла программы и выберите из контекстного меню команду Свойства. В окне свойств откройте вкладку Память (рис. 3).

 

Рис. 3. Окно свойств с открытой вкладкой Память

· В рамке Обычная память задаётся необходимый для работы программы объём памяти в Кбайтах (от 0 до 640 Кб.). В раскрывающемся списке Переменные среды задаётся объём памяти (в байтах) для интерпретатора команд Command.com (проявляет себя только при запуске Windows 9x). Установка флажка Защищённый режим препятствует изменению программой установленной структуры и объёма обычной памяти, что защищает систему от зависания в случае ошибок в программе.

· В рамке Отображаемая (EMS) память указывается максимальный объём физической памяти, отображаемой в диапазоне свободных адресов верхней памяти, который может быть выделен программе.

· В рамке Дополнительная (XMS)-память можно установить флажок Использовать HMA для загрузки программы в высокую память, однако если в HMA- память загружена DOS (что более необходимо), положение флажка не играет роли.

· В рамке Память DPMI для защищённого режима MS-DOS задаётся предельный объём памяти DPMI для защищённого режима DOS, который может быть выделен программе (проявляет себя только при запуске Windows 9x).

Для просмотра памяти можно воспользоваться следующими командами:

mem/d– выводит сведения о загруженных программах и внутренних драйверах, а также вывод других сведений о программах (при необходимости используйте постраничный вывод с помощью команды more, например, mem/d|more);

mem/c – выводит сведения о программах, загруженных в обычную память и в верхнюю область памяти, а также итоговые сведения об использовании памяти.







Дата добавления: 2014-11-10; просмотров: 1492. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия