Как вашему компьютеру пережить наступление 2000 года


Все чаще и чаще мировая пресса, и не только компьютерная, обращается к обсуждению возможных проблем, связанных с эксплуатацией существующих компьютерных систем в связи с наступлением XXI века. И если верить всему, написанному на эту тему, субботнее утро первого января 2000 года будет для человечества настоящим кошмаром: ведь, по некоторым утверждениям, с неба будут падать самолеты, ракеты будут запускаться сами, а банковские сейфы окажутся открытыми. Чем же эта проблема столь привлекательна в сравнении с такими бедами, как компьютерные вирусы или "темные" уголки Интернет? Ответ прост. Ведь 2000 год обязательно наступит, а о его наступлении подумали далеко не все разработчики ПО и оборудования. И если своевременные меры не будут приняты, может в действительности произойти много неприятностей. Однако почему же разработчики не учитывали такой очевидной и важной детали как перемена века? Ведь по большому счету серьезное использование компьютера началось только во второй половине XX столетия. На это есть несколько причин. Проблему в основном составляет ПО, используемое на мини-ЭВМ и mainframe. Ведь срок службы такого ПО значительно превышает данные показатели для ПК. Спросите среднего пользователя ПК о том, какие программы он использовал три года назад. Наверняка это будет сильно отличаться от того, что он применяет сейчас. ПО на компьютерах mainframe используется порой до 20 лет. К тому же, зачастую, такое ПО применяется гораздо дольше срока эксплуатации, предусмотренного разработчиками. И в СУБД с предположительным сроком эксплуатации 5 лет использование двух позиций для записи года могло быть вполне приемлемым. Поддержка нового века планировалась в какой-нибудь последующей версии. А замена ПО новым не происходит по опять же очень простым причинам: это и всем известное правило не изменять что-либо, что уже работает, и нежелание расходовать "лишние" средства, когда и из имеющегося ПО можно еще "выжать" годик-другой нормальной работы.

Чтобы представить себе возможные проблемы, достаточно рассмотреть пару простых примеров. Если 1997 год обозначен только двумя позициями (97), а счет подлежит оплате через год, то год оплаты будет автоматически вычислен системой как 1998. Но что, если дело происходит в 1999 году? Ведь 2000 год будет представлен лишь двумя нулями, а определить, к какому веку они относятся, не представится возможным. Так может оказаться, что счет, который надо оплатить только через год, по соображениям компьютера будет уже 99 лет как просроченным. Такая же проблема возникает с вычислением возрастов. Мой год рождения - 1976. Простая арифметика (1997-1976=21) показывает, что мне 21 год. Но, если бы вычисления проводились устаревшей системой через три года (00-76= -76), то оказалось бы, что до моего рождения еще вообще целых 76 лет.

Возникают также проблемы с сортировкой дат (например, расстановкой событий в хронологическом порядке). Ведь при нормальной записи легко расставить по порядку 1945, 1986 и 2008 годы. Но, при принятой многими, система записи двумя позициями - 2008 год превратится в 08, т.е. станет по хронологии раньше.

Можно подумать, что использование двух позиций было очень недальновидным. Ведь, что стоило записывать год четырьмя цифрами? На это были свои причины. Даты вводились вручную, и вводом двух цифр удавалось достичь экономии по времени. Честно говоря, даже при записи от руки мы предпочитаем писать, например, 10.04.97, а не 10.04.1997. К тому же, в те времена не последним фактором при разработке ПО служило потребляемое дисковое пространство. Программистам надо было втиснуть все в считанные килобайты. А в масштабах базы данных с миллионами записей один-два "лишних" байта на запись были недопустимой роскошью.

Однако проблемы могут встретиться и у владельцев ПК. Вот простой тест для "железа". В командной строке DOS командами Date и Time выставьте 31 декабря 1999 года, 23 часа 58 минут, после чего выключите компьютер на несколько минут. Если после повторной загрузки год стал 1980, то ваш ПК не способен автоматически переходить в новый век, это надо будет либо сделать принудительно, либо держать ПК включенным при переходе в третье тысячелетие. Если же 2000 год благополучно наступил, то можно перейти к проверке совместимости ПО. В данном тесте важно отключить питание ПК, т.к. некоторые из них при включенном питании нормально переходят в 2000 год, но затем при перезагрузке теряют правильную дату. Некоторые компьютеры и вовсе не хотят работать в новом веке: при попытках выставить 2000 год они сразу переходят куда-то в начало восьмидесятых. Есть несколько решений для этих проблем. В первых случаях помогает обновление ПО, например, применение специальных утилит (одну из них можно найти в Интернет по адресу: http://rampages.onramp.net/~gtbecker) или замена ОС более современной. В последнем поможет замена BIOS вашего ПК.

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

Корпорация Microsoft объявила, что ПО версий от 1997 года будет использовать новый стандарт ввода года двумя позициями. Дата 1.10.20 распознается старыми приложениями как 1.10.1920, новые же программы будут знать что это - 2020 год. При необходимости ввести 1920 год, цифры 19 вводятся принудительно, т.к. на самом деле применятся 4-позиционная запись. Интересно взглянуть на то, как разные программы одной компании ведут себя с датами после 2000 года. Excel 95 поддерживает до 2019 года в коротком формате и до 2078 в длинном. Для Excel 97 эти показатели составляют соответственно 2029 и 9999. Для Access 95 это 1999 и 9999. Как и в Excel, последующая версия поддерживает в коротком формате до 2029 года. Все последние версии Microsoft Project поддерживают до 2049 г.

В идеале будет полезно сделать так, чтобы все приложения после ввода года двумя цифрами показывали и первые две. Для этого в Панели Управления Windows 95 запустите пункт Язык и Стандарты, выберите Дату, и в разделе Краткий формат даты установите четыре буквы "г" в поле формата даты.

Как уже было сказано, все устаревшее ПО надо тщательно проверить, при необходимости заменить. Это не просто и не дешево (по приблизительным оценкам, затраты на рассмотренную проблему составят в мире в целом до $600 млрд,), но в сравнении с возможными потерями от неправильной его работы - вполне оправдано.

Дополнительную информацию о данной проблеме можно получить в Интернет на специально созданном узле Web по адресу:www.year2000.com, а также на узле фирмы IBM: http://www.software.ibm.com/year2000/resource.html

Максим Кисельников (по материалам Computer Shopper)


КОМПЬЮТЕР-ИНФОРМ