Суть проблемы-2000

Только начиная с 80286-модели, IBM добавил работающие от батареи CMOS-часы реального времени (CMOS RTC) и чип памяти. По смыслу это подобно электронным наручным часам с функцией даты, плюс маленькое количество универсальной памяти на том же самом кристалле. Память CMOS содержит критичную настроечную информацию, в которой нуждается PC при загрузке, до того как он сможет обратиться к жесткому диску.

При запуске система считывает значения из часов реального времени и использует их для установки начальных времени и даты в DOS. Это выполняется BIOS (базовой системой ввода-вывода), которая является совокупностью «фирменных» резидентных подпрограмм в ROM (ПЗУ). BIOS обычно является перманентной частью системы, хотя более новые системы позволяют модернизировать BIOS с помощью специальных программ.

Раздел даты кристалла часов реального времени обновляет только 2 последние цифры года, которые прокручиваются с 99 на 00 в конце столетия. Информация о столетии не является частью часов реального времени, для нее просто отведена отдельная ячейка памяти на кристалле, значение которой обычно устанавливается в 19, и должно будет установиться в 20. Часы реального времени (RTC) не обновляют это значение на существующих системах, хотя эта особенность может стать доступной в ближайшем будущем.

На большинстве BIOS, более старших, чем год или два, часы реального времени (RTC) год и столетие читают и передают в DOS как есть, то есть когда год прокручивается с 99 на 00, в DOS передается дата 1900. Более новые BIOS читают 2 цифры года, и если эти цифры — от 00 до 79, то BIOS устанавливает цифры столетия в 20; если же значение года — от 80 до 99, BIOS оставляет цифры столетия не измененными. Правильная дата, таким образом, передается в DOS, а BIOS может также обновить значение века в памяти так, чтобы будущие значения имели правильное столетие без корректировки столетия по двум цифрам года.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Проверка на спам: вставьте пропущенную цифру * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.