Главная страница Visual 2000 · Общий список статей
А ты готов к 2000-му компьютерного году?Андрей Колесов
© 1999, Андрей Колесов
Если отвлечься от технической стороны вопроса...
Что делать домашним пользователям
Три источника, три составные части ПК
Операционная система
Проверка компьютера
Тест 1. Проверка системных часов BIOS
Тест 2. Тестирование часов CMOS
Что делать, если тексты выявили проблемы
Проверка прикладных программ
Если отвлечься от технической стороны вопроса...
Если отвлечься от технической стороны вопроса, то компьютерная проблема "Проблема-2000" (или как ее обычно называют профессионалы Y2K: Year — год, Kilo — тысяча по латыни) ознаменовала один очень важный момент в развитие человеческого общества. Суть его проста: прежде всего Y2K обозначила очень высокую степень проникновения компьютерных технологий буквально во все области деятельности человечества. Более того — значительную зависимость общества от бездушной техники. Кажется впервые в истории человечества о дискуссия по, в общем-то чисто техническому вопросу, были так или иначе втянуты большинство населения планеты.
Другой аспект проблемы — обозначились очень непростые юридические и технические аспекты взаимоотношений между ИТ-индустрией и ее пользователями, для разрешения которых ранее апробированные схемы (например, в области энергоснабжения, продажи "обычных" товаров) работают довольно слабо. Так что, по большому счету, дискуссия по "Проблеме-2000" сводится не к вопросу "как перейти от двухзначного к четырехзначному представлению даты", а к обсуждению "как строить взаимоотношения между разработчиками вычислительной техники и ее пользователями".
Внешне в дискуссия на эту тему можно выделить два полюса мнений: на одном из них царит убеждение, что это действительно серьезная проблема, грозящая многочисленными бедами человечеству, а на другом — не менее стойкая уверенность, что весь вопрос искусственно раздут компьютерщиками и другими заинтересованными лицами, чтобы выкачать из пользователей побольше денег. На самом же деле истина, как обычно, лежит где-то посередине. А может быть, даже несколько в другой стороне.
Точка зрения автора заключается в том, что целом, проблема Y2K является хотя и специфической, но все же достаточно типичной задачей по текущему сопровождению и модернизации информационных систем. Но при всей своей глобальности она не является уникальной. Сейчас можно вспомнить, например, о грандиозной модернизации экономических программ в России в 1997 году в связи деноминацией рубля и преобразованием банковских планов счетов. В Европе шла огромная работа по переходу на евро. И все это выполнялось без шумихи, сопровождавшей Y2K.
Так что хочу сказать: никаких обещанных катаклизмов не будет. И привести соответствующий пример. В одном известном периодическом издании был приведен пример о "значимости" проблемы-2000: в США была зафиксирована первая ошибка, связанная с Y2K, — там был выписан неверный счет на оплату автомобиля, где были перепутаны года 2000 и 1900. Но на самом деле эта информация говорит совершенно об обратном.
Ведь в США ежедневно выписываются миллионы (скорее, десятки миллионов!) счетов в день. Среди них, естественно, встречаются ошибочные, в том числе из-за разнообразных сбоев техники (больше из-за ошибок персонала). Если число таких ошибок измеряется даже 1000 в день, то процент получает совсем небольшой. Если же, действительно, как пишет автор, встретилась первая ошибка в выписке счета, связанная с проблемой Y2K (одна из сотен тысяч других ошибок!), то это означает лишь одно: данная проблема является далеко не самой главной в вопросе надежной работы вычислительных систем.
Что делать домашним пользователям
Но все это совсем не означает, что проблем надежности компьютеров не существуют. Любая сложная система (в том числе и техническая) изначально подвержена риску появления неисправности. Так что, хотя большинство домашних пользователей компьютеров вообще не заметит наступления нового года (с точки зрения вычислительных проблем), нужно иметь в виду некоторые нюансы, а заодно для собственного успокоения заранее убедиться в готовности своего ПК к 2000 году.
Для начала же следует повторить очевидную для опытных компьютерных пользователей истину: о надежной работе компьютера необходимо заботиться постоянно, а не только в преддверии нового года. Принципиальное отличие компьютера от привычной бытовой техники (хотя реклама любит твердить обратное) заключается в том, что в ходе работы на нем накапливается ваша уникальная информационная база. Если вы активно проработали на своем компьютере хотя бы год (писали статьи, делали курсовые работы, выполняли какие-то расчеты, обрабатывали фотографии и пр.) и вдруг случается какая-либо неисправность (сплюнем через левое плечо), обнаруживается, что самое ценное в компьютере — не техника (в самом ужасном случае это обойдется в 1000 долл.), а ваша информация, сформировавшаяся в результате десятков и сотен часов творческой работы.
Имея это в виду, и приступим к подготовке к 2000 году.
Три источника, три составные части ПК
Начнем с того, что собственно понятие "компьютер" (и "надежность компьютера") является весьма условным. Вы, как пользователь, работая на ПК, на самом деле используете некоторые прикладные программы (игры, текстовые редакторы и пр.). Прикладные программы, в свою очередь, выполняются в среде некоторой операционной системы (сегодня чаще всего Windows, реже DOS), а ОС уже имеет дело с самим компьютером (точнее — с процессором и через него со всеми остальными техническими узлами).
Так что если у вас произойдет сбой при работе текстового редактора, попробуйте ответить на вопрос: к кому нужно обращаться с претензиями — к сборщикам ПК, разработчикам ОС или создателям прикладной программы? (А если вы еще и покупали их у разных продавцов?) Почти на 100 процентов готов уверить вас, что будет очень трудно доказать, кто из них конкретно виноват в возникновении сбоя. (Кстати, вполне возможно, что в этом виноваты вы сами, например, из-за неверной установки программ или дополнительных устройств.)
Однако вопрос защиты ваших прав потребителей — это отдельная большая тема. И здесь я упомянул об этом только потому, что для проверки готовности вашего ПК к 2000 году (и вообще обеспечения его надежной работы) нужно довольно четко разделить "компьютер" на три логические компоненты: техника (системный блок), операционная система и прикладные программы.
У 99 процентов домашних пользователей дома стоит компьютер на базе процессоров x86: Pentium II/III, Celeron (производитель Intel), K6, Athlon (компания AMD) — последние в ряду этого семейства. На них в 99,9% случаев установлена операционная система Microsoft Windows (NT 4.0, 98, 95 или 3.1), которые являются развитием классической MS-DOS.
Начнем с того, что байки о том, что ПК обеспечивают хранение только двух последних цифр года (мол, они такие были маленькие, памяти не хватало и пр.) — является чистой воды вымыслом. Мы сейчас не будем затрагивать вопрос о том, как обстояли дела в "доисторические" времена: вопрос операционных систем было создано за 50 лет существования вычислительно техники огромное количество и история их развития является очень интересной, но имеющей отдаленное отношение в текущему моменту. Остановимся на архитектурной линии Microsoft, которая доминирует в области компьютеров (по крайней мере для домашних пользователей).
Итак, еще в самой первой версии MS-DOS, появившейся в 1982 году, было предусмотрено хранение года в диапазоне 1980-2099 (база отсчета — 1980 год). Последняя ошибка с ведением календаря была выявлена и устранена в 1984 году в версии MS DOS 2.1, появившейся в начале 80-х годов. Она была связана не со счетчиком года, а с определением дней недели в високосном году. И все это время пользователь мог применять как двухзначный ввод года, (19.10.99), так и полноформатный — четырехзначный (19.10.1999).
Я это рассказываю потому, что никаких проблем с текущей системной датой в операционных системах уже давно нет (до 2099 года). А все спекуляции на эту тему (типа "Windows 95 не очень готова") сводятся к следующему вопросу: как интерпретировать двухзначное обозначение года? Во всех ОС до Windows 95 включительно при вводе двух знаков автоматически прибавлялись "19" и в результате из "12" получалось "1912". (Вряд ли можно отнести это к серьезной проблеме — установку даты мы выполняем не так часто, можно ввести и четыре цифры.)
В Windows 98 Microsoft сделала "революционное" (лучше скажем, тривиальное) усовершенствование: здесь введено понятие "логическое столетие", которое по умолчанию установлено в диапазоне 1930-2029. То есть числа 0-29 будут автоматически отнесены к 21-му веку, а 30-99 — к 20-му. При этом пользователь может сам менять эту границу в окне "Панель инструментов|Время и Дата".
При работе собственно с Windows все это не очень актуально (как часто вы вручную устанавливаете текущую даты?), но для прикладных программ, которые используют описанные выше принципы ввода даты, такие возможности являются очень полезными.
Здесь проблема заключается в наличии двух механизмов, отвечающих за правильность ведения календаря (системных часов). Когда компьютер включен, отсчет часов и даты выполняет специальная микросхема, по старинке называемая BIOS (Basic Input-Output System — базовая система ввода-вывода), хотя ее функции уже давно вышли за пределы функций ввода-вывода. Операционная система вообще не занимается часами — она только читает их значение из BIOS или записывает туда новое (если этого пожелает пользователь).
Так вот, в работе BIOS вас не ожидает никаких проблем. Вопрос в другом — откуда BIOS получает начальное значение времени в момент включения ПК?
В первых моделях ПК, включая IBM PC XT (выпускались до 1988 года), по умолчанию устанавливалась дата 01.01.1980, которую пользователю приходилось корректировать вручную при каждой загрузке компьютера.
Начиная с модели IBM PC AT (процессор i286), появившейся в середине 80-х годов, в состав BIOS входит специальный блок памяти (CMOS) для хранения набора параметров, которые управляют режимами работы BIOS. Внутри CMOS есть встроенные электронные часы, которые работают постоянно, в том числе и при выключенном ПК (для этого в используется специальный подзаряжаемый аккумулятор). Именно их значение устанавливается в программных часах BIOS при включении ПК.
Проблема же заключается в том, что в первых модулях CMOS, выпускавшихся до 1994 года, действительно есть ошибка: после 1999 года дата автоматически сбрасывается в 1900 год (а при запуске ПК BIOS переводит ее в 1980 год). Решается эта проблема элементарно — нужно вручную ОДИН РАЗ установить 2000 год и дальше все (на 99%) будет работать нормально.
Проверить правильность работы CMOS можно с помощью простой процедуры тестирования.
Тест 1. Проверка системных часов BIOS
1. Перед началом тестирования подготовьте архивные копии своих данных (подробнее об этом мы еще расскажем). Если ваш ПК подключен к какой-то локальной сети — отключите сетевой кабель (это не относится к телефонному шнуру в модеме).
2. Загрузите свой ПК в режиме DOS. Лучше всего используйте для этого загрузочную дискету (а заодно проверьте, не забыли ли вы ее сделать и работоспособна ли она). Если вы попали в Windows 3.x, завершите сессию Windows. При работе с Windows 95/98 необходимо перегрузиться в режиме "DOS mode" (или прервать процесс загрузки, нажав клавишу F8, и выбрать в меню режим Safe Mode).
3. С помощью двух DOS-овских команд установите "предкритическую дату":
date 12-31-99
time 23:58
(дата имеет формат мм-дд-гг, который принят для команды date).
4. Через три минуты с помощью команд date и time (без параметров проверьте время и дату. Если вы увидели дату типа "Sa, 01.01.2000" (с точностью до формата представления данных в различных национальный версиях), и время — первые минуты после полуночи, то это значит, что BIOS (и ОС) работают нормально.
Тест 2. Тестирование часов CMOS
Повторите предыдущий тест, но только после шага 3 выключите ПК и включите его через три минуты (в Новом году!). Проверьте дату — если она попала в 2000 год, то электронные часы вашего компьютера работают также нормально.
Если же вы увидите какую-то другую дату, то введите самостоятельно дату 01.01.2000 командой date и выключите компьютер. Затем включите его и еще раз проверьте дату. Если вы увидите 1 января 2000 года, значит проблема решается очень просто — при первом включении ПК после Нового года (обратите внимание, даже если ваш компьютер был включенным ровно в полночь!) нужно самостоятельно откорректировать дату, но только ОДИН РАЗ.
Чтобы убедиться в беспочвенности страшилок о разных других критических датах (10.01.2000, 29.02.2000 и пр.), можете проделать приведенные здесь тесты на их примере.
При завершении тестирования не забудьте восстановить текущую системную дату.
Что делать, если тексты выявили проблемы
Это говорит о том, что у вас либо просто дефектный компьютер, либо очень древний. В первом случае (если вы его купили 2-3 года назад) нужно обратиться с претензиями к продавцу, во втором — подумать о замене ПК, по крайней мере, ее системной платы (толку от такого компьютера все равном мало, независимо от работы правильности работы часов).
Но даже с этими дефектами можно работать.
1. Если у вас не прошел Тест 1 (что представляется просто невероятным), то понадобится ручная установка даты в начале каждого года или каждый день.
2. Если не прошел Тест 2, то придется устанавливать дату при каждом включении ПК (или не выключать его). В конце концов потратить на эту операцию 10 секунд в день — не так уж много.
3. Можно просто установить дату 01.01.99 и прожить 1999 год еще раз. Но это не очень хороший вариант, так как вы просто запутаетесь в старых и новых файлах. К тому же у вас могут появится проблемы с общением с внешним миром по электронной почте — телекоммуникационные системы будут автоматически вылавливать и удалять ваши письма, как "очень старые".
Если после проведения тестов, у вас останутся сомнения в правильности работы системных часов в 2000-м и последующих годах, то можете использовать простую утилиту TestDate, которая будет следит за этим при каждом включении компьютера. Саму утилиту, ее описание и правила подключения к системе, вы можете найти по Web-адресу: http://www.basic.visual2000.ru/y2k/
Абсолютное большинство прикладных программ уже давно готовы к работе в 2000 году. В то же время их полное тестирование является достаточно сложным делом, а главное — методика тестирования зависит от специфики конкретных приложений. Поэтому ограничимся общими рекомендациями, которые полезны не только в плане подготовки к 2000 году, но для обеспечения надежности вашей работы (сохранности ваших данных в первую очередь!) в целом.
1. Обратитесь к продавцу данного продукта (или производителю) с вопросом о готовности программы к 2000 году. Перепроверьте эту информацию у какого-то независимого эксперта (например, пришлите вопрос в журнал "Наука и жизнь"). Если в программе есть ошибка, то разработчик всегда сообщит о ней. Проблема в другом — под совершенно пустяковом предлогом продавец может попробовать уговорить вас купить обновление, которое вам в действительности не очень нужно.
2. Проверьте поддерживает ли данная программы четырехзначное представление года при вводе-выводе. Может быть вы привыкли работать с двухзначным форматом и даже не догадываетесь о существовании расширенного варианта. Проверьте, как по какому алгоритмы программа производит преобразование двухзначного формата в четырехзначный (см. раздел об ОС).
3. При тестировании на новую дату, используйте для хранения тестовых данных (файлов) специально созданный каталог на диске, чтобы после тестирования аккуратно удалить их. Смешивание реальных и тестовых данных вам помешает в дальнейшей работе. Если проверку можно проводить только при наличии уже существующей базы данных (например, в бухгалтерской системе), то сделайте отдельную копию, на которой и проводите эксперименты.
Еще несколько советов более общего характера, о которых нужно помнить и после 2000 года.
1. Постоянно следите за сохранностью данных на вашем ПК, которая достигается простой операцией — периодическим созданием резервной копии. Копировать нужно не программы (копии которых у вас уже наверняка есть, в любом случе их можно еще где-то найти), а именно ваши данные. Чтобы упростить эту процедуру, следуйте простому правилу — храните программы и данные в разных местах. Например, выделите для хранения данных отдельный логический диск. Вы увидите, что эта информация не очень большого объема, но ценность для вас ее — чрезвычайно высока.
2. Будьте осторожны при использовании разных вариантов приложений, которые имеют ограниченные срок эксплуатации (например, демоверсиями): после истечение срока годности они не только перестают работать сами, но могут также привести к неработоспособности других приложений. (Такие программы с ограничением по времени часто попадаются на пиратских дисках.) Будьте осторожны с такими программами при выполнении тестирования, связанного с искусственным изменением системной даты (что мы делали выше): даже при восстановлении прежней даты, они могут уже больше не работать — так иногда устроен их механизм защиты.
И так — с Новым 2000-м годом. Успешной вам работы на компьютере в новом и последующих годах.