Ноутбуки   
   Софт   
   Компьютеры   
   Компьютерные фирмы   
  Меню сайта

BIOS

SSD-накопители

Акустика для ПК

Видеокарты

Видеокарты - История

Джойстики, клавиатуры и мыши

Дигитайзеры

Жесткие диски

Жесткие диски - история

Звуковые карты

Именитые люди компьютерной индустрии

История компьютеров

Карманные компьютеры

Компьютер десктоп - готовая сборка

Компьютерные фирмы

Компьютеры в теории и практике

Копировальные аппараты

Корпуса, вентиляторы, блоки питания

Маршрутизаторы, коммутаторы, хабы

Материнские платы

Модемы

Модули памяти

Мониторы

Мониторы и видеокарты - история

Новости

Ноутбуки и субноутбуки

Оборудование беспроводной связи, bluetooth, wi-fi

Оптические накопители CD, DVD, Blueray

Оргтехника

Память - история

Плоттеры

Принтеры

Процессоры

Процессоры - история

Сетевые карты

Сетевые фильтры, ИБП

Сети

Сканеры

Сменные жесткие диски

Советские ПК

ТВ-тюнеры

Типы компьютеров

Устройства архивации данных и стримеры

Факс

Флоппи-дисководы

Флэшки и всяко-разно

Шины и чипсеты - история




Главная страница Прайс-лист Интернет-магазин

Две версии BIOSа

