Проблема 2000 - взгляд из России весной 1999 г.


   9 апреля в ИАЦ Администрации Санкт-Петербурга прошел семинар, посвященный решению Проблемы 2000 года. Он показал, что руководство служб информационных технологий на предприятиях и в организациях различных форм собственности питает большой интерес к своевременному и грамотному разрешению этой задачи. Мы публикуем основной доклад г-на Алексея Николаева, в котором дается подробный анализ Проблемы 200, методические рекомендации, перечень предлагаемого оборудования и адреса сайтов в Интернет, на которых можно ознакомиться с различными способами решения Y2K, предлагаемыми производителями.

От редакции

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

Российское Государство и Проблема 2000
   В России датой начала участия государства в решении Проблемы 2000 можно считать 10 июня 1997 года - день подготовки приказа Госкомсвязи РФ "О проблеме представления дат в программном обеспечении". Согласно этому приказу, в Госкомсвязи РФ начались работы, связанные с Проблемой 2000.
   Реально работы по разработке методик и анализ состояния информационных систем на местах начались почти через год: 30 мая 1998 года было подписано Распоряжение правительства РФ N 671-p, обязывающее, в частности, "в трехмесячный срок определить масштабы работ по корректировке системного и прикладного ПО". Также в соответствии с этим распоряжением Госкомсвязи РФ должен был разработать методические материалы по обеспечению решения Проблемы 2000 (они разработаны; с ними можно ознакомиться по адресу http://www.ptti.gov.ru/gk-doc/2000/index.htm).
   Для непосредственной реализации работ по Проблеме 2000 создаются "Центры компетенции по Проблеме 2000", - сертифицированные в Госкомсвязи РФ организации, располагающие методическими и техническими средствами, а также квалифицированным персоналом, задачей которых является оказание помощи при проверке и модернизации информационных систем.

Администрация Санкт-Петербурга и Проблема 2000
   1 марта губернатор Владимир Яковлев подписал распоряжение "О предотвращении негативных последствий в работе действующих в Санкт-Петербурге информационно-вычислительных систем в связи с наступлением 2000 года". В этом распоряжении дается указание о создании рабочей группы по решению Проблемы 2000 года и "Центра компетенции" при Администрации Санкт-Петербурга. Руководители территориальных и отраслевых органов Администрации должны были в 10-дневный срок представить губернатору план мероприятий по решению Проблемы 2000. К 1 октября 1999 года они должны закончить все необходимые работы и доложить о решении Проблемы 2000. Cогласно этому распоряжению "Центр компетенции" Администрации Санкт-Петербурга создан на базе ИАЦ мэрии Санкт-Петербурга. Утверждено положение о центре компетенции и определен круг задач центра. На финансирование работ в Администрации Санкт-Петербурга выделено 300 тыс. рублей, а также предписано предусмотреть финансирование работ по проблеме в 2000 году.

Освещение Проблемы 2000 в Интернет
   Проблема 2000 находит широкое освещение в глобальной сети Интернет, однако основное число информационных ресурсов - англоязычные.
   Рассмотрим некоторые русскоязычные ресурсы. В первую очередь хочу отметить документы по Проблеме 2000 на http://www.ptti.gov.ru/gk-doc/2000/
   Документы Госкомсвязи РФ по Проблеме 2000 года. Среди них - официальные методические рекомендации по решению проблемы, проведению тестирования и т.п.
   Вот список документов по Проблеме 2000 на этом сайте.

  1. Методические рекомендации по решению Проблемы 2000.
  2. Типовое положение о Центре компетенции по Проблеме 2000.
  3. Рекомендации о порядке признания Центров компетенции по Проблеме 2000.
  4. Общие технические требования к техническим средствам связи. Соответствие 2000 году.
  5. Методические рекомендации по обеспечению непрерывности деятельности организаций и планированию на случай непредвиденных и чрезвычайных обстоятельств в связи с Проблемой 2000.
  6. Методические рекомендации по проведению тестирования компьютерных систем при решении "Проблемы 2000".
  7. Методические рекомендации для сбора информации по оценке готовности программно-управляемых средств электросвязи к смене даты в 2000 году и рекомендации по решению Проблемы 2000.
  8. Приказ "Об интенсификации работ по решению Проблемы 2000 на сетях связи".
  9. Общие методические рекомендации по проведению комплекса работ при решении Проблемы 2000.
  10. Методические рекомендации по тестированию встроенных систем при решении Проблемы 2000.
  11. Перечень действующих Центров Компетенции по решению Проблемы 2000.
  12. Постановление коллегии Госкомсвязи России от 26.02.99 N 4-2 "О состоянии работ предприятий связи по решению Проблемы 2000".


Кроме того, можно упомянуть следующие русскоязычные www-сайты:
   http://y2k.fcsm.ru ФКЦБ РФ - сайт по Проблеме 2000, материалы по Проблеме 2000, ссылки.
   http://www.eltech.ru/win/year2000.htm "2000 год: не только компьютерная проблема", информация о разных аспектах Проблемы 2000, ссылки, юмор " Законы 2000 года "(в духе "законов Мерфи"). "Ресурсы Интернет, посвященные Проблеме 2000 года", - страница на www-сайте Центра информатизации Минобразования РФ - ссылки.
   http://www.astrosoft.ru/y2k/default.htm "2000 - помощь, проблемы и решения" - страницы компании "Астро Софт". Информация о Проблеме 2000, ссылки.
   http://www.tepkom.ru/service/y2k/default.asp "Комплексное решение Проблемы 2000 года", компания "Терком".
   http://www.microsoft.com/rus/year2000/ Информационный центр Microsoft по Проблеме 2000 года (на русском языке)
   http://www.2000.ru "Новости 2000 года" - разное на тему 2000 года.

   Среди огромного множества англоязычных www-сайтов по Проблеме 2000 можно отметить http://www.year2000.com
   Cайт П. Джагера (Peter de Jager). Содержит одно из наиболее полных собраний документов и статей по Проблеме 2000 года, а также множество ссылок на Web-сайты правительств разных стран, общественных организаций и фирм, содержащих материалы на данную тему. Имеются ссылки на компьютерные фирмы и компании, поставляющие инструментальные средства для решения Проблемы 2000 года.

   Практически все www-сайты производителей аппаратных средств и ПО имеют разделы, посвященные Проблеме 2000, в которых, кроме общих слов, приводится информация о готовности продуктов данного производителя к 2000 году.
   Кроме этого существуют www-сайты, на которых собрана информация по готовности многих производителей к 2000 году, - например:
http://www.vendor2000.com/
http://www.mccs.uky.edu/y2k/ -> Databases
http://www.compinfo.co.uk/y2k/manufpos.htm
http://www.mitre.org/research/cots/VENDOR_LIST.html
http://www.monmouth.army.mil/y2k/comply.htm

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

Организационные мероприятия, общее планирование

  1. Уяснение Проблемы 2000 и ее возможного воздействия на организацию в целом.
  2. Проведение мероприятий по улучшению информированности о Проблеме 2000.
  3. Оценка соразмерности возможностей по отношению к необходимым мероприятиям для разработки и сопровождения программы.
  4. Разработка и документирование стратегии перехода информационно-вычислительных систем в 2000 год.
  5. Стратегия по успешному решению Проблемы 2000 предполагает разработку комплекса мер и плана-графика для достижения совместимости с 2000 годом. Стратегия должна освещать главные вопросы по Проблеме 2000, включая: структуру управления программой; средства измерения и прогнозирования перспектив протекания производственно-технологических процессов, прохождения ресурсов и программ на соответствие по отношению к разрабатываемому ПО (программная метрика); оповещение о требованиях совместимости; набор типовых решений, охватывающий различные области деятельности; примерную стоимость и предварительную смету затрат.
  6. Получение официальной поддержки со стороны вышестоящих инстанций.
  7. Учреждение ответственного органа по решению Проблемы 2000. В каждой организации, обладающей информационно-вычислительными системами, необходимо создать специальный ответственный орган - рабочую группу для того, чтобы на постоянной основе координировать работы в приоритетных областях и выполнять целевую функцию по отслеживанию и устранению возможного воздействия "Проблемы 2000" на отдельные производственно-технологические процессы и компьютерные системы, которые могут дать программно-аппаратный сбой/отказ. Такой орган должен быть готов к быстрому устранению возможных противоречий в очередности проведения работ по восстановлению нормальной производственной деятельности организации.
  8. Назначение ответственного лица за своевременное выполнение программы по решению Проблемы 2000.


Инвентаризация, классификация, планирование работ

  1. Определение наиболее важных систем. Оценка подверженности систем Проблеме 2000. Оценка серьезности сбоев/отказов, порожденных Проблемой 2000.
  2. Проведение инвентаризации информационно-вычислительных систем для каждой сферы производственной деятельности.
  3. Проведение детальной инвентаризации каждой ИВС
  4. аппаратное обеспечение;
  5. программное обеспечение;
  6. операционные системы;
  7. СУБД, системы обработки транзакций и т.п.;
  8. прикладные программы;
  9. сети связи и передачи данных (телекоммуникации);
  10. связи с основными сферами деятельности и/или производственно-технологическими процессами;
  11. внутренние и внешние интерфейсы;
  12. владельцы;
  13. работоспособность исходного кода;
  14. наличие соответствующей программно-технической и нормативной документации.


Проведение анализа всех компонентов
   Для всех компонентов определяется:

  1. неподдающиеся корректировке элементы (отсутствие, неустранимое повреждение исходного кода или документации);
  2. средства, требующие корректировки или замены по каждой платформе, прикладной программе, базе данных, системе управления, архиву, утилите или интерфейсу.


Ранжирование систем и их компонентов для корректировки или замены
   Организация должна определить приоритеты для корректировки или замены информационно-вычислительной системы в соответствии с ранжировкой, основанной на ключевых факторах, таких, как: воздействие на осуществление организацией основной производственной деятельности, ожидаемая дата отказа. Организация должна также выявить программные приложения, базы данных, архивы и интерфейсы, которые не могут быть преобразованы из-за недостатка необходимых ресурсов и времени.

Разработка программы по решению Проблемы 2000, включая:

  1. планы решения всех задач программы;
  2. основной график корректировки и замены, включающий перечень конкретных информационно-вычислительных систем и их компонентов;
  3. оценка и выбор вариантов привлечения другой организации и осуществление выплаты ей за оказание услуг, например, за корректировку ПО;
  4. распределение и закрепление проектов по корректировке или замене информационно-вычислительных систем и их компонентов за рабочими группами;
  5. оценка риска;
  6. разработка планов на случай непредвиденных и чрезвычайных обстоятельств для всех информационно-вычислительных систем.


   Определение, расположение в соответствии с приоритетом и привлечение необходимых ресурсов.

   Разработка стратегий проверки, планов проведения испытаний и сценариев.

   Определение требований для испытательного оборудования по Проблеме 2000.

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

Уточнение интерфейсов и выявление проблем, связанных с обменом данными Это включает в себя:

  1. разработку модели, показывающей внутренние и внешние взаимосвязи между основными сферами производственной деятельности организации, производственно-технологическими процессами и информационно-вычислительными системами;
  2. осведомление всех внешних организаций, участников информационного обмена;
  3. выявление необходимых для передачи данных мостов (средств сопряжения) и программ-фильтров;
  4. разработку планов на случай непредвиденных и чрезвычайных обстоятельств, если нет информации от внешнего источника, участвующего в обмене данными;
  5. осуществление процедур проверки правильности для входящих внешних данных;
  6. разработку планов на случай непредвиденных и чрезвычайных обстоятельств для ошибочных и искаженных данных.


   Начало разработки планов для критических информационно-вычислительных систем на случай непредвиденных и чрезвычайных обстоятельств.

   Выявление внешних систем, уязвимых по отношению к Проблеме 2000.

Реконструкция

  1. Замена выбранных аппаратных средств и ПО на продукты, совместимые с 2000 годом. Изъятие выбранных аппаратных средств и ПО.
  2. Модификация ПО, баз данных, электронных хранилищ данных (архивов) и интерфейсов.
  3. Доработка средств сопряжения и программ-фильтров в сети передачи данных.
  4. Документирование внесенных изменений в программные коды и информационно-вычислительные системы.
  5. Разработка регламента тестирования отдельных компонентов программ, комплексных (компоновочных) испытаний и системных испытаний.
  6. Сообщение всем внутренним и внешним пользователям об изменениях, внесенных в информационно-вычислительные системы.


Проверка правильности проводимых мероприятий

  1. Разработка и оформление планов проверок и графиков.
  2. Разработка стратегии управления испытаниями модернизированных подрядчиком систем.
  3. Применение для решения Проблемы 2000 специализированного испытательного оборудования.
  4. Применение автоматизированных инструментальных средств тестирования и тест сценариев.
  5. Выполнение проверки отдельных компонентов программ, результатов комплексных (компоновочных) испытаний и системных испытаний.
  6. Начало приемочных испытаний. Приемочные испытания являются заключительной стадией многоэтапных испытаний и этапа "Проверка правильности проведенных мероприятий", соответственно. Во время проведения работ на этом этапе вся информационно-вычислительная система, включая интерфейсы по данным (информационное сопряжение), должна быть всесторонне проверена в среде реальных рабочих (эксплуатационных) данных.


Ввод реконструированных систем в эксплуатацию

  1. Разработка графика ввода в эксплуатацию.
  2. Период освоения реконструированных информационно-вычислительных систем.
  3. Разрешение проблем, связанных с обменом данными и ведомственными интересами.
  4. Осуществление модернизации баз данных и электронных хранилищ данных (архивов).
  5. Завершение приемочных испытаний.
  6. Приведение в действие по мере необходимости, планов на случай непредвиденных и чрезвычайных обстоятельств.
  7. Введение в действие реконструированных и замененных информационно-вычислительных систем.


В чем состоит Проблема 2000 для аппаратной части ПК

   Обязательным элементом системной платы компьютера является RTC ("Real-Time Clock" - часы реального времени). Эти часы имеют автономный источник питания и продолжают функционировать, даже если компьютер выключен. При включении компьютера BIOS считывает показания часов реального времени и в дальнейшем осуществляет отсчет времени самостоятельно. Операционная система при загрузке получает текущее время из BIOS и в дальнейшем также ведет самостоятельный отсчет времени. Существует множество приложений, которые самостоятельно ведут отсчет времени или свой календарь. При этом при первоначальной загрузке приложение может получать текущее время от ОС, из BIOS или непосредственно из RTC.
   К несчастью изначально в конструкции часов реального времени (Motorola MC 146818A) разработчики отвели место для хранения только двух цифр года (рис. 1).
   Старшие цифры года (столетие) хранятся в энергонезависимой памяти (CMOS). При загрузке BIOS получает от RTC только 2 цифры года, а столетие (цифры 19 или 20) считывает из CMOS (рис. 2).

   Несмотря на то, что часы реального времени, в которых значение года хранится в виде 4 цифр, появились еще в 1992 году, (производства компании Dallas Semiconductor), приведенная на рис. 2 конфигурация и до настоящего времени часто встречается даже в новых компьютерах.
   Все это не очень приятные факты. Однако и не повод для паники. Если у вас используются компьютеры с часами реального времени не "Ready 2000", это еще не дает оснований считать, что компьютер "не Ready". Изначально в конструкции часов реального времени было заложено, что за правильное значение столетия отвечает BIOS. Поэтому компьютер, BIOS которого правильно корректирует значение года, является "Ready".
   Рассматривая вопрос, каким образом BIOS отсчитывает столетия, мы второй раз должны сказать "к сожалению".... К сожалению, далеко не все версии BIOS правильно реагируют на смену столетий. До сих пор в эксплуатации находится большое количество компьютеров, BIOS которых никак не реагирует на смену столетий. В этих компьютерах BIOS только считывает значение столетия из CMOS. Придя на работу 3 января 2000 года и включив такой компьютер, вы узнаете, что наступил 1900 год. Забегая вперед, замечу, что это еще не самая большая проблема. В конце концов, 3 января можно установить вручную показания системных часов на 3 января 2000 года и в дальнейшем компьютер с таким BIOS будет работать правильно.

   Однако существуют версии BIOS, в которых вообще нельзя изменить значение столетия. В них жестко забито 19. К таким, в частности, относятся версии BIOS от Award в период с апреля 1994 г. по май 1995 г. Против происков таких BIOS ручная установка даты не спасает. И, наконец, существует множество вариантов "продвинутых" BIOS, в которых проверяется полученное от часов реального времени значение года на корректность. Однако корректным считается значение года больше 1980. Получив от часов реального времени значение 00, BIOS считает такое значение некорректным, и устанавливает значение 1980 г. Любопытно, что в большинстве случаев устанавливается дата 1 апреля 1980 г. Может быть, это просто дружеская шутка? Тем не менее, это не самый лучший вариант BIOS, с которым хотелось бы иметь дело.