Новое тысячелетие уже не за горами
Новое тысячелетие уже не за горами
"Ошибка тысячелетия", или как ее еще называют "Проблема 2000 года", обсуждается уже давно. Первая конференция по этому вопросу состоялась в США в 1995 г., и с тех пор было проведено уже множество аналогичных мероприятий и написано немало статей. Начало нового тысячелетия, как отмечалось, таит в себе такую же угрозу, что и мина замедленного действия, которая должна взорваться в первые минуты 2000-го года. К большому сожалению, это не раздувание страхов и не сеяние паники. Если в оставшееся время (а его уже не так много) не будут приняты необходимые меры, то очень многие программы, исправно работающие в настоящее время, "испортятся" сразу после наступления 2000-го года. Если быть предельно точным, то они просто перестанут показывать правильную дату, что, естественно, сразу скажется на работе многих прикладных систем, зависящих от времени (а к их числу относятся практически все бизнес-приложения).
Причины проблемы
Корни "Проблемы 2000 года" уходят в недалекое прошлое. Все дело в том, что программисты, создававшие используемые сейчас бизнес-приложения, предусмотрели в них только шестизначные поля для даты, в которых на год отводились только две последние цифры. Они справедливо считали, что экономят немалые деньги своих предприятий, ведь еще несколько лет назад дисковое пространство стоило дорого, а сокращение размера поля даты до шести цифр позволяло сберечь миллионы байтов. Кроме того, в то время им было сложно себе представить (ведь все верили в стремительное развитие компьютерных технологий), что создаваемые ими программы доживут и будут широко применяться и в следующем тысячелетии. Теперь же всем предприятиям придется расплачиваться за прошлую экономию.
Но вернемся к теме нашего разговора. Итак, были предусмотрены только шестизначные поля для обозначения даты и на год приходилось только две последние цифры. Например, 1998 год отображается в виде "98", а вследствие этого 2000 год эти программы обозначат двумя нулями и могут воспринять как 1900-й. Это не просто предположение, а совершенно точный прогноз, который означает, что после окончания 1999 и наступления 2000 года, временные даты будут обрабатываться неправильно. На первый взгляд может показаться, что данная проблема незначительна, но в действительности "Ошибка тысячелетия" - один из самых серьезных кризисов, когда-либо угрожавших компьютерной промышленности.
"Пронесет - не пронесет"
"Ошибка тысячелетия" касается не только систем на мэйнфреймах, а всего программного обеспечения предприятий. Не обойдет "Проблема 2000 года" стороной и оборудование. Причем это относится как к мэйнфреймам, так и к сетям, ПК и всем остальным типам аппаратного обеспечения. К критичным следует отнести также и системы безопасности на основе устройств считывания данных с документов, системы наблюдения и домашней охраны, счетчики на автостоянках, а также банковские хранилища. Микропроцессорными чипами оснащены телефонные системы, видеомагнитофоны, считыватели штрих-кода, автоответчики, медицинская техника, промышленное оборудование, гражданская и военная авиационная радиоэлектроника, оборудование по управлению и контролю процессов, системы автоматического пожаротушения и даже кондиционеры воздуха.
Вот вам живой пример. В США имеется 6000 госпиталей, 50 тысяч частных лечебных учреждений и 700 тысяч врачей - и все они стоят перед необходимостью выявить и исправить миллиарды строк ошибочного компьютерного кода, который не сможет правильно функционировать после 31 декабря 1999 г. Не вызывает сомнения, что в основные системы жизнеобеспечения все необходимые исправления будут внесены вовремя. Однако есть и второстепенные системы, которые могут остаться без должного внимания, такие, как компьютеризованные средства ведения медицинских записей или аварийные системы. Может произойти потеря медицинских историй болезни, важной информации о диагнозах и методах лечения.
Или вот еще один пример. Представители компании IBM сделали официальное сообщение Федеральному управлению авиации США (Federal Aviation Administration, FAA), что работа мэйнфреймов IBM 3083, которые повсеместно используются для контроля за перелетами в стране, может остановиться 31 декабря 1999 г. в связи с проблемой перехода к новому тысячелетию. (Машины IBM 3083 играют роль хост-компьютеров, принимающих данные от радаров и преобразующих их в информацию, отображающуюся на дисплеях авиадиспетчеров в 20 управляющих центрах на территории США.) FAA тоже официально заявило, что скорее всего, по их мнению, им удастся найти выход из этой ситуации, но все же пока подготовились к замене всех своих "подозрительных" машин в случае необходимости.
Правительства многих стран серьезно озабочены "Проблемой 2000 года". Ошибки, вызванные неправильной интерпретацией двузначного номера года, могут существенно нарушить работу автоматизированных систем банков, транспортных компаний, социального обеспечения, связи и даже обороны. Знаменитая страховая компания Lloyd оценивает только потенциальные убытки компаний от исков, связанных с последствиями "Ошибки тысячелетия", в астрономическую сумму - 1 триллион дол.
"Проблема 2000 года" и PC
"Ошибка тысячелетия" затронет своим крылом и владельцев персональных компьютеров, причем там, где многие пока даже не догадываются. Что же может произойти с PC в 2000 году и почему? Ну, во-первых, этот год начинается с цифры "два", а многие программы распознают только даты, начинающиеся с единицы. Во-вторых, этот год оканчивается нулями, а некоторые генераторы случайных чисел используют алгоритмы, в которых осуществляется операция деления на две последние цифры года, поэтому такая программа может "задуматься на триста шестьдесят шесть дней", когда попытается разделить на два нуля. В-третьих, этот год, как известно, начнется с субботы. Целый ряд программ ориентирован на выполнение определенных команд, где применяются дни недели (так, например, банковские хранилища открываются в понедельник). Если такая программа рассчитывает для себя день недели с помощью двух последних цифр года (что делают многие из них), то 1 января 2000 года она утвердит как понедельник, поскольку 1 января 1900 года было понедельником. Как следствие, все банковские операции, которые должны были быть произведены в понедельник, будут выполняться в субботу. В четвертых, 2000 год - високосный, но многие программисты не учли этого, когда создавали свои бизнес-приложения.
"Проблема 2000 года" угрожает не только мэйнфреймам, она коснется и ПК под Windows. 32-разрядные системы Windows (95 и NT) не пострадают, поскольку изначально рассчитаны на поддержание даты от 1980 до 2099 года. А вот большинство персональных компьютеров, работающих с 16-разрядными системами, сделают роковую ошибку, определив 2000 год как 1980 или 1984 год. Вы можете прямо сейчас проверить, как поведет себя та или иная ваша программа в критическую минуту. Зайдите в настройку даты/времени и выставьте 23 часа 59 мин 31 декабря 1999 года, а затем необходимо выйти из Windows и выключить компьютер. Включите его минут через пять и проверьте дату. Порядка восьмидесяти процентов PC, работающих с 16-разрядными системами Windows, покажут 1980 или 1984 год. Если вы выполнили эти манипуляции и увидели такую ошибку, не расстраивайтесь. Вашей беде еще можно помочь, если загрузить файл YEAR2000.zip (http://www.win-mag.com/people/mel-gan/year2000/) и выполнить все требования, указанные в readme.
Как быть?
Если ошибки ОС и базовой системы ввода/вывода исправить относительно просто, то в отношении прикладных программ этого сказать нельзя. Особенно сложно исправить все специализированное ПО, разработанное на каком-то конкретном предприятии. Возникает необходимость тщательной проверки каждого приложения. "Ошибка тысячелетия" относится и к коммерческим программам. Так, например, большая часть Windows-приложений способна реально отслеживать дату до определенных предельных значений. В одних случаях время ограничено 9999 годом, и здесь проблем не возникнет, но в других, как знать? Access 95, например, доживет только до 1999 года, Excel продержится немного дольше (2019 год), Lotus 1-2-3 не учитывает, что 2000 год будет високосным (не распознает 29 февраля 2000 года), а Excel и Quattro Pro повторяют эту ошибку. Microsoft в данном случае предлагает всем пользователям перейти на версии программного обеспечения, вышедшие не ранее 1997 г.
Так что же необходимо сделать сейчас, чтобы спокойно, без опасений за свой бизнес встретить новое тысячелетие? Прежде всего, не откладывая в долгий ящик, взяться за решение "Проблемы 2000" в рамках своего предприятия. Для начала необходимо провести тщательный анализ своего программного обеспечения, выявить его возможные "слабые места" и предварительно просчитать сумму расходов. Исходя из этого, можно идти двумя путями - или исправлять свои старые, уже существующие бизнес-приложения, или заменить их на новые. Решение принимать вам, поэтому обдумайте и взвесьте все за и против (можете пригласить сторонних специалистов), и приступайте к решению проблемы.
Кто может помочь?
Компании готовы выложить огромные суммы за изменение формата даты своих ИС, а поэтому неудивительно, что множество фирм уже готовы предложить программы и услуги для решения этой проблемы. В их число входят и такие гиганты, как IBM, и менее крупные компании. Dun & Bradstreet Software, например, уже выпустила новые версии специализированных программных продуктов для преобразования приложений мэйнфреймов для отделов кадров, бухгалтерии и торговли недвижимостью и готовит новые модули для других систем. Более полную информацию о предлагаемых продуктах можно найти в Интернет, в частности, на страницах информационных узлов: http:// www.bug2000.gov.uk или http:// www.open.gov.uk/bug2000.htm.
В настоящее время, официально приобретая те или иные бизнес-приложения, вы можете уточнить об их соответствии сертификату Year 2000 Ready ("готовые к 2000г."). Этот стандарт обеспечивает следующие условия: "Технология (в частности, информационная технология, встроенная система или любая иная система на базе электромеханической конструкции либо процессора), будучи использована согласно соответствующей документации, в состоянии правильно принимать, передавать и/или обрабатывать даты, принадлежащие XX и XXI векам, а также лежащие на рубеже между 1999 и 2000 гг., с учетом поправок на високосные годы, при условии, что все прочие технологии надлежащим образом обмениваются датами с данной технологией".
Вместо эпилога
Проведенные недавно исследования показали, что во всем мире компании тратят на решение "Проблемы 2000 года" большую часть средств, выделяемых на развитие информационных технологий. Лучше всего дела обстоят в Соединенных Штатах Америки, затем следуют такие страны, как Голландия, Бельгия, Швеция, Канада и Австралия. Согласно результатам этого же исследования можно предположить, что не сумеют подготовить свои компьютерные системы к 1 января 2000 года две трети фирм и предприятий в России, Китае, Индии, в странах Среднего Востока (за исключением Израиля), в Аргентине и Венесуэле. Как видите, прогнозы для нас с вами весьма плачевны, но, хоть времени осталось до наступления нового тысячелетия совсем мало, если серьезно подойти к решению этой проблемы, то можно еще успеть.
- титульная страница
"Ошибка тысячелетия", или как ее еще называют "Проблема 2000 года", обсуждается уже давно. Первая конференция по этому вопросу состоялась в США в 1995 г., и с тех пор было проведено уже множество аналогичных мероприятий и написано немало статей. Начало нового тысячелетия, как отмечалось, таит в себе такую же угрозу, что и мина замедленного действия, которая должна взорваться в первые минуты 2000-го года. К большому сожалению, это не раздувание страхов и не сеяние паники. Если в оставшееся время (а его уже не так много) не будут приняты необходимые меры, то очень многие программы, исправно работающие в настоящее время, "испортятся" сразу после наступления 2000-го года. Если быть предельно точным, то они просто перестанут показывать правильную дату, что, естественно, сразу скажется на работе многих прикладных систем, зависящих от времени (а к их числу относятся практически все бизнес-приложения).
Причины проблемы
Корни "Проблемы 2000 года" уходят в недалекое прошлое. Все дело в том, что программисты, создававшие используемые сейчас бизнес-приложения, предусмотрели в них только шестизначные поля для даты, в которых на год отводились только две последние цифры. Они справедливо считали, что экономят немалые деньги своих предприятий, ведь еще несколько лет назад дисковое пространство стоило дорого, а сокращение размера поля даты до шести цифр позволяло сберечь миллионы байтов. Кроме того, в то время им было сложно себе представить (ведь все верили в стремительное развитие компьютерных технологий), что создаваемые ими программы доживут и будут широко применяться и в следующем тысячелетии. Теперь же всем предприятиям придется расплачиваться за прошлую экономию.
Но вернемся к теме нашего разговора. Итак, были предусмотрены только шестизначные поля для обозначения даты и на год приходилось только две последние цифры. Например, 1998 год отображается в виде "98", а вследствие этого 2000 год эти программы обозначат двумя нулями и могут воспринять как 1900-й. Это не просто предположение, а совершенно точный прогноз, который означает, что после окончания 1999 и наступления 2000 года, временные даты будут обрабатываться неправильно. На первый взгляд может показаться, что данная проблема незначительна, но в действительности "Ошибка тысячелетия" - один из самых серьезных кризисов, когда-либо угрожавших компьютерной промышленности.
"Пронесет - не пронесет"
"Ошибка тысячелетия" касается не только систем на мэйнфреймах, а всего программного обеспечения предприятий. Не обойдет "Проблема 2000 года" стороной и оборудование. Причем это относится как к мэйнфреймам, так и к сетям, ПК и всем остальным типам аппаратного обеспечения. К критичным следует отнести также и системы безопасности на основе устройств считывания данных с документов, системы наблюдения и домашней охраны, счетчики на автостоянках, а также банковские хранилища. Микропроцессорными чипами оснащены телефонные системы, видеомагнитофоны, считыватели штрих-кода, автоответчики, медицинская техника, промышленное оборудование, гражданская и военная авиационная радиоэлектроника, оборудование по управлению и контролю процессов, системы автоматического пожаротушения и даже кондиционеры воздуха.
Вот вам живой пример. В США имеется 6000 госпиталей, 50 тысяч частных лечебных учреждений и 700 тысяч врачей - и все они стоят перед необходимостью выявить и исправить миллиарды строк ошибочного компьютерного кода, который не сможет правильно функционировать после 31 декабря 1999 г. Не вызывает сомнения, что в основные системы жизнеобеспечения все необходимые исправления будут внесены вовремя. Однако есть и второстепенные системы, которые могут остаться без должного внимания, такие, как компьютеризованные средства ведения медицинских записей или аварийные системы. Может произойти потеря медицинских историй болезни, важной информации о диагнозах и методах лечения.
Или вот еще один пример. Представители компании IBM сделали официальное сообщение Федеральному управлению авиации США (Federal Aviation Administration, FAA), что работа мэйнфреймов IBM 3083, которые повсеместно используются для контроля за перелетами в стране, может остановиться 31 декабря 1999 г. в связи с проблемой перехода к новому тысячелетию. (Машины IBM 3083 играют роль хост-компьютеров, принимающих данные от радаров и преобразующих их в информацию, отображающуюся на дисплеях авиадиспетчеров в 20 управляющих центрах на территории США.) FAA тоже официально заявило, что скорее всего, по их мнению, им удастся найти выход из этой ситуации, но все же пока подготовились к замене всех своих "подозрительных" машин в случае необходимости.
Правительства многих стран серьезно озабочены "Проблемой 2000 года". Ошибки, вызванные неправильной интерпретацией двузначного номера года, могут существенно нарушить работу автоматизированных систем банков, транспортных компаний, социального обеспечения, связи и даже обороны. Знаменитая страховая компания Lloyd оценивает только потенциальные убытки компаний от исков, связанных с последствиями "Ошибки тысячелетия", в астрономическую сумму - 1 триллион дол.
"Проблема 2000 года" и PC
"Ошибка тысячелетия" затронет своим крылом и владельцев персональных компьютеров, причем там, где многие пока даже не догадываются. Что же может произойти с PC в 2000 году и почему? Ну, во-первых, этот год начинается с цифры "два", а многие программы распознают только даты, начинающиеся с единицы. Во-вторых, этот год оканчивается нулями, а некоторые генераторы случайных чисел используют алгоритмы, в которых осуществляется операция деления на две последние цифры года, поэтому такая программа может "задуматься на триста шестьдесят шесть дней", когда попытается разделить на два нуля. В-третьих, этот год, как известно, начнется с субботы. Целый ряд программ ориентирован на выполнение определенных команд, где применяются дни недели (так, например, банковские хранилища открываются в понедельник). Если такая программа рассчитывает для себя день недели с помощью двух последних цифр года (что делают многие из них), то 1 января 2000 года она утвердит как понедельник, поскольку 1 января 1900 года было понедельником. Как следствие, все банковские операции, которые должны были быть произведены в понедельник, будут выполняться в субботу. В четвертых, 2000 год - високосный, но многие программисты не учли этого, когда создавали свои бизнес-приложения.
"Проблема 2000 года" угрожает не только мэйнфреймам, она коснется и ПК под Windows. 32-разрядные системы Windows (95 и NT) не пострадают, поскольку изначально рассчитаны на поддержание даты от 1980 до 2099 года. А вот большинство персональных компьютеров, работающих с 16-разрядными системами, сделают роковую ошибку, определив 2000 год как 1980 или 1984 год. Вы можете прямо сейчас проверить, как поведет себя та или иная ваша программа в критическую минуту. Зайдите в настройку даты/времени и выставьте 23 часа 59 мин 31 декабря 1999 года, а затем необходимо выйти из Windows и выключить компьютер. Включите его минут через пять и проверьте дату. Порядка восьмидесяти процентов PC, работающих с 16-разрядными системами Windows, покажут 1980 или 1984 год. Если вы выполнили эти манипуляции и увидели такую ошибку, не расстраивайтесь. Вашей беде еще можно помочь, если загрузить файл YEAR2000.zip (http://www.win-mag.com/people/mel-gan/year2000/) и выполнить все требования, указанные в readme.
Как быть?
Если ошибки ОС и базовой системы ввода/вывода исправить относительно просто, то в отношении прикладных программ этого сказать нельзя. Особенно сложно исправить все специализированное ПО, разработанное на каком-то конкретном предприятии. Возникает необходимость тщательной проверки каждого приложения. "Ошибка тысячелетия" относится и к коммерческим программам. Так, например, большая часть Windows-приложений способна реально отслеживать дату до определенных предельных значений. В одних случаях время ограничено 9999 годом, и здесь проблем не возникнет, но в других, как знать? Access 95, например, доживет только до 1999 года, Excel продержится немного дольше (2019 год), Lotus 1-2-3 не учитывает, что 2000 год будет високосным (не распознает 29 февраля 2000 года), а Excel и Quattro Pro повторяют эту ошибку. Microsoft в данном случае предлагает всем пользователям перейти на версии программного обеспечения, вышедшие не ранее 1997 г.
Так что же необходимо сделать сейчас, чтобы спокойно, без опасений за свой бизнес встретить новое тысячелетие? Прежде всего, не откладывая в долгий ящик, взяться за решение "Проблемы 2000" в рамках своего предприятия. Для начала необходимо провести тщательный анализ своего программного обеспечения, выявить его возможные "слабые места" и предварительно просчитать сумму расходов. Исходя из этого, можно идти двумя путями - или исправлять свои старые, уже существующие бизнес-приложения, или заменить их на новые. Решение принимать вам, поэтому обдумайте и взвесьте все за и против (можете пригласить сторонних специалистов), и приступайте к решению проблемы.
Кто может помочь?
Компании готовы выложить огромные суммы за изменение формата даты своих ИС, а поэтому неудивительно, что множество фирм уже готовы предложить программы и услуги для решения этой проблемы. В их число входят и такие гиганты, как IBM, и менее крупные компании. Dun & Bradstreet Software, например, уже выпустила новые версии специализированных программных продуктов для преобразования приложений мэйнфреймов для отделов кадров, бухгалтерии и торговли недвижимостью и готовит новые модули для других систем. Более полную информацию о предлагаемых продуктах можно найти в Интернет, в частности, на страницах информационных узлов: http:// www.bug2000.gov.uk или http:// www.open.gov.uk/bug2000.htm.
В настоящее время, официально приобретая те или иные бизнес-приложения, вы можете уточнить об их соответствии сертификату Year 2000 Ready ("готовые к 2000г."). Этот стандарт обеспечивает следующие условия: "Технология (в частности, информационная технология, встроенная система или любая иная система на базе электромеханической конструкции либо процессора), будучи использована согласно соответствующей документации, в состоянии правильно принимать, передавать и/или обрабатывать даты, принадлежащие XX и XXI векам, а также лежащие на рубеже между 1999 и 2000 гг., с учетом поправок на високосные годы, при условии, что все прочие технологии надлежащим образом обмениваются датами с данной технологией".
Вместо эпилога
Проведенные недавно исследования показали, что во всем мире компании тратят на решение "Проблемы 2000 года" большую часть средств, выделяемых на развитие информационных технологий. Лучше всего дела обстоят в Соединенных Штатах Америки, затем следуют такие страны, как Голландия, Бельгия, Швеция, Канада и Австралия. Согласно результатам этого же исследования можно предположить, что не сумеют подготовить свои компьютерные системы к 1 января 2000 года две трети фирм и предприятий в России, Китае, Индии, в странах Среднего Востока (за исключением Израиля), в Аргентине и Венесуэле. Как видите, прогнозы для нас с вами весьма плачевны, но, хоть времени осталось до наступления нового тысячелетия совсем мало, если серьезно подойти к решению этой проблемы, то можно еще успеть.
- титульная страница
Компьютерная газета. Статья была опубликована в номере 39 за 1998 год в рубрике del :: новости