То, что для IBM/PC используется по крайней мере две различные версии BIOS не является широко известным фактом. В настоящем параграфе мы кратко рассмотрим имеющиеся между нами различия и оценим их применительно к своим нуждам.
В состав пакета программ, записанного на дискету и прилагаемого к настоящей книге, входят две программы копирующие и анализирующие программы BIOS.
Именно с помощью этих программ впервые было обнаружено наличие модифицированных версий ПЗУ компьютеров, факт,который открыто не признавался фирмой IBM. С помощью этих программ можно проверить свою систему и сопоставить свою версию с другими.
Из всех программ, используемых для Вашего компьютера IBM/PC, наиболее совершенными (не содержащими ошибок) должны быть программы, предназначенные для размещения в ПЗУ. Если, например, будет выявлена ошибка в какой-либо версии DOS или VisiCalc, то ее можно устранить путем простой перезаписи дискеты. С программами, записанными в ПЗУ, дело обстоит гораздо сложнее. Их можно записывать только путем замены корпусов микросхем памяти, расположенных на главной плате компьютера IBM/PC; эта операция не может быть произведена силами обычного пользователя. Наличие ошибок в программах ПЗУ представляет собой серьезную проблему для фирмы IBM.
Сама мысль о том, что можно сделать что-либо стоящее, не совершив при этом ни единой ошибки, представляется фантастической и программы ПЗУ в этом смысле не исключение. С момента появления компьютеров IBM/PC, фирма IBM сочла необходимым внести ряд изменений в программы ПЗУ (речь идет о серьезных ошибках), что обусловило появление двух версий ПЗУ. У пользователя может возникнуть вопрос, какой версией оснащен его компьютер и чем эта версия отличается от другой версии.
В самом конце программы BIOS фирма IBM поместила временную отметку, так называемый маркер версии. Этот маркер практически соответствует дате официального завершения разработки программ ПЗУ. Для его отображения на экране можно воспользоваться программой DEBUG. После загрузки программы DEBUG введите команду D F000:FFF5 L 8.
На экране вашего компьютера будет отображена последовательность символов, обозначающая маркер версии: 04/24/81. Маркер второй версии имеет вид 10/19/81. Если будет обнаружен маркер версии, отличной от этих двух, это будет означать, что Вы располагаете версией BIOS-ПЗУ, отличной от указанных выше.
В приложении 6.1 приведен текст программы, проверяющей маркер версии BIOS-ПЗУ, и, в зависимости от его значения, выполняющей те или иные действия. Аналогичные действия на Бейсике можно представить следующим образом:
10 REM вывод на дисплей маркера версии ПЗУ
20 REM программа отображает маркер, не анализируя его
30 REM и не настраивается на версию ПЗУ
40 PRINT
50 DEF SEG=&HFFFF
60 PRINT "Маркер версии ПЗУ;
70 FOR OFFSET=5 то 12
80 PRINT CHR$(PEEK(OFFSET));
90 NEXT OFFSET
Если Ваш компьютер приобретен позже октября 1981, то это еще не означает, что он снабжен последней версией BIOS-ПЗУ. Проверка компьютеров, выпущенных через год после выпуска второй версии BIOS, показывает, что новый, только что собранный компьютер, может иметь первую версию BIOS-ПЗУ.
Вы, вероятно, помните, что ПЗУ IBM/PC содержит две составляющие: Бейсик-ПЗУ и BIOS-ПЗУ. Первое, что было обнаружено с помощью разработанной автором программы, анализа содержимого ПЗУ, это отсутствие различий между первой и второй версиями Бейсик-ПЗУ.
Все ошибки, обнаруженные в Бейсике, были устранены только за счет дисковых версий Бейсика. Важно, чтобы Бейсик-ПЗУ оставался неизменным, поскольку это может отразиться на особенностях выполнения широко распространенных программ, написанных на Бейсике, и никем не поддерживаемых. Возможна ситуация, когда одни и те же Бейсик-программы будут по разному работать на различных машинах только из-за различия в версиях ПЗУ.
Придерживаясь мнения на корректировку исправления Бейсик-программ дискетной версии, фирма IBM обеспечила пользователю возможность отслеживать все изменения, вносимые в язык. Если какая-нибуть программа написана в расчете на оригинальный Бейсик, то следует лишь установить дискету с этой версией Бейсика. Для новых версий Бейсика программа может имитировать модификацию содержимого ПЗУ с помощью методики, описанной в главе 3 при осуждении прерываний.
Все изменения, внесенные в ПЗУ, касались BIOS; ниже мы перечислим их и Вы сможете оценить степень их важности. Если вы располагаете первой редакцией "Руководства по техническому обслуживанию IBM/PC", то можете убедиться в том, что текст BIOS-ПЗУ, приведенный в приложении А, соответствует первой версии ПЗУ, о чем свидетельствует также маркер версии на последней странице: 04/24/81. Вслед за текстом BIOS-ПЗУ приведены некоторые замечания. Первое, третье и пятое замечания касаются некоторых ошибок, найденных в BIOS и исправленных во второй его версии.
Первые три изменения, внесенные в BIOS-ПЗУ, касаются программ самотестирования, автоматически запускающихся после включения питания на IBM/PC. Эти программы выполняют четырнадцать различных тестовых проверок правильности работы оборудования, прежде чем пользователь натворит "дел" на неисправном компьютере.
Тест номер три ( входящий в состав этих программ) осуществляет проверку правильности работы функции таймера контроллера памяти. Два исправления из трех, внесенных в тестовые программы, касаются этой процедуры. (Здесь представляется уместным показать, что программы, подобные BIOS, работающие непосредственно с аппаратурой, отличаются от обычных программ. Корректность функционирования программ тестирования устройств, а также программы BIOS часто зависит от тонкостей функционирования контролируемых устройств. Временные характеристики управляющих сигналов, а также их взаимная согласованность могут оказывать решающее воздействие на факт успешного завершения этих программ. В целом ряде случаев отладка таких программ производится опытным путем - одного логического анализа бывает недостаточно. Вот почему, говоря об изменениях, внесенных в тестовые программы, я не смог сказать ничего определенного о смысле этих изменений).
Одно из изменений, внесенных в программы тестирования, затрагивает сразу три программы. Цель изменения: обеспечение безусловного обновления операций таймера до момента обработки управляющего прерывания видеомонитора. В первой версии этого не делалось.
Не следует огорчаться, если Вам непонятно значение введенных изменений - они практически никак не сказываются на работоспособности правильно функционирующей системы. Остальные изменения (описываются ниже) представляют для Вас большой интерес.
Одно из внесенных изменений представляет интерес прежде всего для тех, кто использует коммуникационный адаптер. На программы ПЗУ, обслуживающие коммуникационный адаптер, среди прочих, возлагаются также функции оповещения в случае отсутствия на линии связи сигнала отклика. Если по истечении определенного промежутка времени такой сигнал не появился, то коммуникационные программы ПЗУ вырабатывают признак "тайм-аут". /Тайм-аут - интервал времени, когда одна сторона принимает определенные меры, если в течение заданного времени она не получит ответа от другой стороны (Прим.перев.)/. К сожалению, в результате обычной опечатки программы ПЗУ не вырабатывают признак "тайм-аут". Ошибка возникла из-за различий в представлении десятичных и шестнадцатеричных чисел при записи шестнадцатеричного числа 80Н символ "Н" был потерян и число воспринялось как десятичное (т.е. шестнадцатеричное 50). В программе это число (константа) используется для установки в единичное состояние конкретных битов; таким образом, вместо установки в единичное состояние одного бита-признака состояние "тайм-аут" были установлены два других бита-признака "готовности данных" (условие обратное "тайм-аут") и "ошибка четности" (свидетельствует о возможной ошибке в данных).
Следствием этой ошибки является возможность неправильной работы коммуникационной программы. Если она запрограммирована без учета ошибки BIOS-ПЗУ, то отсутствие ответа в телефонной линии будет восприниматься как ошибка четности данных (таким образом нарушается объективность диагностики).
Следующая ошибка, обнаруженная во второй версии BIOS-ПЗУ, относилась к программам управления принтером. Проблема, как и прежде, заключалась в тестировании состояния "тайм-аут". При выполнении какой-либо работы для компьютера принтер может находиться в состоянии "устройство занято"; возможен также такой режим работы, когда принтер сигнал ответа не вырабатывает. Управляющая программа BIOS-ПЗУ тестирует эти режимы, ожидая некоторое время поступления сигнала ответа. К сожалению, это время было выбрано без учета наиболее длительной операции, выполняемой принтером - протяжки бумаги на интервал, равный одной одной странице. В первой редакции BIOS-ПЗУ это время было явно меньше требуемого, поэтому в новой версии до момента появления признака "тайм-аут" проходит вдвое большее время.
Вслед за принтером изменения затронули и программы поддержки накопителя на магнитной ленте кассетного типа. Здесь была изменена последовательность выполнения нескольких команд, что привело к небольшому изменению временных характеристик процесса считывания данных. Поскольку в составе IBM/PC накопитель кассетного типа используется весьма редко (т.е. последствия ошибки незначительны), то это изменение относится к разряду несущественных.
Последнее изменение представляет интерес для тех пользователей IBM/PC, которые используют цветной графический адаптер. Не всем известно, что при работе с цветным графическим адаптером в графическом режиме (в отличие от работы в текстовом режиме) символы выводятся на экран в режиме рисования, подобно тому как выводится изображение любого другого объекта графической природы. (Эти вопросы подробно рассматриваются в главе 9, посвященной отображению графических объектов). В ПЗУ предусмотрена специальная таблица, содержащая графические образы символов ASCII с тем, чтобы их можно было вывести как элементы алфавита.
При работе цветного графического монитора в текстовом режиме отображаемые символы генерируются цветным графическим адаптером схемно; в графическом же режиме символы рисуются на экране управляющей программой ПЗУ, использующей табличные образы. Один из этих образов в первой версии BIOS был закодирован с ошибкой, а именно: символ СНR$(4), обозначающий сокровища на колодах для игральных карт, имел одну лишнюю точку снизу. Во второй версии BIOS-ПЗУ эта ошибка устранена.
Ни одна из перечисленных выше ошибок не относится к разряду катастрофических. Наиболее значимая из них влечет за собой неправильное формирование признака "тайм-аут" при работе с асинхронной линией связи, то есть ошибочное описание ситуации, а не ошибочные действия. Редкий пользователь IBM/PC cумеет ее распознать, даже, если знает в чем дело.
Знать о всех изменениях имеет смысл постольку, поскольку нельзя быть уверенным в том, что изменения, затрагивающие особенности работы машинных программ (даже в незначительной степени) всегда должным образом документируются и открыто публикуются. Здесь важен прецедент, дающий основание беспокоиться, что более важные и существенные изменения могут быть осуществлены без ведома пользователей.


Анализ содержимого ПЗУ - метод деассемблирования

Анализ содержимого ПЗУ - реконструкция интерпретатора

Анализ содержимого ПЗУ средствами программы DEBUG

Две версии BIOSа

Дополнительные процедуры системы BIOS

Механизм выборки информации из ПЗУ

Описание специальных прерываний

Организация ПЗУ и его использование

Процедура обслуживания клавиатуры в системе BIOS

Система BIOS в ПЗУ

Служебные процедуры обслуживания дискет системы BIOS в ПЗУ

Средства управления видеотерминалом уровня BIOS-ПЗУ




Немного рекламы:









































































Реклама и информация:













Счётчик Rambler's Top100