|
На
программы ПЗУ, обслуживающие коммуникационный адаптер, среди
прочих, возлагаются также функции оповещения в случае
отсутствия на линии связи сигнала отклика. Если по истечении
определенного промежутка времени такой сигнал не появился, то
коммуникационные программы ПЗУ вырабатывают признак
"тайм-аут". /Тайм-аут - интервал времени, когда одна сторона
принимает определенные меры, если в течение заданного времени
она не получит ответа от другой стороны (Прим.перев.)/. К
сожалению, в результате обычной опечатки программы ПЗУ не
вырабатывают признак "тайм-аут". Ошибка возникла из-за
различий в представлении десятичных и шестнадцатеричных чисел
при записи шестнадцатеричного числа 80Н символ "Н" был
потерян и число воспринялось как десятичное (т.е.
шестнадцатеричное 50). В программе это число (константа)
используется для установки в единичное состояние конкретных
битов; таким образом, вместо установки в единичное состояние
одного бита-признака состояние "тайм-аут" были установлены
два других бита-признака "готовности данных" (условие
обратное "тайм-аут") и "ошибка четности" (свидетельствует о
возможной ошибке в данных).
Следствием этой ошибки является возможность неправильной
работы коммуникационной программы. Если она запрограммирована
без учета ошибки BIOS-ПЗУ, то отсутствие ответа в телефонной
линии будет восприниматься как ошибка четности данных (таким
образом нарушается объективность диагностики).
Следующая ошибка, обнаруженная во второй версии
BIOS-ПЗУ, относилась к программам управления принтером.
Проблема, как и прежде, заключалачь в тестированипи состояния
"тайм-аут". При выполнении какой-либо работы для компьютера
принтер может находиться в состоянии "устройство занято";
возможен также такой режим работы, когда принтер сигнал
ответа не вырабатывает. Управляющая программа BIOS-ПЗУ
тестирует эти режимы, ожидая некоторое время поступления
сигнала ответа. К сожалению, это время было выбрано без учета
наиболее длительной операции, выполняемой принтером -
протяжки бумаги на интервал, равный одной одной странице.
|