В поисках пропавшей памяти | Composter 2.0
Часто случается так, что операционной системе доступно меньше памяти, чем физически установлено. Эта проблема с завидным постоянством преследует пользователей персональных платформ от первых компьютеров IBM PC до современных 64-битных систем.
Стремление к сокращению сроков и стоимости разработки заставляет системных архитекторов жить одним днем. Так рождаются механизмы адресации памяти, оптимизированные под требования сегодняшнего дня, но практически непригодные к масштабированию. В итоге, требование увеличения объема адресуемой памяти приводит к необходимости все переделывать. В конкурентной борьбе между истинными инженерными шедеврами и вещами, «заточенными» под несовершенный мир, обычно выигрывают вторые, типичными представителями которых являются архитектура x86 и платформа PC.
16-битные системы или как зародилась проблема
Процессор Intel 8088, на основе которого были построены первые IBM PC, используя механизм сегментации, генерировал 20-битный адрес. Таким образом, размер адресного пространства был равен 1 Мегабайт или (2 в степени 20) байт. Из них 640 Килобайт использовалось для оперативной памяти, остальные 384 Килобайта для адресации видео памяти, системного BIOS, модулей расширения BIOS и других ресурсов. Огромное количество программного обеспечения, написанного под операционную систему MS-DOS, использовало 20-битную адресацию. Поэтому не удивительно, что таким программам, при запуске на современных платформах, доступно только 640 Килобайт нижней памяти.
32-битные системы или как повторилась проблема
32-битные процессоры, эра которых началась с Intel 80386, способны адресовать 4 Гигабайта или (2 в степени 32) байт памяти. Как и в случае IBM PC, в адресном пространстве персональной платформы должна быть размещена не только оперативная память, но и ряд других ресурсов, суммарный размер которых, в зависимости от конфигурации может составлять 128-768 Мегабайт. Список этих ресурсов можно увидеть, воспользовавшись, например, диспетчером устройств Microsoft Windows. Именно поэтому, установив 4 Гигабайта и более оперативной памяти, мы увидим, что операционной системе доступно около 3.2 – 3.8 Гигабайт.
64-битные системы и как их оптимизировать
Рассмотрим современную платформу (например Asrock Z77, описанную на сайте upweek.ru), на которой 64-битный процессор теоретически способен обслуживать адресное пространство размером (два в степени 64) байт. Это гигантский размер, поэтому систем, адресующих такое количество памяти, не существует. Реальная разрядность физического адреса зависит от модели процессора. Например, для большинства процессоров Intel это 36 бит, что теоретически позволяет адресовать (2 в степени 36) байт или 64 Гигабайта памяти.
Для того, чтобы теория стала практикой, требуется поддержка и со стороны системной логики. В модельном ряду чипсетов Intel для персональных платформ такая поддержка впервые появилась в серии 955.
Северный мост Intel 82955X принимает от процессора 36-битный адрес и обеспечивает адресное пространство 64 Гигабайт. Максимальный объем оперативной памяти для данного чипсета – только 8 Гигабайт, это обусловлено архитектурой контроллера памяти. Это еще не все. Требуется 64-битная операционная система. Для 32-битной ОС, память, расположенная выше отметки 4 Гигабайта будет недоступна.
Существуют технологии, позволяющие 32-битному процессору получить доступ к памяти размером более 4 GB. Одна из таких технологий – PAE или Physical Address Extension. Но данный аспект не является предметом нашего рассмотрения.
Итак, сформулируем алгоритм. Обнаружив несоответствие в размерах установленной и доступной памяти, полезно получить ответы на следующие вопросы:
- Является ли процессор 64-битным?
- Поддерживает ли чипсет разрядность адреса более 32 бит.
- Является ли операционная система 64-битной?
- Включена ли опция Memory Relocation (или Memory Remap) в настройках BIOS Setup?
Практикум для хакеров
Следуя традиции нашей тестовой лаборатории, изучим вопрос на уровне анализа содержимого регистров чипсета.
Эксперименты будем проводить с платформой Gigabyte GA-965GM—S2, на которую установлено 4GB оперативной памяти. Нам потребуется документ: Intel 965 Express Chipset Family Datasheet. July 2006. DN: 313053-002.К рассматриваемому вопросу имеют отношения два регистра, входящие в состав северного моста системной логики:
TOLUD (Top Of Low Usable DRAM), определяет верхнюю границу оперативной памяти, расположенной в пределах нижних четырех гигабайт адресного пространства. См. пункт 5.1.34 документа.
TOUUD (Top Of Upper Usable DRAM), определяет верхнюю границу оперативной памяти, расположенной выше отметки 4GB. См. пункт 5.1.31 документа.
В нашей тестовой лаборатории была написана небольшая утилита, запускаемая из MS-DOS и визуализирующая карту памяти на основании содержимого регистров чипсета.
Рис 1. Скрин-шот дампа памяти в пределах 32-х битной адресации
Как видим, на данной платформе, 4GB оперативной памяти размещены в адресном пространстве в виде трех диапазонов. Специальные области памяти (Shadow и SMRAM) сейчас не являются предметом нашего рассмотрения.
- Conventional RAM (диапазон от 0 до 638KB) — память, доступная для программ MS-DOS.
- Extended RAM (диапазон от 1MB до 3.2GB) — память, доступная для 32-битных операционных систем. Верхняя граница этого диапазона зависит от содержимого регистра TOLUD.
- Extended RAM >4GB (диапазон от 4GB до 4GB+768MB) — память, доступная только для 64-битных операционных систем. Верхняя граница этого диапазона зависит от содержимого регистра TOUUD.
Рис 2. Скрин-шот дампа памяти за пределами 4 GB пространства
Посмотрим на дамп памяти, расположенной выше отметки 4GB. Это содержимое сразу после загрузки MS-DOS. Интересно, что вопреки традиции, BIOS, не обнулил содержимое данной памяти. Возможно, это связано со законным стремлением разработчиков платформы сократить время выполнения POST-процедуры
PROM, EPROM и ЕEPROM и чем они отличаются.
Базовая система ввода-вывода BIOSБазовая система ввода-вывода BIOS
реферат
PROM (programmable read-only memory — программируемая память только для чтения) — это чип памяти, данные в который могут быть записаны только однажды. В отличие от основной памяти, PROM содержит данные, даже когда компьютер выключен.
Отличие PROM от ROM (read-only memory — память только для чтения) в том, что PROM изначально производятся чистыми, в тот время как в ROM данные заносятся в процессе производства. А для записи данных в чипы PROM, применяются специальные устройства, называемые программаторами.
EPROM (erasable programmable read-only memory — стираемая программируемая память только для чтения) — специальный тип PROM, который может очищаться с использованием ультрафиолетовых лучей. После стирания, EPROM может быть перепрограммирована. EEPROM — по сути, похожа на PROM, но для стирания требует электрических сигналов.
EEPROM (electrically erasable programmable read-only memory — электрически стираемая программируемая память только для чтения) — специальный тип PROM, который может быть очищен электрическим разрядом. Подобно другим типам PROM, EEPROM содержит данные и при выключенном питании компьютера. Аналогично всем другим типам ROM, EEPROM работает не быстрее RAM.
Специальный тип EEPROM, называемый Flash memory или Flash EEPROM, может быть перезаписан без применения дополнительных устройств типа программатора, находясь в компьютере.
Полные настройки BIOS и ошибки.
Above 1 MB Memory Test
при выборе опции «Enabled» в процессе тестирования ОЗУ проверяется область памяти свыше 1 Мб (область памяти XMS — Extended Memory Specification). На это расходуется дополнительное время в процессе загрузки, тем более такой тест является излишним, так как драйвер-менеджер памяти HIMEM. SYS сам осуществляет проверку оперативной памяти и предпочтительнее использовать именно этот тест, так как он работает в реальном рабочем окружении.
BIOS Update
(обновление BIOS). Процессоры семейства P6 (Pentium Pro, Pentium II, Celeron, Xeon) имеют особый механизм, называемый «программируемым микрокодом», который позволяет исправить некоторые виды ошибок, допущенных при разработке и/или изготовлении процессоров, за счет изменения микрокода. Обновления микрокода остаются в BIOS и загружаются в процессор в процессе выполнения инструкций BIOS. Именно поэтому BIOS для материнских плат с указанными выше процессорами необходимо регулярно обновлять. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено.
В «AMI BIOS» была встречена аналогичная опция под названием «CPU MicroCode Updation».
Опция может называться и «Pentium II Microcode».
Boot From LAN First
при установке в «Enabled» BIOS предпримет попытку первоначальной загрузки из сетевого загрузочного модуля, прежде чем пытаться загрузиться с локального носителя.
Boot Sequence
(последовательность начальной загрузки системы). Определяется последовательность опроса накопителей для загрузки операционной системы. Эти устройства обозначаются либо буквами для физических жестких дисков и обычных дисководов, либо названием устройства, например «CDROM» для накопителей CD-ROM. Поддерживаются устройства LS-120, Iomega ZIP, ATAPI CD-ROM, IDE — и SCSI-диски. Может принимать значения:
«A,C» — такой выбор оправдан только для случая загрузки с дискеты и встречается в старых моделях ПК,
«A,C,SCSI»,
«C only»,
«C,A»,
«C,A,SCSI»,
«C,CDROM,A»,
«CDROM,C,A»,
«D,A,SCSI» (предназначено при использовании минимум двух IDE-жестких дисков),
«E,A,SCSI» (аналогично для 3-х дисков),
«F,A,SCSI» (аналогично для 4-х дисков),
«LS/ZIP,C»,
«SCSI,A,C»,
«SCSI,C,A».
В некоторых версиях BIOS опция «Boot Sequence» трансформировалась в несколько самостоятельных опций, естественно с большей возможностью отбора и большей гибкостью. Это выглядит следующим образом:
«First Boot Device»
«Second Boot Device»
«Third Boot Device»
«Boot Other Device»
Параметры могут принимать следующие значения: «Floppy», «HDD-0», «HDD-1», «HDD-2», «HDD-3», «LAN», «SCSI», «LS/ZIP», «CDROM», «Enable», «Disable».
А один из вариантов «AMI BIOS» содержит те же опции, но со значениями «Floppy», «Floptical» (RS 120), «CD ROM», «SCSI Device», «Network», «IDE0», «IDE1», «IDE2», а опция «Try Other Boot Devices» через значение «Yes» дает возможность дополнительного выбора варианта загрузки, если имеющиеся варианты не устраивают пользователя.
Другое название опции — «System Boot Sequence».
Boot Up Floppy Seek
(поиск дисковода при загрузке компьютера). Так можно перевести название этой функции. Но смысл функции значительно шире, поскольку BIOS проверяет, есть ли дисковод для дискет и идет ли речь при этом о 40 — или 80-тидорожечном дисководе. При этом обеспечивается проверка работоспособности дисководов гибких дисков. Поскольку все современные дисководы имеют 80 дорожек (с 1993 года дисководы на 40 дорожек не выпускаются; они поддерживали формат в 360 КБ), то эта функция необязательна. Необходимо заметить, что BIOS не может определить разницу между 720K, 1.2M, 1.44M или 2.88M типами дисководов, т.к все они имеют 80 дорожек. Имеет смысл установить эту опцию в «Disabled» (иначе — «Enabled»), что позволит сократить общее время тестирования ПК после включения.
Другое название опции — «Floppy Drive Seek At Boot».
Boot Up Numlock Status
опция, определяющая, в каком режиме после включения компьютера должна работать дополнительная цифровая клавиатура. Разрешение этого параметра включает индикатор «Num Lock», и цифровая клавиатура генерирует коды цифр и знаков, в противном случае генерируются коды стрелок, «Ins», «Del» и т.д. Может принимать значения:
«On» (иногда «Enabled») — включено,
«Off» (иногда «Disabled») — отключено.
Другое название опции — «System Boot Up Numlock Status».
Режим работы в любой момент времени меняется кнопкой <NumLock>.
Boot Up System Speed
опция выбора тактовой частоты процессора при загрузке. Значение «Low» переводит процессор в режим работы с половинной тактовой частотой и без использования внутренней кэш-памяти. Естественно, что изначально понижается пропускная способность системной шины. Такой режим может потребоваться при работе со старыми программами или платами расширения, а также при возможных проблемах при запуске системы. По умолчанию всегда устанавливается значение «High».
Опция может носить название «System Boot Up CPU Speed».
Boot Virus Detection
(определение вируса в загрузочном секторе). Смысл этого параметра отличается от «Virus Warning» и заключается он в следующем. Если этот параметр запрещен («Disabled»), то до загрузки операционной системы BIOS переписывает загрузочный сектор во флэш-память и сохраняет его там. Но при этом никаких последствий для системы и пользователя не возникает. При установке параметра в «Enabled» BIOS не будет загружать систему с жесткого диска, если содержимое boot-сектора будет отличаться от сохраненного в памяти. При этом система выводит сообщение, и пользователю, далее, предоставляется возможность либо загрузить систему с жесткого диска, либо с дискеты.
Опция может носить название «BootSector Virus Detection».
Daylight Saving
во включенном состоянии («Enabled») эта опция позволяет автоматически добавлять или вычитать один час при весеннем или осеннем переводе времени (последнее воскресенье апреля и аналогично в октябре). Этот параметр можно отключить, если установлена «Windows 9x», самостоятельно регулирующая этот процесс.
Delay IDE Initial
(задержка инициализации IDE-устройства). В данном параметре устанавливается интервал времени (в секундах), в течение которого IDE-устройство не будет опрашиваться BIOS после включения питания. Ненулевое значение параметра рекомендуется устанавливать только в случае применения старых жестких дисков. Не все старые приводы способны достичь номинальной скорости вращения за время, которое при включении ПК проходит до начала тестирования жесткого диска. Опция была введена первоначально в «AMI BIOS» для использования старых накопителей и позднее была оставлена для совместимости.
В различных версиях BIOS могут встретиться абсолютно идентичные функции: «Hard Disk Pre-Delay», «Delay For HDD (Secs)». Хотя при этом могут несколько варьироваться значения параметров: от «0» до «15», от «0» до «30», от «1» до «15» и «Disabled».
Flash BIOS Protection
включение опции запрещает доступ к Flash BIOS вирусам и неопытным пользователям. При этом не может быть произведено обновление содержимого Flash BIOS. Для обновления функцию надо отключить. На некоторых материнских платах функция реализована не в виде опции «BIOS Setup», а в виде перемычки, либо не реализована вовсе. Желательно функцию включить. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено.
Halt On
сразу после включения ПК, во время теста самопроверки POST, при нахождении какой-либо аппаратной ошибки система прекращает загрузку и выводит наименование устройства, вызвавшего сбой. Будет ли произведена остановка, и в каких случаях это произойдет, как раз и определяет параметр команды «Halt On». Возможными параметрами являются:
«No Errors» — POST никогда не прерывает работу, какая бы нефатальная для системы ошибка не была обнаружена (нарушение работы устройства или даже его отсутствие),
«All Errors» — остановка работы при возникновении любой критической, но не фатальной, ошибки. Интегрированная опция,
«All, But Keyboard» — остановка при любой критической ошибке, кроме ошибки клавиатуры,
«All, But Diskette» — аналогично, только с игнорированием ошибок дисководов,
«All, But Disk/Key» — игнорирование ошибок клавиатуры и дисководов.
Опция может носить название «Error Halt».
Hit «Del» Message Display
отключение этой опции не позволит вывести на экран монитора сообщение о том, с помощью какой клавиши возможен доступ к «BIOS Setup» во время загрузки системы. Косвенно эта опция может служить в качестве защитной функции, хотя и весьма сомнительной.
Keyboard
(клавиатура). Значение «Installed» не вызывает вопросов. Если установить «not installed», эта опция укажет BIOS на отмену пpовеpки клавиатуpы во вpемя стаpтового теста, что позволяет пеpезапускать ПК с отключенной клавиатуpой без выдачи сообщения об ошибке теста клавиатуpы. Это может оказаться необходимым при работе файл-сервера, сервера печати, в т. ч. из соображений безопасности.
Аналогичную задачу решает опция «System Keyboard» (AMI BIOS) с параметрами «Present» (по умолчанию) и «Absent».
Memory Test Tick Sound
опция, позволяющая сопровождать тест памяти периодическими звуковыми сигналами. Рекомендуется устанавливать в «Enabled» для озвучивания пpоцесса загpузки и дополнительного подтверждения, в частности, правильности установок «CPU clock speed/ Turbo switch».
Numeric Processor Test
(тест цифрового пpоцессоpа). Речь в данной опции идет о проверке математического сопроцессора (FPU — Floating Point Unit). Хотя эта опция и устарела, но тем не менее парк стареньких ПК еще не исчез бесследно. Устанавливается в «Disabled», если сопроцессор отсутствует (386SX, 386DX, 486SX, 486SLC, 486DLC, более низкие модели). Пpи отключении этого теста сопpоцессоp, если он даже и пpисутствует в системе, не pаспознается и считается отсутствующим.
Processor Number Feature
опция для установки автоматического считывания и вывода информации о встроенном серийном номере процессора Pentium III в BIOS материнских плат, поддерживающих его установку. Для реализации такой возможности, естественно, требуется значение параметра как «Enabled». Во всех остальных случаях устанавливается значение «Disabled». Оно же устанавливается по умолчанию.
Опция может носить название «Processor S/N».
Quick Power On Self Test
(быстрый тест компьютера после включения питания). Разрешение этого параметра приводит к некоторому сокращению времени на начальное самотестирование компьютера (POST), особенно при значительных объемах оперативной памяти. Следует только учесть, что память, например, в этом случае не тестируется, а только проверяется ее размер. Сокращение времени тестирования происходит также за счет пропуска некоторых пунктов проверки. Если при работе ПК возникают какие-либо проблемы, то лучше при его включении осуществлять полный тест. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено (по умолчанию).
«AMI BIOS» может содержать аналогичную опцию под названием «Quick Boot».
RTC Y2K H/W Roll Over
при установке опции в «Enabled» происходит тестирование системы на проблему 2000 года. «Disabled» устанавливается по умолчанию.
Swap Floppy Drive
(перестановка дисководов). Опция, позволяющая «поменять местами» дисководы A: и B: и сделать загрузочным дисковод B: (или наоборот). Опция имеет смысл только при наличии двух дисководов в компьютере и необходимости сделать загрузочным дисковод 5. 25″. При этом дисководы меняются местами только логически, а не физически. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено (по умолчанию).
USB Keyboard Support Via
метод поддержки USB-клавиатуры. Таких методов два: либо поддержка USB-клавиатуры операционной системой на уровне драйверов, либо аппаратное определение через BIOS. Если есть необходимость работы в системе, не поддерживающей USB-шину, то необходимо включить поддержку через BIOS. Может принимать значения:
«OS» — речь идет, например, о «Windows 98»,
«BIOS» — такая установка необходима для той же «MS-DOS».
Video
установка типа видеоадаптера для первичного системного монитора. Хотя вторичный монитор поддерживается и некоторыми ОС, установки в «BIOS Setup» для него отсутствуют. По умолчанию устанавливается «EGA/VGA». Возможны варианты:
«Mono» (Monochrome) — для монохромных видеоадаптеров,
«Hercules» — также для монохромных видеоадаптеров,
«MDA» — для монохромных видеоадаптеров, поддерживающих только текст,
«CGA 80» (Color Graphics Adapter) — для режима 80 колонок,
«CGA 40» (Color Graphics Adapter) — для режима 40 колонок,
«EGA/VGA» (Enhanced Graphics Adapter/Video Graphics Array) — для EGA-, VGA-, SVGA — и PGA-адаптеров мониторов. Последний параметр может называться и «VGA/PGA/EGA».
Опция может иметь название и «Primary Display», а для выбора значений могут быть предложены «Absent» и «VGA, EGA». Вариант с отсутствующим дисплеем также может найти применение, как ни странно, например, в специализированных технологических системах. Во всяком случае, автор с такой ситуацией сталкивался.
Необходимо вспомнить и о применении жидкокристаллических дисплеев. Опция может называться «LCD&CRT», а значения параметра могут быть следующие:
«LCD» (Liquid Crystal Display) — жидкокристаллический дисплей,
«CRT» (Cathode Ray Tube) — дисплей с электронно-лучевой трубкой,
«AUTO» — автоматическое определение устройства,
«LCD&CRT» — объединенный параметр.
Virus Warning
(предупреждение о вирусе). Разрешение этого параметра («Enabled») запрещает любую запись в загрузочный сектор жесткого диска или таблицу разделов (partition table). При попытке изменения этих областей BIOS останавливает систему с выводом на экран монитора соответствующего сообщения, а также звукового сигнала. При этом пользователь может либо pазpешить запись, либо запpетить ее.
Технически эта задача решается следующим образом.
На этапе проведения POST-теста перед входом в процедуру обработки дискового сервиса (INT13h) устанавливается транзитный программный модуль, который анализирует входные параметры функции и детектирует две ситуации: попытку записи в BOOT Sector и попытку форматирования 0-й дорожки. Если система условий выполняется, вместо дисковой операции выдается предупреждающее сообщение и звуковой сигнал. На соответствующем шаге теста выполняется перестановка вектора INT13h на транзитный контролирующий модуль, если в «BIOS Setup» включен данный режим. Данный алгоритм, в зависимости от прошивок, может видоизменяться, но суть останется прежней. Подобным образом BIOS отслеживает ситуацию и при работе операционной системы.
Опция введена для защиты от так называемых boot-вирусов, поражающих загрузочный сектор. Стандартные действия при этом — запуск антивирусных программ, прежде всего с защищенных дискет.
Эта опция должна быть обязательно отключена при форматировании жесткого диска, при вводе команды FDISK/MBR, при инсталляции операционных систем, при использовании администpатоpа начальной загpузки OS/2 (OS/2 Boot Manager), котоpый использует запись в загрузочный сектоp. Кроме того, некоторые диагностические программы при обращении к boot-сектору могут вызвать появление сообщения о «вирусной атаке», что не отражает текущую ситуацию. Применение этой функции не имеет смысла в случае использования SCSI — и ESDI-дисков, поскольку они используют собственный BIOS на контpоллеpе.
Еще одним из возможных вариантов параметра может быть значение «ChipAway», с одной стороны это значение — аналог «Enabled», с другой — это один из вариантов встроенного антивируса. При старте машины выводится надпись «ChipAway Virus Enabled», что не должно пугать пользователя.
Опция может называться также «Virus Protection», «BootSector Virus Protection».
Wait for <F1> If Any Error
если опция включена, BIOS будет ожидать нажатия клавиши <F1> для продолжения загрузки в случае какой-либо неисправности на стадии тестирования POST, но только в случае не фатальной ошибки. Если установлено в «Disabled», система выводит пpедупреждение и пpодолжает загpузку без ожидания нажатия клавиши. Рекомендуется устанавливать в «Enabled». «Disabled» может быть рекомендовано для серверных систем.
Weitek Coprocessor
(сопpоцессоp Weitek). Если он имеется в системе, следует установить «Enabled». Интересно, что производительность этого сопроцессора в 2-3 раза превышала производительность стандартных интеловских. Сопроцессор Weitek использует (скорее, использовал) некотоpую часть системного ОЗУ, поэтому память из этой области должна была быть отобpажена где-нибудь в дpугих адpесах. Одна из «древних» опций «AMI BIOS».
Errors
В процессе старта системы и проведения POST-теста возможны различного рода аппаратные ошибки, сопровождаемые параллельным выводом на экран монитора соответствующих сообщений. Некоторые из приведенных ниже сообщений несколько утратили свою актуальность, некоторые просто отсутствуют. Умышленно выведены, например, из этого перечня сообщения об ошибках с EISA — шиной. В остальном, этот материал будет несомненно полезен.
8042 Gate-A20 Error!
линия A20 контроллера клавиатуры (8042) не работает. Заменить контроллер клавиатуры.
Address Line Short!
проблема со схемой декодирования адреса памяти. Имеет смысл перезагрузиться, подождав секунд 30 до повторного включения. Проблема может разрешиться сама собой.
BIOS ROM checksum error — System halted
проверочная сумма при тесте ПЗУ по адресу F0000H-FFFFFH ошибочна. Возможно потребуется восстановление (перепрошивка) микросхемы с Flash BIOS.
Cache Memory Bad, Do Not Enable Cache!
ошибка кэш-памяти. Возможно потребуется замена. Хотя сначала стоит попробовать просто перезагрузиться.
CH-2 Timer Error
ошибка второго таймера. Некоторые системы имеют два таймера.
CMOS battery failed, CMOS Battery Has Failed, CMOS Battery State Low
эти сообщения в начале загрузки компьютера свидетельствуют о неисправности батареи или ее разрядке. Необходимо заменить батарею.
CMOS Checksum Error, CMOS Checksum Failure
неправильная контрольная сумма CMOS, что свидетельствует о повреждении данных в CMOS, возможно из-за сбоя батареи. Если попытка восстановления «BIOS Setup» окажется неудачной, возможно придется обращаться в сервисный центр со своей материнской платой.
CMOS Memory Size Mismatch
объем физической памяти на материнской плате не сходится с тем, что зафиксировалось в CMOS RAM. Необходимо перезапустить «BIOS Setup», проверить все установки. После перезагрузки ПК ошибка может исчезнуть, иначе потребуется замена компонентов материнской платы.
CMOS System Optons Not Set
данные в CMOS повреждены или отсутствуют. Действия пользователя аналогичны вышеприведенным.
CMOS Time and Date Not Set
нарушены или не установлены параметры даты и времени. Задача сводится к проверке или установке этих параметров в «BIOS Setup».
DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER
не найден загрузочный диск. Необходимо загрузиться с дискеты и проверить системные файлы на жестком диске.
Diskette Boot Failure
дискета в дисководе А: не является загрузочной, т.е. невозможно загрузиться с дискеты в процессе запуска ПК. Дискета может не быть загрузочной, либо системные файлы повреждены.
DISKETTE DRIVES OR TYPES MISMATCH ERROR — RUN SETUP
типы дисководов, фактически установленных в системе, и их описания в CMOS не сходятся. Необходимо запустить «BIOS SETUP» и ввести правильные типы дисководов.
DISPLAY SWITCH IS SET INCORRECTLY, Display Switch Not Proper
неправильно выставлен тип монитора (монохромный или цветной). Переставить соответствующий джампер на материнской плате в правильное положение или исправить выбор типа монитора в «BIOS Setup».
DISPLAY TYPE HAS CHANGED SINCE LAST BOOT
изменился тип дисплея со времени последней загрузки. В «BIOS Setup» ввести правильный тип дисплея.
DMA #1 Error, DMA #2 Error
ошибка первого/второго канала DMA. Ошибка может быть вызвана соответствующим периферийным устройством.
DMA Bus Time-out
устройство не отвечает в течении 7,8 мкс. Проблема в платах расширения. Необходимо найти плату, которая вызывает эту ошибку и заменить ее.
DMA Error
ошибка контроллера DMA. Возможна замена материнской платы.
ERROR ENCOUNTERED INITIALIZING HARD DRIVE
не инициализируется жесткий диск. Проверить установку контроллера жестких дисков (для устаревших систем), соединительные кабеля, а также параметры «BIOS Setup».
ERROR INITIALIZING HARD DRIVE CONTROLLER, HDD Controller Failure
ошибка связи с контроллером жестких дисков, контроллер жестких дисков не инициализируется. Проверить установку контроллера, подсоединение дисковода и параметры жесткого диска в «BIOS Setup». Также стоит проверить установку джамперов на жестком диске.
Expansion Board not ready at Slot X
BIOS не может найти плату в слоте номер X. Проверить установку платы в этом слоте.
FDD Controller Failure
ошибка связи с контроллером гибких дисков. Проверить подсоединение дисковода и его разрешенность на мультикарте (для устаревших систем).
FLOPPY DISK CNTRLR ERROR OR NO CNTRLR PRESENT
невозможно инициализировать контроллер гибких дисков. Проверить установку контроллера и параметры дисковода, указанные в «BIOS Setup».
Floppy disk (s) fail
нельзя найти или инициализировать контроллер или сам флоппи-дисковод. Действия аналогичны.
Floppy disk (s) fail (40)
это сообщение в конце теста ПК говорит о возможной ошибке в подключении шлейфа. Непрерывно светящийся индикатор также свидетельствует о неправильном подключении. Ошибка может заключаться и в несоответствии типа флоппи-дисковода, установленного в «BIOS Setup».
Hard disk (s) diagnosis fail
ошибка начальной диагностики жесткого диска.
Hard Disk (s) fail (20)
ошибка инициализации жесткого диска.
Hard Disk (s) fail (40)
ошибка диагностики Hdd-контроллера.
HARD DISK INSTALL FAILURE
нельзя найти или инициализировать контроллер или сам жесткий диск. Действия те же, т.е. проверить все механические установки и подключения, а также правильность установок в «BIOS Setup».
INTR #1 Error, INTR #2 Error
первый/второй канал прерываний не прошел POST. Необходимо проверить устройства, занимающие IRQ 0-7/IRQ 8-15.
Invalid Media in Drive D:
это означает, что жесткий диск еще не разбит на разделы.
I/O Card Parity Error at xxxxx
ошибка по четности по адресу ххххх при проверке отображаемой памяти карты расширения.
K/B Interface Error
ошибка связи с клавиатурой. Проверить подсоединение клавиатуры.
Keyboard Error
ошибка клавиатуры. Проверить подключение клавиатуры и соответствие типа клавиатуры контроллеру. А также необходимо проверить «временные» установки в «BIOS Setup». Можно попытаться отключить тестирование клавиатуры при загрузке.
KEYBOARD ERROR OR NO KEYBOARD PRESENT
ошибка клавиатуры или клавиатура отсутствует. Все действия аналогичны. Необходимо также удостовериться, что во время включения ПК не нажата какая-либо клавиша, а также проверить соответствие наличия клавиатуры и установок в «BIOS Setup»: опция «Halt On», параметр «All, But Keyboard».
Keyboard failure, press [F1] to continue
причиной такого сообщения могут быть неконтакт (обрыв) кабеля клавиатуры, заедание какой-либо наиболее часто используемой клавиши. Но прежде всего необходимо проверить установки опций «Typematic Rate» и «Typematic Delay», так как может иметь место несовместимость установок клавиатуры в «BIOS Setup».
Keyboard is locked… Unlock it, Keyboard is locked out — Unlock the key
необходимо разблокировать клавиатуру. Причиной такого сообщения может быть заедание какой-либо клавиши (или клавиш) или их случайное удержание во время теста.
Memory Address Error at XXXX
ошибка в одном из модулей памяти с указанием конкретного адреса. Возможно требуется замена модуля.
Memory parity Error at XXXX
ошибка контроля четности при тестировании адреса ХХХХ. Если память поддерживает контроль четности, то требуется ее замена.
MEMORY SIZE HAS CHANGED SINCE LAST BOOT
изменился размер памяти со времени последней загрузки. В «BIOS Setup» ввести правильные данные об объемах используемой памяти.
Memory test fail
BIOS сообщает, что при тестировании памяти имелись ошибки.
Memory Verify Error at XXXX
ошибка при тестировании памяти, точнее при попытке записи по определенному адресу. Если ошибка повторяется, то потребуется замена памяти.
Missing Operation System
это сообщение, как и некоторые другие, не связано с проведением процедуры POST. Вывод этого сообщения («Отсутствует операционная система») говорит, в лучшем случае, об отсутствии или нарушении основных конфигурационных файлов системы, а также о возможных нарушениях таблицы разделов жесткого диска.
OFFENDING ADDRESS NOT FOUND, OFFENDING SEGMENT
это сообщение выводится как конъюнкция (логическое «И») операций проверки «I/O CHANNEL CHECK» и «RAM PARITY ERROR», когда ни одно из устройств, вызвавших проблему, не может быть точно определено.
On Board Parity Error
ошибка контроля четности. Ошибка может быть вызвана соответствующей периферией, занимающей адрес, указанный в сообщении об ошибке.
Override enabled — Defaults loaded
если система не в состоянии загрузиться, используя текущую CMOS-конфигурацию, BIOS перезаписывает ее и устанавливает значения параметров по умолчанию.
PRESS A KEY TO REBOOT
сообщение возникает при обнаружении ошибок и необходимости перезагрузки ПК. Нажать любую клавишу.
Press ESC to skip memory test
предоставляется возможность пропустить полный тест памяти.
PRESS F1 TO DISABLE NMI, F2 TO REBOOT
проблемы с немаскируемыми прерываниями. Возможно ошибка в работе контроллера прерываний. Речь идет об обработчике-заглушке немаскируемого прерывания (Non-maskable Interrupt). Это не один из этапов POST, а процедура, на которую указывает вектор немаскируемого прерывания. Если возник запрос NMI, и не удалось идентифицировать причину NMI, в Port80 выводится этот код, на экран выводится сообщение: «Press F1 to disable NMI, F2 to reboot». И ожидаются действия пользователя по блокированию возникшей проблемы или для перезагрузки.
Primary master hard disk fail, Primary slave hard disk fail
POST определил ошибку в первичном «master»/»slave» IDE-жестком диске.
RAM PARITY ERROR — CHECKING FOR SEGMENT
ошибка контроля четности памяти.
Secondary master hard disk fail, Secondary slave hard disk fail
POST определил ошибку во вторичном «master»/»slave» IDE-жестком диске.
SYSTEM HALTED, (CTRL-ALT-DEL) TO REBOOT…
обозначает остановку процесса загрузки. Необходимо перезагрузить ПК с помощью одновременного нажатия трех указанных клавиш. Возможно, ошибка исчезнет.
Chipset
Chipset Special Features
(специальные возможности чипсета). Данный параметр разрешает/запрещает все новые функции, появившиеся в 430-х наборах Intel (HX, VX или TX) по сравнению с FX. Если установлено «Disabled», чипсет функционирует как 82430FX. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено.
Delayed Transaction
(задержанная транзакция на PCI). Присутствие этого параметра в BIOS означает, что на материнской плате есть встроенный 32-битный буфер с задержанной записью для поддержки удлиненного цикла обмена на PCI-шине. Если этот параметр разрешен, то доступ к шине PCI разрешен во время доступа к 8-разрядным устройствам на шине ISA. Это существенно увеличивает производительность системы, так как цикл такого обращения на ISA-шине занимает 50-60 тактов шины PCI. Если компьютер укомплектован материнской платой, не поддерживающей спецификацию PCI 2.1, этот параметр следует запретить, поскольку данная опция включает режим совместимости со спецификацией PCI версии 2.1 с одновременным включением в «северном» мосте упомянутого выше специального буфера. Может принимать значения:
«Enabled» — разрешено,
«Disabled» — запрещено.
Опция может называться также «PCI Delayed Transaction», «Delayed Transaction Optimization» или «Delayed Transaction Timer» с теми же значениями (включено/отключено).
Gate A20 Option
(вариант включения линии A20). Параметр позволяет управлять способом включения адресной линии A20, которая отвечает за доступ к памяти, физические адреса которой превышают 1 Мбайт. Стоит напомнить, что 20-разрядная адресная шина позволяет адресоваться в пределах первого мегабайта памяти. Если быть более точным, то эта линия отвечает за доступ к первым 64 килобайтам верхней памяти, известным как область HMA (High Memory Area). Доступ к HMA требует управления специальным аппаратным узлом, работа которого может быть блокирована или активизирована. При установке опции «Gate A20 Option» в состояние «FAST» работа линии как раз и будет контролироваться специальным набором микросхем на системной плате. Если линия А20 деблокирована, то HMA-область доступна для любой программы, работающей в реальном режиме. Обычно эта область памяти отдается под MS-DOS, а для деблокирования линии используется драйвер HIMEM. SYS.
На старых машинах контролем A20 занимался контроллер клавиатуры, теперь это переложено на системную логику. Но есть категория пользователей, использующих старое программное обеспечение. Для таких и предназначена эта опция. Это означает, что наличие такой опции связано с совместимостью со старым ПО. Необходимо также отметить, что некоторые драйверы MS-DOS, например VDISK. SYS, могут блокировать линию А20, входя в конфликт с драйвером HIMEM. SYS. С другой стороны установка опции в «FAST» может значительно повысить производительность системы под «OS/2» и «Windows». Может принимать значения:
«Fast» — управление осуществляется чипсет, что повышает скорость работы,
«Normal» — управление осуществляется через контроллер клавиатуры.
|
Распределение памяти
Второй способ реализуется, когда процессор переключается в защищенный режим и использует линейную модель памяти. Для разных поколений процессоров имеются некоторые различия, но надо учитывать, что современный процессор считает, что физическая память не имеет сегментации. Основная часть ОЗУ (в пределах первого мегабайта, от 0 до начала видеопамяти) размером в 640 Кбайт называется стандартной памятью (Conventional Memory). Она используется для размещения кода программ, запущенных пользователем или операционной системой. В ней также хранятся различные данные, необходимые для работы программ. Между верхней границей стандартной памяти и до конца первого мегабайта существует область UMA (Upper Memory Area) размером 384 Кбайт, в которой расположены видеопамять, адресное пространство ПЗУ видеоадаптера и BIOS (а также ПЗУ других внешних устройств). Это пространство между верхней границей ПЗУ видеоадаптера и до начала BIOS, т. е. от С8000h до F0000h, у стандартного персонального компьютера почти всегда не занято. Чтобы использовать свободную часть этой памяти, например для размещения кода операционной системы, используют драйвер EMM386. EXE. Соответственно, надо указать в файлах AUTOEXEC.BAT и CONFIG.SYS, что пользователь разрешил использовать эту память. Оперативная память за пределами 1 Мбайт и до верхней границы адресуемой памяти имеет название XMS (extended Memory Specification). Процессор, работающий в реальном режиме, обратиться к этой памяти может только используя метод EMS (Expanded Memory Specification). Суть метода в том, что в области UMA выделяется окно размером 64 Кбайт, разделенное на четыре страницы по 16 Кбайт. Специальный драйвер отображает произвольный кусочек физической памяти на эти страницы, из-за чего, кстати, эту память еще называют «отображаемой памятью». |
|
Структура памяти и карта памяти
Структура памяти и карта памяти
Обзор схемы памяти:
В результате конструктивных решений, принятых в самых ранних ПК, память разбит на следующие четыре основные части (некоторые части делится дальше):
- Обычная память: Первые 640 КБ системной памяти — это (не)известные обычная память, которую каждый пользователь ПК со временем привык и ненавидит. Это область, доступная для использования стандартными программами DOS, наряду с со многими драйверами, резидентными программами и почти всем, что имеет работать под стандартным DOS. Он находится по адресам от 00000h до 9.FFFFч.
- Верхняя область памяти (UMA): Это верхние 384 КБ первого мегабайт системной памяти (сразу больше обычной памяти). это зарезервировано для использования системными устройствами и для специальных целей, таких как ПЗУ теневое копирование и драйверы. Он использует адреса от A0000h до FFFFFh.
- High Memory Area (HMA): Это первые 64 КБ (менее 16 байт) второй мегабайт системной памяти. Технически это первые 64 КБ расширенная память, но доступ к ней возможен, когда процессор находится в реальном режиме, что отличает его от остальной части расширенной памяти. Это обычно используется для DOS, чтобы сохранить больше обычной памяти. Он занимает адреса от 100000h до 10FFEFh.
- Расширенная память: Это вся память выше верхней области памяти до конца системной памяти. Используется для программ и данных при использовании операционная система, работающая в защищенном режиме, например любая версия Окна. Расширенная память находится от адреса 10FFF0h до последнего адреса системной памяти. (Технически верхняя область памяти является частью расширенной памяти, все зависит от того, как вы смотрите на вещи).
Карта памяти
После того, как BIOS передаст управление загрузочному сектору, первый мегабайт памяти выглядит так:
Адрес | Размер | Имя |
0x0000:0x0000 | 1024 байта | Таблица векторов прерываний |
0x0040:0x0000 | 256 байт | БИОС Область данных |
0x0050:0x0000 | ? | Свободная память |
0x07C0:0x0000 | 512 байт | Код загрузочного сектора |
0x07E0:0x0000 | ? | Свободная память |
0xA000:0x0000 | 64 Кб | Графическая видеопамять |
0xB000:0x0000 | 32 Кб | Монохромная текстовая видеопамять |
0xB800:0x0000 | 32 Кб | Цветная текстовая видеопамять |
0xC000:0x0000 | 256 КБ 1 | Память кодов ПЗУ |
0xFFFF:0x0000 | 16 байт | Еще БИОС данные |
Вот еще подробный версия карты памяти.
Полная карта: (из http://my.execpc.com/~geezer/osd/ram/)
диапазон линейных адресов | диапазон адресов в реальном режиме | тип памяти | использование |
---|---|---|---|
0- 3FF | 0000:0000-0000:03FF | ОЗУ | Таблица векторов прерываний реального режима (IVT) |
400- 4FF | 0040:0000-0040:00FF | Область данных BIOS (BDA) | |
500- 9FBFF | 0050:0000-9000:ФБФФ | свободная обычная память (менее 1 мегабайта) | |
9FC00- 9FFFF | 9000:FC00-9000:FFFF | расширенная область данных BIOS (EBDA) | |
А0000- БФФФФ | А000:0000-В000:ФФФФ | видеопамять | Кадровые буферы VGA |
C0000-C7FFF | C000:0000-C000:7FFF | ПЗУ | видео BIOS (стандартный размер 32 КБ) |
C8000- ЭФФФФ | C800:0000-E000:FFFF | НИЧЕГО | |
F0000- FFFFF | F000:0000-F000:FFFF | ПЗУ | BIOS материнской платы (типичный размер 64 КБ) |
100000- FEBFFFFFF | ОЗУ | бесплатно расширенная память (1 Мб и выше) | |
FEC00000- FFFFFFFF | разные | BIOS материнской платы, PnP NVRAM, ACPI и т. д. |
Таблица векторов прерываний начинается с самого начало адреса памяти микропроцессора 00000. (каждый вектор прерывания представляет собой указатель, сообщающий микропроцессору место, где связанный с ним код с прерыванием находится).
Область данных BIOS : Эта область данных BIOS состоит из 256 байтов памяти, начиная с абсолютной памяти. адрес 000400.
Код стандартного VGA Video ROM : C0000 — C7FFF (32K)
Память кода ПЗУ (расширение BIOS) : 0C8000-0F4000.
Системный BIOS : F0000 — FFFFF (64K)
Байты идентификации системы : 0FFFFE — 0FFFFF
Для идентификации системы назначено 2 байта. Они известны как модель . Байт и Байт подмодели . байт модели расположен по абсолютному адресу памяти 0FFFFE (шестнадцатеричный), а подмодель Байт следует за ним.
БАЙТ МОДЕЛИ СИСТЕМЫ БАЙТ ПОДМОДЕЛИ
Модель | Байт модели | Подмодель Байт |
ПК | ФФ | — |
Портативный ПК | ФЭ | 00 |
Модель XT 256 | ФК | 02 |
Модель PS/2 30 | ФА | 00 |
Модель PS/2 60 | ФК | 04 |
Модель PS/2 80 | Ф8 | 01 |
БИОС | Компьютерный мир
Практическое руководство
Том Томпсон
Компьютерный мир |
Базовая система ввода-вывода (BIOS) компьютера — это программа, которая хранится в энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) или флэш-память, что делает ее микропрограммой. BIOS (иногда называемый ROM BIOS) всегда является первой программой, которая запускается при включении компьютера.
Вот что происходит в процессе загрузки (см. шаги на схеме ниже):
Питание включено.
Процессор передает управление BIOS.
BIOS запускает программу под названием Power-On Self Test, которая определяет объем памяти компьютера, а затем подтверждает правильность работы критически важного низкоуровневого оборудования. О любых ошибках сообщает последовательность звуковых сигналов. После этого BIOS отключает все настраиваемые устройства.
BIOS идентифицирует все периферийные устройства компьютера, такие как жесткие диски и карты расширения. Сначала он ищет устройства plug-and-play и присваивает каждому номер, но в настоящее время не включает устройства.
BIOS находит основное загрузочное устройство или устройство начальной загрузки программы (IPL). Обычно это запоминающее устройство, такое как жесткий диск, дисковод для гибких дисков или компакт-диск, на котором находится операционная система, но это может быть и сетевая карта, подключенная к серверу. BIOS также определяет местонахождение всех вторичных устройств IPL системы.
BIOS строит таблицу системных ресурсов, распределяя бесконфликтные ресурсы в соответствии с найденными устройствами и данными конфигурации, хранящимися в энергонезависимой ОЗУ.
Выбирает и включает первичные устройства ввода (клавиатура) и вывода (монитор), чтобы в случае возникновения проблем в процессе загрузки BIOS мог отобразить экран восстановления и позволить пользователю выбрать сохраненную конфигурацию системных настроек, которая известно, что они работают. BIOS фиксирует эти настройки при последней успешной загрузке компьютера и сохраняет их в энергонезависимой оперативной памяти.
Он сканирует устройства, не поддерживающие технологию plug-and-play, включая шину периферийных компонентов (PCI), и добавляет данные из их ПЗУ в свою таблицу ресурсов.
BIOS разрешает конфликты устройств и настраивает выбранное загрузочное устройство.
Он включает устройства plug-and-play, вызывая их дополнительные ПЗУ с соответствующими параметрами.
Запускает загрузчик начальной загрузки. Если по какой-либо причине IPL по умолчанию не загружает операционную систему, BIOS пытается использовать следующее устройство IPL в списке.
Устройство IPL загружает операционную систему в память.
- BIOS передает управление операционной системе, которая может выполнять другие назначения ресурсов.
BIOS также содержит программу установки, с помощью которой пользователь может настраивать аппаратные параметры, такие как пароли для компьютеров, время и дата. Поскольку BIOS настраивает первичное устройство ввода и вывода в процессе загрузки, пользователь может запустить программу установки и настроить параметры устройства, возможно, даже выбрав другое устройство IPL, например второй жесткий диск, когда компьютер не загружается.
Основные изменения в функциях BIOS ПК произошли в 1995 году с появлением Windows 95. Новая операционная система имела функцию plug-and-play, которая не только упростила работу по добавлению плат расширения, но и помогла определить согласованный механизм для пусть BIOS распознает и настроит устройства в системе.
Ранние системы предполагали, что устройству всегда требуются одни и те же ресурсы — например, номер прерывания контроллера диска и диапазон адресов ввода-вывода. Считалось, что они никогда не изменятся или что они статичны по своей природе и поэтому их нужно назначать только один раз.
Однако технология plug-and-play позволяет BIOS изменять номер прерывания и адреса ввода-вывода, используемые контроллером диска, чтобы избежать конфликтов ресурсов.
Благодаря универсальной последовательной шине и соединениям IEEE 1394 устройства можно подключать в горячем режиме. Другими словами, они могут появиться или исчезнуть без предупреждения.
Это означает, что BIOS должен хранить информацию о системных ресурсах для каждого устройства, о котором система когда-либо знала, и делать это динамически, чтобы системные ресурсы, такие как номер прерывания, диапазон адресов или идентификатор устройства, могли быть переназначены без необходимости перезагрузка.
Томпсон является специалистом по обучению в Metrowerks Inc. Свяжитесь с ним по адресу [email protected].
Только для Computerworld Online Exclusive
Обновление BIOS
Когда в компьютер необходимо установить новое аппаратное обеспечение, например жесткий диск большего объема, больше памяти или новую видеокарту, часто обнаруживается, что BIOS компьютера не работает. не поддерживает все возможности нового оборудования. Возможно, самое яркое свидетельство этого произошло, когда размер жестких дисков превысил 4 ГБ, а затем 8 ГБ. В то время вполне можно было установить, скажем, винчестер на 12 ГБ, а потом обнаружить, что компьютер может использовать только первые 8 ГБ.
Решение проблемы — обновить микросхему BIOS. Системы большинства компьютеров, выпущенных в последние годы, можно обновить с помощью программы флэш-памяти, которая устанавливает новые инструкции и возможности. Обычно информация и файлы, необходимые для этого, доступны на веб-сайте производителя компьютера или материнской платы.
К сожалению, очень важно понимать, насколько радикальным может быть шаг обновления BIOS. Прежде чем вы это сделаете, рекомендуется сделать резервную копию всех данных с жесткого диска. Кроме того, посмотрите, есть ли перемычка восстановления, которая позволит вам восстановить исходный BIOS. Хотя обновление BIOS обычно проходит без проблем, процесс может повредить или разрушить микросхему BIOS и, таким образом, сделать компьютер непригодным для использования.
Связанный:
- Компьютеры и периферийные устройства
- Компьютеры
Copyright © 2001 IDG Communications, Inc.
7 неудобных истин о тренде гибридной работы
XMS и другие загадки памяти
XMS и другие загадки памятиРасширенная память и высокая память
История
Когда впервые придумали DOS, доступные тогда микропроцессоры могли адресовать только один мегабайт памяти. Это подготовило почву для будущего DOS, и это, насколько может видеть DOS. Если мы посмотрим на карту памяти компьютера с DOS, мы увидим, что первые 640 КБ этого пространства памяти выделены как обычная память, а 384 КБ выше этой области выделены для различных других целей. Эти другие виды использования включают системное ПЗУ BIOS, видео ОЗУ, любые ПЗУ расширения BIOS на сменных платах и ОЗУ на некоторых адаптерах ввода-вывода. Эта область памяти называется зарезервированной областью памяти.Компьютер AT
У компьютера AT была более крупная адресная шина, и он ввел больше памяти, памяти выше предела в один мегабайт, установленного для DOS чипом процессора 8088, используемым в PC и PC/XT. Чтобы обеспечить совместимость DOS со всем компьютерным оборудованием DOS, DOS никогда не была полностью осведомлена обо всей этой дополнительной памяти, которую она могла использовать.Расширенная память
Первой попыткой сделать больше памяти доступной для приложений DOS была РАСШИРЕННАЯ память, также известная в ее различных формах как память EMS или LIM. Расширенная память была доступна для приложений DOS (но не самой DOS) с помощью диспетчера расширенной памяти, который загружался как драйвер устройства из файла CONFIG.SYS. Расширенная память была доступна только тем приложениям, которые знали об этом, и была бесполезна для самой DOS.LIM означает Lotus, Intel и Microsoft, три крупные компании в области вычислений для DOS, которые объединились в 1985 году, чтобы разработать спецификацию расширенной памяти, которая преодолела бы ограничение в 640 КБ, установленное DOS для прикладного программного обеспечения. Расширенная память использовала схему «подкачки», которая могла перемещать блоки оперативной памяти в «кадр страницы» в области зарезервированной памяти и из него.
Сегодня расширенная память не очень полезна, поскольку все больше и больше современного программного обеспечения предназначено для работы с расширенной или XMS-памятью, а не с расширенной памятью. Предоставление расширенной памяти в старом оборудовании требовало платы EMS, но поскольку микросхемы RAM увеличили емкость, многие производители сделали оборудование таким образом, чтобы часть или вся память выше одного мегабайта (расширенная память) могла использоваться в качестве расширенной памяти через драйвер устройства EMS. . DOS 5 и DOS 6 предоставляют расширенную память с помощью драйвера диспетчера расширенной памяти.
Расширенная память
Память выше установленного DOS предела в один мегабайт называется РАСШИРЕННОЙ памятью и доступна приложениям, которые знают об этом. Расширенная память становится доступной для приложений через DOS с помощью вызова прерывания, INT 15 (hex). INT 15 — это «программное» прерывание, предоставляемое DOS для предоставления расширенной памяти прикладным программам, которые могут ее использовать. Драйвер устройства EMS, загруженный из файла config,sys, использует INT 15 для предоставления расширенной памяти операционным системам и приложениям, которые могут ее использовать.HIMEM.SYS
DOS версии 5 представила альтернативу INT 15, драйвер устройства под названием HIMEM.SYS. Память, доступная через этот драйвер устройства, называется памятью XMS, и теперь большинство приложений запрашивают дополнительную память как память XMS, а не через INT 15. Службы XMS предоставляются путем добавления строки DEVICE=C:\DOS\HIMEM. SYS в конфигурацию. .sys-файл. Когда вы вводите команду DOS MEM, она сообщает об объеме доступной памяти XMS. Эта цифра не будет такой же, как ваш общий объем памяти выше одного мегабайта, потому что часть этой памяти могла быть выделена для HIGH MEMORY и для дублирования ПЗУ BIOS и расширения BIOS в компьютере. Некоторые из них также могли быть выделены для «устройства» дискового кэша, такого как Smartdrv.Область высокой памяти
High Memory Area — это специальный 64-килобайтный блок расширенной памяти, который находится непосредственно над базовым пространством памяти в один мегабайт. Высокая память доступна на компьютерах с процессорами 286, 386 и 486 и доступна для DOS с помощью драйвера устройства HIMEM.SYS.УСТРОЙСТВО=C:\DOS\HIMEM.SYS
DOS может переместиться в эту область, и из-за уловки процессора с адресной строкой A20 DOS будет думать, что эта память расположена в начале нижнего мегабайта памяти. Загрузка DOS в эту область экономит до 64 КБ обычной памяти для использования приложениями.
Процессоры 386 и 486 могут обрабатывать часть расширенной памяти, как если бы она была частью зарезервированной области памяти размером 384 КБ. Этот процесс обеспечивает «острова» ОЗУ, разбросанные среди других видов использования этой области памяти, и они называются старшими блоками памяти (UMB). Эти блоки верхней памяти можно использовать с пользой для хранения драйверов устройств и подпрограмм TSR. Это делает больше обычной памяти доступной для приложений.
Чтобы использовать блоки верхней и верхней памяти, необходимо добавить эти драйверы устройств в файл CONFIG.SYS.
- УСТРОЙСТВО=C:\DOS\HIMEM.SYS
- УСТРОЙСТВО=C:\DOS\EMM386.EXE
- DOS=HIGH, UMB
Объяснение каждой строки выше: —
- Первая строка — это диспетчер расширенной памяти, который заменяет старую подпрограмму DOS INT 15.
- Вторая строка — это драйвер устройства 386, который делает доступными блоки верхней памяти.
- Последняя строка обеспечивает высокую загрузку DOS и позволяет использовать блоки верхней памяти.
У некоторых ранних компьютеров с DOS были проблемы с трюком A20, и в этом случае ключ /MACHINE:n в конце строки HIMEM.SYS обычно решал проблему. Подробности смотрите в руководстве по DOS. Используйте ДОС9.0487 Команда памяти , чтобы узнать, загружена ли DOS с высоким уровнем загрузки.
EMM386.EXE недоступен для компьютеров AT (на базе 286). Эти компьютеры могут использовать High Memory, но не UMB.
В строку EMM386.EXE можно добавить еще несколько параметров. Это включает,
- NOEMS (не выделяйте часть памяти XMS как РАСШИРЕННУЮ память)
- X=aaaa-bbbb (исключить часть зарезервированной памяти, поскольку она используется ПЗУ или ОЗУ в зарезервированной области памяти)
Примером этого является установка некоторых сетевых карт, расширенных контроллеров жестких дисков и интерфейсных карт SCSI. Эти карты иногда имеют ОЗУ или ПЗУ на борту, и вы должны запретить EMM386 использовать эти области памяти для UMB. EMM386 увидит, что шестнадцатеричная область от C0000 до C7FFF используется видеокартой VGA, но может не увидеть другие карты, использующие части шестнадцатеричной области от C8000 до DFFFF зарезервированной памяти. Все платы ввода-вывода, имеющие ОЗУ или ПЗУ в области зарезервированной памяти, имеют перемычки для их настройки на различные адреса в этой области.
Мои предложения по заданиям в этой области:-
- Контроллеры жестких дисков, для которых требуется ПЗУ расширения BIOS — C800-C9FF hex
Та же область, что и для «старого» контроллера XT.
Для некоторых старых расширенных карт контроллера IDE и всех контроллеров с аппаратным кэшированием требуется ПЗУ расширения BIOS. - Если контроллер жесткого диска SCSI используется с загрузочным устройством, то это логичный выбор для его ПЗУ расширения BIOS.
Если интерфейс SCSI используется с загрузочным устройством, для него требуется ПЗУ расширения BIOS. - Сетевая карта — CC00-CDFF hex Это обычное значение по умолчанию для сетевых карт.
Некоторые сетевые карты имеют некоторый объем ОЗУ, которому необходимо выделить место в области зарезервированной памяти.
Если сетевая карта используется в компьютере для предоставления «Бездисковой рабочей станции», сетевой карте требуется загрузочное ПЗУ. - Любая другая карта, для которой требуется место в памяти, может использовать шестнадцатеричный код CE00-CFFF.
Обратите внимание, что эти адреса выражены только как сегмент, а не как сегмент и смещение. Начало ПЗУ на старом контроллере жесткого диска XT — «абсолютное» C8000 и шестнадцатеричное значение C800:0000, выраженное в сегменте и смещении.