0

В каком году проблема 2000

Проблема 2000 года (часто она обозначается как «проблема Y2K» или «Y2K-совместимость» (аббревиатура: Y — year (год), 2, K — kilo (1000 в СИ)) — проблема, связанная с тем, что разработчики программного обеспечения, выпущенного в XX веке, иногда использовали два знака для представления года в датах, например, 1 января 1951 года в таких программах представлялось как «01.01.51».

Некоторые вычислительные машины имели уже аппаратную обработку даты, однако две цифры от 0 до 9 (т. е. вместо 4 цифр "1951" хранились и обрабатывались только 2 цифры "51", см. подпись ко второй картинке справа). При наступлении 1 января 2000 года при двузначном представлении года после 99 наступал 00 год, что интерпретировалось многими старыми программами как 1900 год (или же 0 год), а это, в свою очередь, могло привести к серьёзным сбоям в работе критических приложений, например, систем управления технологическими процессами и финансовых программ.

Проблема 2000-го года была вызвана, в том числе, использованием старых программ, что не предполагалось во время их разработки. Известны многочисленные случаи использования в конце 1990-х годов программ начала 1980-х годов.

Сложность была ещё и в том, что многие программы обращались к вычислению дат вперёд (например, составление плана закупок или любое другое планирование вперёд). Так что для многих программ планирования и прогнозирования «Проблема 2000 года» наступала раньше, чем эта проблема касалась самого компьютера и текущей системной даты компьютера [1] . Особенно это касалось западных стран, где финансовый год начинается осенью.

По некоторым оценкам экспертов [ кого? ] общий объём мировых инвестиций, потраченный на подготовку к 2000 году, составил около 300 миллиардов долларов [2] .

Содержание

Проблема в России [ править | править код ]

В России на государственном уровне работы по разрешению этой проблемы были развёрнуты в соответствии с распоряжением правительства от 30 мая 1998 года. Государственному комитету РФ по связи и информатизации была поручена координация работ по решению Проблемы 2000 года в федеральных органах исполнительной власти и органах исполнительной власти субъектов РФ. Во всех регионах были созданы Центры компетенции. В процессе анализа ситуации в секторе опасных, экологически вредных и непрерывных производств выявлено более 500 критических объектов, потенциально подверженных негативному влиянию «Проблемы 2000». Распоряжением правительства от 21 января 1999 года создана правительственная комиссия по «проблеме 2000». 26 марта 1999 года комиссия утвердила «Национальный план действий по решению „Проблемы 2000“ в Российской Федерации».

Критика [ править | править код ]

Относительно «Проблемы Y2K» существуют две точки зрения. Согласно одной, было предотвращено огромное количество больших и малых сбоев, благодаря своевременному обнаружению проблемы, хорошо проведённой подготовке и профилактике. Согласно другой точке зрения, проблема была искусственно «раздута» с целью получения прибыли. И в ряде случаев никаких сбоев не произошло бы, поскольку большинство программ, имеющих данную проблему, устарели и практически не использовались. Например, директор Института системного программирования РАН, член-корреспондент РАН В. П. Иванников в интервью PC Week/RE заявил [3] :

Активность по проблеме 2000 года носит скандальный характер, потому что она понятна любому даже непрофессионалу. Имеются бюджетные деньги. На них можно создавать комиссии, слёты, выездные сессии… Здесь замешаны и мистика, и технические проблемы. И не только у нас — в Штатах происходит то же самое, нагнетаются страсти, Пентагон пугает. Халявные деньги, почему бы не урвать? … Есть мистики, есть халявщики, а есть работяги, которые свои программы чистят безо всякого шума.

Анатолий Чубайс, будучи в то время ответственным за стратегические объекты, после встречи Нового года на ядерном объекте, высказал гипотезу, что Билл Гейтс немного преувеличил проблему.

Для компьютерного и офисного оборудования проблема смены тысячелетий заключается в возможной неверной работе модуля Real Time Clock (RTC, Таймер Реального времени), который отвечает за изменение даты и времени, использующегося при работе системы, например, при записи файлов на диск.

Проблема с RTC состоит в том, что изменяются только две последние цифры в написании года, а цифры, указывающие на значение текущего тысячелетия, не изменяются. Хотя модуль и поддерживает все значения, он не поддерживает переход от одного тысячелетия к другому. В результате, когда часы покажут 00:00, 1 Января, 2000 года, системный таймер не сможет переключиться с 1999 года на 2000 , а перейдет с 1999 на 1900 , так как изменяются только последние две цифры.

Непредсказуемым и опасным эффект от этой ошибки может стать потому, что и сама система и все программы работают с учетом того, что время может двигаться только вперед, что естественно, а не назад!

Истоки проблемы 2000 года

Наличием аппаратной "проблемы 2000 года" в компьютерах класса IBM PC мы обязаны двум компаниям — Motorola и IBM. Первой — за то, что ею была создана микросхема аппаратных часов реального времени (RTC — Real-Time Clock) MC146818, не содержащая двух старших разрядов года, а второй — за то, что именно эта микросхема была использована при разработке компьютера IBM PC AT (PC XT и более ранние модели не имели энергонезависимых часов вовсе). В разных вариантах исполнения и под разными названиями (DS1287, КР512ВИ1) эту микросхему или ее модификации производили многие компании. Все эти устройства давным-давно не применяются при разработке новых компьютеров, однако для сохранения программной совместимости архитектура этого таймера полностью повторяется производителями интегрированных чипсетов на протяжении уже почти четверти века. Производители микросхем RTC (а основными на сегодня являются Dallas Semiconductor, Benchmarq Technology, SGS-Thomson и VIA Technologies) выпускают сегодня широчайшую номенклатуру устройств, имеющих полноразрядные счетчики года и коррекцию високосных лет. Однако совместимость — вопрос очень тонкий, и многие производители чипсетов и системных плат предпочитают использовать старую архитектуру, чтобы избежать изменений в BIOS и возможной несовместимости со старым ПО. Делается это с целью полной гарантированной совместимости со старым программным обеспечением.

Читайте также:  Блютуз выключатель света с телефона

Как узнать, есть ли проблема 2000 года?

Но можно обойтись и без специальных тестовых программ.

Проверка ОС

  1. Для выполнения теста желательно загрузить операционную систему до монитора командной строки без каких-либо драйверов и резидентных программ, а также отключить компьютер от локальной сети.
  2. С помощью команд date и time (или предназначенных для этого команд вашей ОС) установить системную дату на 31 декабря 1999 года, а время — на 23:59 (для DOS и Windows это команды date 31-12-1999 и time 23:59).
  3. Проверить правильность установки даты и времени (для DOS и Windows это те же команды без аргументов).
  4. Подождать более одной минуты.
  5. Проверить системную дату еще раз. Если она соответствует 1 января 2000 года, то ваша ОС не имеет "ошибки 2000 года".

Проверка BIOS

  1. Войти в BIOS Setup (здесь надо отметить, что имеется в виду программа Setup, располагающаяся в ПЗУ BIOS, а не внешняя, запускаемая из операционной системы. Если запущена последняя, то на результат теста может влиять сама ОС).
  2. Установить дату на 31 декабря 1999 года и время на 11:59PM (в большинстве BIOS формат времени и даты соответствует американскому).
  3. Подождать более одной минуты, наблюдая за изменением даты. Если она корректно меняется на 1 января 2000 года, то ваша BIOS не содержит "ошибки 2000 года".

Проверка аппаратного таймера (RTC)

  1. Войти в BIOS.
  2. Установить дату на 31 декабря 1999 года и время на 11:59PM.
  3. Выйти из программы Setup с сохранением установок. Выключить компьютер. Подождать более одной минуты, включить компьютер и, не допуская загрузки ОС, войти в BIOS Setup.
  4. Если дата установлена на 1 января 2000 года, то аппаратный таймер вашего компьютера не содержит "ошибки 2000 года".

Проверку можно выполнить и для других "опасных" дат.

Не следует, впрочем, считать, что при правильном выполнении всех этих тестов ваш компьютер неуязвим для "проблемы 2000 года". Не забывайте о возможных ошибках в прочем программном обеспечении. Верно также и обратное: непрохождение некоторых тестов вовсе не означает, что компьютер нужно менять.

Есть ли еще критические даты?

Наиболее критичными и подлежащими обязательному тестированию переходами дат являются следующие:

  • 08.09.1999 — 09.09.1999,
  • 09.09.1999 — 10.09.1999,
  • 31.12.1999 — 01.01.2000,
  • 28.02.2000 — 29.02.2000,
  • 29.02.2000 — 01.03.2000.

Решение проблемы 2000 года

С точки зрения аппаратной части PC проблема 2000 года решается довольно просто. Если микросхема RTC не использует полный формат записи значения года, но при этом BIOS поддерживает запись в полном формате значения года и поддерживает переход из 1999 в 2000 год, то потребуется всего лишь единовременная коррекция даты. Все современные версии BIOS производят такую коррекцию автоматически.

Производителей BIOS немного, поэтому укажем кратко, какие версии их продуктов не имеют проблем с 2000 годом.

AMI BIOS

Все версии AMI BIOS, выпущенные до 15 июля 1995 года корректно воспринимаю даты после 2000 года, но не осуществляют автоматической коррекции. Поэтому в компьютерах, имеющих BIOS этих версий, придется один раз скорректировать дату. Сделать это надо будет уже после наступления 2000 года, например 1 января.

Все версии имеющие дату после 15 июля 1995 года должны автоматически произвести коррекцию. Должны по тому, что некоторые производители системных плат вносят изменения в BIOS, поэтому при возможности лучше проконсультироваться с конкретным разработчиком. Список производителей можно найти в Интернете, на сайте AMI.

Award BIOS

Все версии Award BIOS, выпущенные до 26 апреля 1994 года корректно воспринимаю даты после 2000 года, но не осуществляют автоматической коррекции. Поэтому в компьютерах, имеющих BIOS этих версий, придется один раз скорректировать дату вручную. Сделать это надо будет уже после наступления 2000 года, например 1 января.

Все версии Award BIOS, выпущенные с 26 апреля 1994 года по 31 мая 1995 года не воспринимают даты после 1999 года и требуют переустановки системного времени при каждой перезагрузке системы. Исправленную версию нужно получить у производителя системной платы или, в крайнем случае, обратиться непосредственно в Award Software.

Все версии имеющие дату после 31 мая 1995 года правильно обрабатывают даты после 2000 года и автоматически производят необходимую коррекцию.

Заметим, что версии Award BIOS, выпущенные в период с 31 мая 1995 года по 18 ноября 1996 года могут не пройти тест NSTL, но это не означает, что имеет место проблема 2000 года. Это виноват сам тест NSTL.

Phoenix BIOS

Phoenix BIOS, имеющие версию 4.0 Release 5 и старше корректно воспринимаю даты после 2000 года и автоматически производят переход от 1999 года к 2000 году. Все более ранние версии Phoenix BIOS правильно воспринимают даты после 2000 года, но требуют однократной корректировки даты вручную. Сделать это надо будет уже после наступления 2000 года, например 1 января.

ALi BIOS

Информация от самой компании ALi пока недоступна. Поэтому придется все проверить опытным путем. Достоверно известно только то, что биосы от Acer с версией от 2.0 проблем не имеют.

Некоторые системные платы имеют версии BIOS не обновляемые программно, т.е. не Flash.

Для таких плат их производители выпустили специальные утилиты. Эти утилиты загружаются в оперативную память компьютера и, оставаясь в ней резидентно, производят корректировку даты при переходе к 2000 году. Эту TSR программу нужно запустить один раз, после перехода из 1999 в 2000 год. Эти программы, как и новые версии BIOS можно загрузить бесплатно из Интернета.

Некоторые фирмы предлагают аппаратное решение, исключающее проблему на уровне RTC и BIOS: установку дополнительной платы, содержащей корректно работающие часы реального времени и собственную микросхему BIOS (разумеется, не замещающую BIOS самого компьютера, а добавляющую процедуры работы с новым RTC). Принцип работы этих устройств аналогичен коррекции, применяемой в новых версиях BIOS: перехват обращений к функциям, связанным с датой, проверка ячейки CMOS, содержащей значение века, и ее коррекция при необходимости. Подобные устройства имеет смысл применять в случаях, когда по каким-либо причинам невозможно обновление BIOS, — они не требуют драйверов и устанавливаются в один из слотов системной платы.

Читайте также:  Источники бесперебойного питания переменного тока

Разумеется, такое решение стоит денег. Но гораздо проще и дешевле загрузить бесплатные обновления BIOS из Интернета и, в случае необходимости, произвести ручную корректировку даты.

Если проблема 2000 года так легко решается, то почему такой шум в прессе по этому поводу?

Эта проблема решается легко для аппаратного обеспечения Вашей системы и только для некоторого программного обеспечения. Но существует огромное число баз данных и приложений, например, бухгалтерских, которые используют только 2 цифры для представления значения года. В основном, эти системы используются банками, государственными учреждениями и другими крупными конторами. Именно в этом случае проблема 2000 года может проявить себя в полной мере. Последствия от неподготовленности программ, могут оказаться непредсказуемыми. И если в случае использования их индивидуальными пользователями, ничего страшного произойти не должно, то возникновение проблемы Y2K в массовом масштабе может повлечь за собой значительные потери.

Также много электрического оборудования использует RTC. Опять таки, использование такого оборудования в быту, даже на стыке столетий, вряд ли может вызовать какие-либо серьезные последствия, однако неподготовленное промышленное оборудовании может вызвать прямо или косвенно большие проблемы.

Для поиска решения проблемы для этих систем необходимо потратить много времени и денежных средств, но и то и другое люди тратить не любят. И вместо попыток инвестировать деньги и время для решения этой проблемы большинство пытается закрыть на нее глаза и надеяться на лучшее. Что же, по оценкам западных экспертов Россия сможет справиться с последствиями проблемы Y2K только к середине 2000 года.

Дополнение

Многочисленными тестами установлено, что RTC старого образца имеет одну существенную погрешность: при переходе от 31 декабря 1999 к 1 января 2000 года значение тысячелетия (хранящееся в ячейке с адресом 32h) остается неизменным (19 вместо 20). Все современные BIOS умеют корретно отрабатывать данную ситуацию, и в случае использования программ, которые получают значение даты, используя прерывания BIOS, данная проблема не дает о себе знать. Тем не менее существует потенциальная опасность использования программ, которые получают значение даты путем прямого ("аппаратного") чтения значений из CMOS. В результате может быть получено значение года 1900 вместо 2000. Наиболее неприятным является то, что данная проблема возникает только во включенном состоянии компьютера. Если компьютер в момент перехода дат находился в выключенном состоянии, то BIOS при начальном тесте откорректирует данную проблему. Поэтому необходимо тщательно подбирать материнские платы для систем, работающих в непрерывном режиме (например, серверы различного назначения).

Первый вариант проверки (визуальное наблюдение).

  1. Загрузить компьютер в режиме MS-DOS.
  2. Установить при помощи команды date дату 31 декабря 1999
  3. Установить при помощи команды time время 23:59
  4. Запустить программу CMOS.EXE (18 Кб), и в реальном времени наблюдать изменение (или неизменение) значения в ячейке 32h (Century in BCD). При этом в ячейках с 00h по 09h будет отображаться текущее время.

Второй вариант проверки (специальные тесты)

1. Navratyl Software System Inform v0.42c при тесте BIOS отображает наличие "бага" в RTC и способность BIOS’a его корректировать

2. RTCDATE (программа сертификации по Проблеме 2000) проверяет корректность аппаратного перехода по набору дат, отлавливаает "баг" RTC.

Ну вот, а вы боялись. Дорогие читатели, примите по этому случаю мои сердечные поздравления.

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

С чего все началось

Ошибка 2000 года возникла практически одновременно с появлением вычислительных средств. В то далекое время компьютеры были медленными и ресурсов у них было мало. Поэтому программисты пытались оптимизировать программы, которые они писали, а также увеличить скорость вычислений и сэкономить память. Один из способов достижения этого: записывать дату, используя не четыре цифры, например 1982, а две — 82. При этом и программа работает правильно, и памяти нужно меньше. Да и скорость работы программы возрастает из-за того, что количество операций уменьшается при отбрасывании первых двух чисел в записи года.

Вроде, все правильно, но не совсем. Ошибка может проявиться много лет спустя, а именно в 2000 году, когда дата в «компьютерном» понимании станет «00». При этом внутренние часы компьютера могут вернуться в 1900 год. К сожалению, из-за особенностей программного и аппаратного обеспечения некоторые машины могут интерпретировать дату не только как 1900 год, но и как 1980-й или 1984-й.

Сбои в работе компьютерных систем могли появиться не только 1 января 2000 года, но и с 28 февраля по 1 марта 2000 года. Сбой мог произойти из-за того, что 2000 год является високосным, поэтому даты могли оказаться сдвинутыми.

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

Что конкретно было сделано

Россия

Оказалось, что никаких значительных последствий, таких как взрывы ядерных реакторов, запуск баллистических ракет или серьезные экологические катастрофы, в России так и не произошло.

Была создана правительственная комиссия под управлением вице-премьера, отвечающего за военно-промышленный комплекс, — Ильи Клебанова. Именно эта комиссия отвечала за разработку и реализацию программы устранения Проблемы 2000.

Читайте также:  Гарнитура с голосовым управлением на русском

Стоимость решения Проблемы 2000 года в России, по оценкам российских экспертов, составляет 2-3 млрд. долл. Конечно, таких денег на решение Проблемы 2000 года у России нет.

Для устранения возможных последствий Проблемы 2000 года в России вместо запланированных 28 млн. было выделено всего 8 млн. долл. По информации Министерства обороны, на обновление компьютерных программ, управляющих ядерным арсеналом, было израсходовано 4 млн. долл.

Для сравнения — только правительство штата Техас потратило на обновление программ и компьютерного парка более 280 млн. долл.

Западные эксперты считают Россию, где расположено девять построенных в советскую эпоху атомных электростанций и две тысячи ракет с ядерными боеголовками, одной из стран наибольшего риска с точки зрения Проблемы 2000 года.

Для обеспечения безопасности в военной области был создан временный совместный Центр стратегической стабильности и Y2K. 20 российских офицеров находились в штаб-квартире командования космическими силами США в г. Колорадо-Спрингс. В ее задачу входило предотвратить военный конфликт в том случае, если бы в результате сбоя произошло срабатывание систем оповещения о запуске ракет в какой-нибудь части мира. 2000 российских и 2440 американских ракет с ядерными боеголовками находились под совместным наблюдением в течение трех недель.

На конференции, посвященной Проблеме 2000 года, представитель Министерства обороны генерал-майор Владимир Дворкин заявил: «…для систем управления ядерными ракетами календарных дат не существует».

Для международного контроля атомных станций была открыта горячая линия видеосвязи стоимостью 3 млн. долл., соединяющая антиаварийные центры, расположенные в Вашингтоне и Москве.

Антиаварийный центр (Emergency Operations Center, EOC) — это центр реагирования на кризисные ситуации, связанные с энергетическими инфраструктурами США. В EOC прибыли и российские эксперты, а специалисты США были направлены в Центр Минатома.

По информации, которую сообщил вице-премьер Клебанов, сегодня в России из более чем 200 тыс. компьютеров и вычислительных систем 58 тыс. нуждаются в модернизации. Удалось проверить все энергетические системы, а также атомные электростанции были. Ряд систем в банковской сфере пришлось модернизировать. Это же относится и к телекоммуникациям, и к транспорту.

Представители международного аэропорта Шереметьево-2 и крупнейших авиакомпаний заявили, что абсолютно никаких аварийных ситуаций, связанных с Проблемой 2000, не будет.

По оценкам Правительства США, которое приступило к решению Проблемы 2000 года уже в 1995 году, на эти цели было потрачено более 8,5 млрд. долл. Тестированию и модернизации подверглись все электронные системы во всех областях деятельности, начиная с атомной энергетики и кончая госпиталями. Кроме того, на решение этой проблемы потратили более 100 млрд. долл. частные американские компании. Практически каждая компания разработала решение для своих продуктов, подверженных ошибкам, связанным с 2000 годом. Компании, занимающиеся разработкой ПО, поместили средства тестирования и лечения на свои сайты в Интернете, откуда их можно скачать. Как правило эта услуга предоставляется бесплатно.

«Практически все люди в США знают об ошибке Y2K, и они предпринимают активные действия, чтобы суметь предотвратить сбои», — заявил представитель Белого Дома Джо Локхард.

Объем инвестиций североамериканских компаний связи в решение Проблемы 2000 года составил около 4 млрд. долл. Одна из крупнейших телекоммуникационных компаний US West заявила: «1 января 2000 года солнце будет по-прежнему светить, а телефоны звонить».

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

Американские эксперты из Государственного департамента США проанализировали данные о 196 странах на предмет их готовности к 2000 году и опубликовали этот документ.

Госдепартамент предполагает, что «аварии, связанные с Проблемой 2000, вероятны в системах электроснабжения, теплоснабжения, связи, транспорта, финансов и скорой помощи России». Украина «не готова» и, возможно, будет испытывать проблемы во всех отраслях, где используются компьютеры.

Япония и Германия подготовились к наступлению нового тысячелетия достаточно хорошо.

Европейское Сообщество

Наиболее подготовленными странами стали промышленно развитые Германия и Англия.

Европейские эксперты опубликовали отчет, в котором проанализировали готовность стран Евросоюза и ближайших государств к 2000 году. В нем отражены достижения 50 стран в области преодоления Проблемы 2000 по основным отраслям, включая транспорт, экономику, здравоохранение, водоснабжение, энергетику и связь. В отчет также включены рекомендации по встрече нового тысячелетия.

Стран, где все в порядке и риск «отдельных аварий» под Новый год незначителен, практически нет. В отчете сказано, что в России может отказать оборудование связи и часть аэропортов имеет некоторые Y2K-проблемы.

Документ информирует о возможных сбоях в медицинских диагностических системах Филиппин, электронных платежных системах египетских банков, системах водоснабжения Испании и на ряде мелких и средних предприятий Франции.

Эксперты Европейского Союза по ядерной безопасности, финансовым рынкам и связи встретили Новый год в центре, отслеживающем ситуацию в конце года.

Многие европейские предприятия продлили новогодние каникулы своим сотрудникам и открылись только 4 января.

Общемировые затраты на решение Проблемы 2000

По данным компании Media Group и Software Productivity Research, на решение Проблемы 2000 года во всем мире потрачено около 200 млн. человеко-дней и 500 млд. долл.

Что же реально произошло

К сожалению, мы до сих пор не располагаем полной статистикой того, в каких системах возник сбой. Однако уже можно подвести предварительные итоги. Проблема 2000 года оказалась во многом надуманной. Не было ни серьезных поломок, ни крупных сбоев в работе систем связи, ни запусков ракет, ни взрывов реакторов. Апокалипсиса не случилось. Кто-нибудь жаловался на компьютерные сбои из-за наступления 2000 года?

К сожалению, о сбоях в компьютерных системах России, связанных с Проблемой 2000 года, информации пока нет.

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

admin

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

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

0

В каком году проблема 2000

Проблема 2000 года (часто она обозначается как «проблема Y2K» или «Y2K-совместимость» (аббревиатура: Y — year (год), 2, K — kilo (1000 в СИ)) — проблема, связанная с тем, что разработчики программного обеспечения, выпущенного в XX веке, иногда использовали два знака для представления года в датах, например, 1 января 1951 года в таких программах представлялось как «01.01.51».

Некоторые вычислительные машины имели уже аппаратную обработку даты, однако две цифры от 0 до 9 (т. е. вместо 4 цифр "1951" хранились и обрабатывались только 2 цифры "51", см. подпись ко второй картинке справа). При наступлении 1 января 2000 года при двузначном представлении года после 99 наступал 00 год, что интерпретировалось многими старыми программами как 1900 год (или же 0 год), а это, в свою очередь, могло привести к серьёзным сбоям в работе критических приложений, например, систем управления технологическими процессами и финансовых программ.

Проблема 2000-го года была вызвана, в том числе, использованием старых программ, что не предполагалось во время их разработки. Известны многочисленные случаи использования в конце 1990-х годов программ начала 1980-х годов.

Сложность была ещё и в том, что многие программы обращались к вычислению дат вперёд (например, составление плана закупок или любое другое планирование вперёд). Так что для многих программ планирования и прогнозирования «Проблема 2000 года» наступала раньше, чем эта проблема касалась самого компьютера и текущей системной даты компьютера [1] . Особенно это касалось западных стран, где финансовый год начинается осенью.

По некоторым оценкам экспертов [ кого? ] общий объём мировых инвестиций, потраченный на подготовку к 2000 году, составил около 300 миллиардов долларов [2] .

Содержание

Проблема в России [ править | править код ]

В России на государственном уровне работы по разрешению этой проблемы были развёрнуты в соответствии с распоряжением правительства от 30 мая 1998 года. Государственному комитету РФ по связи и информатизации была поручена координация работ по решению Проблемы 2000 года в федеральных органах исполнительной власти и органах исполнительной власти субъектов РФ. Во всех регионах были созданы Центры компетенции. В процессе анализа ситуации в секторе опасных, экологически вредных и непрерывных производств выявлено более 500 критических объектов, потенциально подверженных негативному влиянию «Проблемы 2000». Распоряжением правительства от 21 января 1999 года создана правительственная комиссия по «проблеме 2000». 26 марта 1999 года комиссия утвердила «Национальный план действий по решению „Проблемы 2000“ в Российской Федерации».

Критика [ править | править код ]

Относительно «Проблемы Y2K» существуют две точки зрения. Согласно одной, было предотвращено огромное количество больших и малых сбоев, благодаря своевременному обнаружению проблемы, хорошо проведённой подготовке и профилактике. Согласно другой точке зрения, проблема была искусственно «раздута» с целью получения прибыли. И в ряде случаев никаких сбоев не произошло бы, поскольку большинство программ, имеющих данную проблему, устарели и практически не использовались. Например, директор Института системного программирования РАН, член-корреспондент РАН В. П. Иванников в интервью PC Week/RE заявил [3] :

Активность по проблеме 2000 года носит скандальный характер, потому что она понятна любому даже непрофессионалу. Имеются бюджетные деньги. На них можно создавать комиссии, слёты, выездные сессии… Здесь замешаны и мистика, и технические проблемы. И не только у нас — в Штатах происходит то же самое, нагнетаются страсти, Пентагон пугает. Халявные деньги, почему бы не урвать? … Есть мистики, есть халявщики, а есть работяги, которые свои программы чистят безо всякого шума.

Анатолий Чубайс, будучи в то время ответственным за стратегические объекты, после встречи Нового года на ядерном объекте, высказал гипотезу, что Билл Гейтс немного преувеличил проблему.

Для компьютерного и офисного оборудования проблема смены тысячелетий заключается в возможной неверной работе модуля Real Time Clock (RTC, Таймер Реального времени), который отвечает за изменение даты и времени, использующегося при работе системы, например, при записи файлов на диск.

Проблема с RTC состоит в том, что изменяются только две последние цифры в написании года, а цифры, указывающие на значение текущего тысячелетия, не изменяются. Хотя модуль и поддерживает все значения, он не поддерживает переход от одного тысячелетия к другому. В результате, когда часы покажут 00:00, 1 Января, 2000 года, системный таймер не сможет переключиться с 1999 года на 2000 , а перейдет с 1999 на 1900 , так как изменяются только последние две цифры.

Непредсказуемым и опасным эффект от этой ошибки может стать потому, что и сама система и все программы работают с учетом того, что время может двигаться только вперед, что естественно, а не назад!

Истоки проблемы 2000 года

Наличием аппаратной "проблемы 2000 года" в компьютерах класса IBM PC мы обязаны двум компаниям — Motorola и IBM. Первой — за то, что ею была создана микросхема аппаратных часов реального времени (RTC — Real-Time Clock) MC146818, не содержащая двух старших разрядов года, а второй — за то, что именно эта микросхема была использована при разработке компьютера IBM PC AT (PC XT и более ранние модели не имели энергонезависимых часов вовсе). В разных вариантах исполнения и под разными названиями (DS1287, КР512ВИ1) эту микросхему или ее модификации производили многие компании. Все эти устройства давным-давно не применяются при разработке новых компьютеров, однако для сохранения программной совместимости архитектура этого таймера полностью повторяется производителями интегрированных чипсетов на протяжении уже почти четверти века. Производители микросхем RTC (а основными на сегодня являются Dallas Semiconductor, Benchmarq Technology, SGS-Thomson и VIA Technologies) выпускают сегодня широчайшую номенклатуру устройств, имеющих полноразрядные счетчики года и коррекцию високосных лет. Однако совместимость — вопрос очень тонкий, и многие производители чипсетов и системных плат предпочитают использовать старую архитектуру, чтобы избежать изменений в BIOS и возможной несовместимости со старым ПО. Делается это с целью полной гарантированной совместимости со старым программным обеспечением.

Читайте также:  Измеритель всего что попадется под руку

Как узнать, есть ли проблема 2000 года?

Но можно обойтись и без специальных тестовых программ.

Проверка ОС

  1. Для выполнения теста желательно загрузить операционную систему до монитора командной строки без каких-либо драйверов и резидентных программ, а также отключить компьютер от локальной сети.
  2. С помощью команд date и time (или предназначенных для этого команд вашей ОС) установить системную дату на 31 декабря 1999 года, а время — на 23:59 (для DOS и Windows это команды date 31-12-1999 и time 23:59).
  3. Проверить правильность установки даты и времени (для DOS и Windows это те же команды без аргументов).
  4. Подождать более одной минуты.
  5. Проверить системную дату еще раз. Если она соответствует 1 января 2000 года, то ваша ОС не имеет "ошибки 2000 года".

Проверка BIOS

  1. Войти в BIOS Setup (здесь надо отметить, что имеется в виду программа Setup, располагающаяся в ПЗУ BIOS, а не внешняя, запускаемая из операционной системы. Если запущена последняя, то на результат теста может влиять сама ОС).
  2. Установить дату на 31 декабря 1999 года и время на 11:59PM (в большинстве BIOS формат времени и даты соответствует американскому).
  3. Подождать более одной минуты, наблюдая за изменением даты. Если она корректно меняется на 1 января 2000 года, то ваша BIOS не содержит "ошибки 2000 года".

Проверка аппаратного таймера (RTC)

  1. Войти в BIOS.
  2. Установить дату на 31 декабря 1999 года и время на 11:59PM.
  3. Выйти из программы Setup с сохранением установок. Выключить компьютер. Подождать более одной минуты, включить компьютер и, не допуская загрузки ОС, войти в BIOS Setup.
  4. Если дата установлена на 1 января 2000 года, то аппаратный таймер вашего компьютера не содержит "ошибки 2000 года".

Проверку можно выполнить и для других "опасных" дат.

Не следует, впрочем, считать, что при правильном выполнении всех этих тестов ваш компьютер неуязвим для "проблемы 2000 года". Не забывайте о возможных ошибках в прочем программном обеспечении. Верно также и обратное: непрохождение некоторых тестов вовсе не означает, что компьютер нужно менять.

Есть ли еще критические даты?

Наиболее критичными и подлежащими обязательному тестированию переходами дат являются следующие:

  • 08.09.1999 — 09.09.1999,
  • 09.09.1999 — 10.09.1999,
  • 31.12.1999 — 01.01.2000,
  • 28.02.2000 — 29.02.2000,
  • 29.02.2000 — 01.03.2000.

Решение проблемы 2000 года

С точки зрения аппаратной части PC проблема 2000 года решается довольно просто. Если микросхема RTC не использует полный формат записи значения года, но при этом BIOS поддерживает запись в полном формате значения года и поддерживает переход из 1999 в 2000 год, то потребуется всего лишь единовременная коррекция даты. Все современные версии BIOS производят такую коррекцию автоматически.

Производителей BIOS немного, поэтому укажем кратко, какие версии их продуктов не имеют проблем с 2000 годом.

AMI BIOS

Все версии AMI BIOS, выпущенные до 15 июля 1995 года корректно воспринимаю даты после 2000 года, но не осуществляют автоматической коррекции. Поэтому в компьютерах, имеющих BIOS этих версий, придется один раз скорректировать дату. Сделать это надо будет уже после наступления 2000 года, например 1 января.

Все версии имеющие дату после 15 июля 1995 года должны автоматически произвести коррекцию. Должны по тому, что некоторые производители системных плат вносят изменения в BIOS, поэтому при возможности лучше проконсультироваться с конкретным разработчиком. Список производителей можно найти в Интернете, на сайте AMI.

Award BIOS

Все версии Award BIOS, выпущенные до 26 апреля 1994 года корректно воспринимаю даты после 2000 года, но не осуществляют автоматической коррекции. Поэтому в компьютерах, имеющих BIOS этих версий, придется один раз скорректировать дату вручную. Сделать это надо будет уже после наступления 2000 года, например 1 января.

Все версии Award BIOS, выпущенные с 26 апреля 1994 года по 31 мая 1995 года не воспринимают даты после 1999 года и требуют переустановки системного времени при каждой перезагрузке системы. Исправленную версию нужно получить у производителя системной платы или, в крайнем случае, обратиться непосредственно в Award Software.

Все версии имеющие дату после 31 мая 1995 года правильно обрабатывают даты после 2000 года и автоматически производят необходимую коррекцию.

Заметим, что версии Award BIOS, выпущенные в период с 31 мая 1995 года по 18 ноября 1996 года могут не пройти тест NSTL, но это не означает, что имеет место проблема 2000 года. Это виноват сам тест NSTL.

Phoenix BIOS

Phoenix BIOS, имеющие версию 4.0 Release 5 и старше корректно воспринимаю даты после 2000 года и автоматически производят переход от 1999 года к 2000 году. Все более ранние версии Phoenix BIOS правильно воспринимают даты после 2000 года, но требуют однократной корректировки даты вручную. Сделать это надо будет уже после наступления 2000 года, например 1 января.

ALi BIOS

Информация от самой компании ALi пока недоступна. Поэтому придется все проверить опытным путем. Достоверно известно только то, что биосы от Acer с версией от 2.0 проблем не имеют.

Некоторые системные платы имеют версии BIOS не обновляемые программно, т.е. не Flash.

Для таких плат их производители выпустили специальные утилиты. Эти утилиты загружаются в оперативную память компьютера и, оставаясь в ней резидентно, производят корректировку даты при переходе к 2000 году. Эту TSR программу нужно запустить один раз, после перехода из 1999 в 2000 год. Эти программы, как и новые версии BIOS можно загрузить бесплатно из Интернета.

Некоторые фирмы предлагают аппаратное решение, исключающее проблему на уровне RTC и BIOS: установку дополнительной платы, содержащей корректно работающие часы реального времени и собственную микросхему BIOS (разумеется, не замещающую BIOS самого компьютера, а добавляющую процедуры работы с новым RTC). Принцип работы этих устройств аналогичен коррекции, применяемой в новых версиях BIOS: перехват обращений к функциям, связанным с датой, проверка ячейки CMOS, содержащей значение века, и ее коррекция при необходимости. Подобные устройства имеет смысл применять в случаях, когда по каким-либо причинам невозможно обновление BIOS, — они не требуют драйверов и устанавливаются в один из слотов системной платы.

Читайте также:  Гарнитура с голосовым управлением на русском

Разумеется, такое решение стоит денег. Но гораздо проще и дешевле загрузить бесплатные обновления BIOS из Интернета и, в случае необходимости, произвести ручную корректировку даты.

Если проблема 2000 года так легко решается, то почему такой шум в прессе по этому поводу?

Эта проблема решается легко для аппаратного обеспечения Вашей системы и только для некоторого программного обеспечения. Но существует огромное число баз данных и приложений, например, бухгалтерских, которые используют только 2 цифры для представления значения года. В основном, эти системы используются банками, государственными учреждениями и другими крупными конторами. Именно в этом случае проблема 2000 года может проявить себя в полной мере. Последствия от неподготовленности программ, могут оказаться непредсказуемыми. И если в случае использования их индивидуальными пользователями, ничего страшного произойти не должно, то возникновение проблемы Y2K в массовом масштабе может повлечь за собой значительные потери.

Также много электрического оборудования использует RTC. Опять таки, использование такого оборудования в быту, даже на стыке столетий, вряд ли может вызовать какие-либо серьезные последствия, однако неподготовленное промышленное оборудовании может вызвать прямо или косвенно большие проблемы.

Для поиска решения проблемы для этих систем необходимо потратить много времени и денежных средств, но и то и другое люди тратить не любят. И вместо попыток инвестировать деньги и время для решения этой проблемы большинство пытается закрыть на нее глаза и надеяться на лучшее. Что же, по оценкам западных экспертов Россия сможет справиться с последствиями проблемы Y2K только к середине 2000 года.

Дополнение

Многочисленными тестами установлено, что RTC старого образца имеет одну существенную погрешность: при переходе от 31 декабря 1999 к 1 января 2000 года значение тысячелетия (хранящееся в ячейке с адресом 32h) остается неизменным (19 вместо 20). Все современные BIOS умеют корретно отрабатывать данную ситуацию, и в случае использования программ, которые получают значение даты, используя прерывания BIOS, данная проблема не дает о себе знать. Тем не менее существует потенциальная опасность использования программ, которые получают значение даты путем прямого ("аппаратного") чтения значений из CMOS. В результате может быть получено значение года 1900 вместо 2000. Наиболее неприятным является то, что данная проблема возникает только во включенном состоянии компьютера. Если компьютер в момент перехода дат находился в выключенном состоянии, то BIOS при начальном тесте откорректирует данную проблему. Поэтому необходимо тщательно подбирать материнские платы для систем, работающих в непрерывном режиме (например, серверы различного назначения).

Первый вариант проверки (визуальное наблюдение).

  1. Загрузить компьютер в режиме MS-DOS.
  2. Установить при помощи команды date дату 31 декабря 1999
  3. Установить при помощи команды time время 23:59
  4. Запустить программу CMOS.EXE (18 Кб), и в реальном времени наблюдать изменение (или неизменение) значения в ячейке 32h (Century in BCD). При этом в ячейках с 00h по 09h будет отображаться текущее время.

Второй вариант проверки (специальные тесты)

1. Navratyl Software System Inform v0.42c при тесте BIOS отображает наличие "бага" в RTC и способность BIOS’a его корректировать

2. RTCDATE (программа сертификации по Проблеме 2000) проверяет корректность аппаратного перехода по набору дат, отлавливаает "баг" RTC.

Ну вот, а вы боялись. Дорогие читатели, примите по этому случаю мои сердечные поздравления.

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

С чего все началось

Ошибка 2000 года возникла практически одновременно с появлением вычислительных средств. В то далекое время компьютеры были медленными и ресурсов у них было мало. Поэтому программисты пытались оптимизировать программы, которые они писали, а также увеличить скорость вычислений и сэкономить память. Один из способов достижения этого: записывать дату, используя не четыре цифры, например 1982, а две — 82. При этом и программа работает правильно, и памяти нужно меньше. Да и скорость работы программы возрастает из-за того, что количество операций уменьшается при отбрасывании первых двух чисел в записи года.

Вроде, все правильно, но не совсем. Ошибка может проявиться много лет спустя, а именно в 2000 году, когда дата в «компьютерном» понимании станет «00». При этом внутренние часы компьютера могут вернуться в 1900 год. К сожалению, из-за особенностей программного и аппаратного обеспечения некоторые машины могут интерпретировать дату не только как 1900 год, но и как 1980-й или 1984-й.

Сбои в работе компьютерных систем могли появиться не только 1 января 2000 года, но и с 28 февраля по 1 марта 2000 года. Сбой мог произойти из-за того, что 2000 год является високосным, поэтому даты могли оказаться сдвинутыми.

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

Что конкретно было сделано

Россия

Оказалось, что никаких значительных последствий, таких как взрывы ядерных реакторов, запуск баллистических ракет или серьезные экологические катастрофы, в России так и не произошло.

Была создана правительственная комиссия под управлением вице-премьера, отвечающего за военно-промышленный комплекс, — Ильи Клебанова. Именно эта комиссия отвечала за разработку и реализацию программы устранения Проблемы 2000.

Читайте также:  Блютуз выключатель света с телефона

Стоимость решения Проблемы 2000 года в России, по оценкам российских экспертов, составляет 2-3 млрд. долл. Конечно, таких денег на решение Проблемы 2000 года у России нет.

Для устранения возможных последствий Проблемы 2000 года в России вместо запланированных 28 млн. было выделено всего 8 млн. долл. По информации Министерства обороны, на обновление компьютерных программ, управляющих ядерным арсеналом, было израсходовано 4 млн. долл.

Для сравнения — только правительство штата Техас потратило на обновление программ и компьютерного парка более 280 млн. долл.

Западные эксперты считают Россию, где расположено девять построенных в советскую эпоху атомных электростанций и две тысячи ракет с ядерными боеголовками, одной из стран наибольшего риска с точки зрения Проблемы 2000 года.

Для обеспечения безопасности в военной области был создан временный совместный Центр стратегической стабильности и Y2K. 20 российских офицеров находились в штаб-квартире командования космическими силами США в г. Колорадо-Спрингс. В ее задачу входило предотвратить военный конфликт в том случае, если бы в результате сбоя произошло срабатывание систем оповещения о запуске ракет в какой-нибудь части мира. 2000 российских и 2440 американских ракет с ядерными боеголовками находились под совместным наблюдением в течение трех недель.

На конференции, посвященной Проблеме 2000 года, представитель Министерства обороны генерал-майор Владимир Дворкин заявил: «…для систем управления ядерными ракетами календарных дат не существует».

Для международного контроля атомных станций была открыта горячая линия видеосвязи стоимостью 3 млн. долл., соединяющая антиаварийные центры, расположенные в Вашингтоне и Москве.

Антиаварийный центр (Emergency Operations Center, EOC) — это центр реагирования на кризисные ситуации, связанные с энергетическими инфраструктурами США. В EOC прибыли и российские эксперты, а специалисты США были направлены в Центр Минатома.

По информации, которую сообщил вице-премьер Клебанов, сегодня в России из более чем 200 тыс. компьютеров и вычислительных систем 58 тыс. нуждаются в модернизации. Удалось проверить все энергетические системы, а также атомные электростанции были. Ряд систем в банковской сфере пришлось модернизировать. Это же относится и к телекоммуникациям, и к транспорту.

Представители международного аэропорта Шереметьево-2 и крупнейших авиакомпаний заявили, что абсолютно никаких аварийных ситуаций, связанных с Проблемой 2000, не будет.

По оценкам Правительства США, которое приступило к решению Проблемы 2000 года уже в 1995 году, на эти цели было потрачено более 8,5 млрд. долл. Тестированию и модернизации подверглись все электронные системы во всех областях деятельности, начиная с атомной энергетики и кончая госпиталями. Кроме того, на решение этой проблемы потратили более 100 млрд. долл. частные американские компании. Практически каждая компания разработала решение для своих продуктов, подверженных ошибкам, связанным с 2000 годом. Компании, занимающиеся разработкой ПО, поместили средства тестирования и лечения на свои сайты в Интернете, откуда их можно скачать. Как правило эта услуга предоставляется бесплатно.

«Практически все люди в США знают об ошибке Y2K, и они предпринимают активные действия, чтобы суметь предотвратить сбои», — заявил представитель Белого Дома Джо Локхард.

Объем инвестиций североамериканских компаний связи в решение Проблемы 2000 года составил около 4 млрд. долл. Одна из крупнейших телекоммуникационных компаний US West заявила: «1 января 2000 года солнце будет по-прежнему светить, а телефоны звонить».

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

Американские эксперты из Государственного департамента США проанализировали данные о 196 странах на предмет их готовности к 2000 году и опубликовали этот документ.

Госдепартамент предполагает, что «аварии, связанные с Проблемой 2000, вероятны в системах электроснабжения, теплоснабжения, связи, транспорта, финансов и скорой помощи России». Украина «не готова» и, возможно, будет испытывать проблемы во всех отраслях, где используются компьютеры.

Япония и Германия подготовились к наступлению нового тысячелетия достаточно хорошо.

Европейское Сообщество

Наиболее подготовленными странами стали промышленно развитые Германия и Англия.

Европейские эксперты опубликовали отчет, в котором проанализировали готовность стран Евросоюза и ближайших государств к 2000 году. В нем отражены достижения 50 стран в области преодоления Проблемы 2000 по основным отраслям, включая транспорт, экономику, здравоохранение, водоснабжение, энергетику и связь. В отчет также включены рекомендации по встрече нового тысячелетия.

Стран, где все в порядке и риск «отдельных аварий» под Новый год незначителен, практически нет. В отчете сказано, что в России может отказать оборудование связи и часть аэропортов имеет некоторые Y2K-проблемы.

Документ информирует о возможных сбоях в медицинских диагностических системах Филиппин, электронных платежных системах египетских банков, системах водоснабжения Испании и на ряде мелких и средних предприятий Франции.

Эксперты Европейского Союза по ядерной безопасности, финансовым рынкам и связи встретили Новый год в центре, отслеживающем ситуацию в конце года.

Многие европейские предприятия продлили новогодние каникулы своим сотрудникам и открылись только 4 января.

Общемировые затраты на решение Проблемы 2000

По данным компании Media Group и Software Productivity Research, на решение Проблемы 2000 года во всем мире потрачено около 200 млн. человеко-дней и 500 млд. долл.

Что же реально произошло

К сожалению, мы до сих пор не располагаем полной статистикой того, в каких системах возник сбой. Однако уже можно подвести предварительные итоги. Проблема 2000 года оказалась во многом надуманной. Не было ни серьезных поломок, ни крупных сбоев в работе систем связи, ни запусков ракет, ни взрывов реакторов. Апокалипсиса не случилось. Кто-нибудь жаловался на компьютерные сбои из-за наступления 2000 года?

К сожалению, о сбоях в компьютерных системах России, связанных с Проблемой 2000 года, информации пока нет.

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

admin

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

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