Отправляет email-рассылки с помощью сервиса Sendsay

Windows и Office: новости и советы

  Все выпуски  

Служба Рассылок Городского Кота


Служба Рассылок Городского Кота
  40
Здравствуйте, уважаемые подписчики.

   Сегодняшний выпуск несколько выпадает из общей тематики рассылки и
посвящен процессу разработки очередных версий Windows. На пиратском рынке
часто появляются "новые" и "новейшие" версии продуктов "Майкрософт",
которые на поверку обычно оказываются предварительными (бета) версиями,
зачастую прямо не рекомендуемыми для использования в качестве основных
систем. "Любители свежатинки" набрасываются на них, как мухи на мед, а
потом, наткнувшись на недоделки и дефекты, поднимают в конференциях дикий
крик о "глюкавости" Windows.
   Итак, вот как происходит процесс разработки Windows (многое из
сказанного ниже справедливо и для других продуктов "Майкрософт"). Работа
над новой версией начинается практически сразу же после окончания работы
над предыдущей версией. Вначале делаются так называемые альфа-версии,
которые за пределы "Майкрософт" не выходят. Обычно именно на этом этапе в
продукт вносятся почти все новшества.
   После того, как будет достигнута относительно стабильная работа продукта
(но необязательно полная функциональность), выпускается пред-бета версия,
так называемый "Developer Release". Она предназначена в первую очередь для
изготовителей оборудования и программного обеспечения, чтобы они могли
своевременно проверить работоспособность своей продукции на новой версии и
внести необходимые изменения в оборудование, драйверы и т.п. либо
попробовать договориться с "Майкрософт" о внесении изменений в новую ОС.
Это вовсе не дорога с односторонним движением, но, естественно,
"Майкрософт" прислушивается в основном к замечаниям крупных изготовителей
оборудования и программ.
   Затем приходит черед бета-версий, которых обычно бывает несколько. Когда
разработка продукта приближается к концу, на смену бета-версиям приходят
кандидаты в финальные версии (release candidates). В конце концов,
очередной кандидат объявляется финальной версией.
   Но работа не ограничивается выпуском раз в несколько месяцев очередной
бета-версии. Во время разработки новая версия компилируется почти каждый
день (это справедливо для Windows 98) и каждый день эта "дневная" версия
устанавливается на примерно 1400 компьютеров различных типов и
конфигураций. Весьма впечатляюще выглядят тестовые лаборатории, уставленные
разномастными компьютерами на стеллажах в три яруса. К концу недели
стараются собрать относительно стабильную версию, так называемый
"недельный" вариант (weekly build) и делают его доступным для
бета-тестеров. Зачастую эти версии попадают на пиратский рынок, где
продаются под завлекательным названием, например, Win98 OSR 1.2. И на
пиратских дисках почему-то "не хватает" места для предупреждения о том, что
такие версии предназначены только для тестирования и их не следует
использовать в качестве основной (рабочей) системы.

   Все ли найденные ошибки исправляются? Нет. Подобно всем большим
современным программам Windows составляется из модулей, каждый из которых
пишется и отлаживается сравнительно независимо от других. Иного способа
написать большую программу просто не смогли придумать. И отследить, как
изменение, сделанное в одном модуле, отзовется на других, фактически
невозможно. Ведь Windows 98 состоит из сорока миллионов строк кода. Именно
поэтому "Майкрософт" придает такое значение бета-тестированию. Она раздает
предварительные версии бета-тестерам, чтобы они проверяли работоспособность
системы на самых различных конфигурациях и в самых различных условиях.
Только не надо жалеть "несчастненьких" бета-тестеров, которых "нехорошая
корпорация использует в качестве подопытных кроликов". На это дело, никак,
кстати, не вознаграждаемое материально (за исключением бесплатной копии
тестируемого продукта) и требующее довольно больших затрат времени и сил,
они идут абсолютно добровольно, а количество желающих намного больше, чем
требуется.
   Обнаруженные ошибки разделяются на несколько групп в зависимости от их
характера. Наибольшее внимание уделяется, конечно, ошибкам, способным
вызвать зависание или крах системы. Наименее важные - чисто косметические
ошибки. Предположим, что незадолго до завершения работы над продуктом
глазастый бета-тестер обнаружит, что у некоей кнопочки не хватает черной
точки, скажем, в левом верхнем углу и контур кнопки оказывается
незамкнутым. Вряд ли из-за этого выпуск продукта будет отложен. А вот в
случае обнаружения неправильной работы, скажем, сетевого протокола
исправления будут обязательно сделаны.
   Одним из примеров ошибки, признанной несущественной (и, соответственно,
не исправленной), являются пустые кнопки, появляющиеся иногда на панели
задач. "Малой кровью" обнаружить причину не удалось, а сами пустые кнопки
работу системы не нарушают, только надоедают пользователю, да и то нечасто.
Поэтому, оказавшись перед выбором: тратить уйму сил разработчиков на поиск
причины нарушений, устранение которой не даст существенного эффекта, или
потратить это же время на что-либо более полезное, "Майкрософт" выбрала
второй путь.
   Вообще существенным условием устранения какой-либо ошибки является ее
воспроизводимость. Чтобы найти источник ошибки, необходимо знать, где она
проявляется. Если ошибка появляется от случая к случаю, то, подходя чисто
теоретически, можно выполнять трассировку программы, пока ошибка не проявит
себя. Но участок кода, вызывающий сбой, вполне может оказаться на довольно
значительном расстоянии от места, где ошибка, наконец, проявится. Особенно
это справедливо для современных многозадачных систем. И вряд ли найдется
герой, способный для исправления одной ошибки внимательно проанализировать
несколько десятков тысяч (а то и сотен тысяч и даже миллионов) строк
протокола трассировки.
   Вообще-то, конечно, можно было бы долго "вылизывать" очередную версию
ОС, но, в соответствии с законами Мэрфи для программирования, любая
последняя ошибка, обнаруженная в программе, оказывается предпоследней. И
при таком подходе мы до сих пор еще ждали бы выхода Windows 95. Поэтому в
какой-то момент принимается решение о подготовке продукта к выпуску. После
этого исправляются только те ошибки, которые оказывают существенное влияние
на работоспособность или функционирование продукта.
 ***
   Довольно часто можно слышать жалобы на нестабильную работу Windows или
на то, что она вообще отказывается работать. Почти наверняка это вызвано
одной из следующих причин:
   1. Заражение вирусом.
   2. Использование пиратских копий сомнительного качества. Не надо слепо
верить тому, что написано на коробке с компакт-диском. Единственный способ
убедиться, что эта копия сделана качественно - побитовое сравнение с
оригиналом. Даже успешные установки на десятке других компьютеров - не
доказательство. Просто поврежденный файл мог при этих установках не
использоваться. Мне доводилось видеть подобные ситуации.
   3. Большое количество установленных программ, "съедающих" системные
ресурсы и/или конфликтующих друг с другом или с системой. Чаще всего - это
бесплатные или условно бесплатные программы, которые могут быть не совсем
аккуратно написаны, некорректно вмешиваются в работу системы или имеют
"утечку" системных ресурсов.
   4. Неисправности оборудования. Причем эти неисправности могут
проявляться далеко не всегда. Windows 95 и, особенно, Windows 98 намного
интенсивнее используют "железо" компьютера, чем ДОС и многие другие
программы. Соответственно, нормальная работа ДОС не гарантирует нормальной
работы Windows 95. А нормальная загрузка и многочасовая бессбойная "работа"
(правильнее - простаивание) Windows 95 не гарантирует бессбойной работы
при интенсивном использовании того же Офиса. Причем проявляться
неисправность оборудования может лишь в отдельные моменты и не явно, а
маскируясь под нарушение работы программ. Рассказ о причинах этого не
вписывается в тематику рассылки, во-первых, и будет довольно долгим,
во-вторых.
   5. Установка неправильных драйверов, чаще других - драйверов
видеоадаптеров. Но это тоже требует отдельного разговора.
   6. "Разгон" процессора и/или системной платы. И в этом случае ошибки
могут  проявляться лишь время от времени и маскироваться под нарушение
работы программ.
   7. Самой банальной причины - несовместимости оборудования - многие даже
представить себе не могут. "Всеядность" Windows и ее способность работать
на самом разном "железе" стала восприниматься некоторыми как ее
_обязанность_ работать на любом оборудовании, которое владельцу компьютера
удастся достать. На самом деле существует список совместимого оборудования
(hardware compatibility list - HCL), который можно найти в Интернете на
майкрософтовском узле. Работоспособность Windows на другом оборудовании не
гарантируется. Хотя в подавляющем большинстве случаев установка драйверов,
прилагаемых к устройству, помогает, но все же бывают и исключения.

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


Еще раз поздравляю вас с Новым годом.

Игорь Лейко
ipl@redline.ru
Архив рассылки - на http://www.redline.ru/~ipl



http://www.citycat.ru/
E-mail: citycat@citycat.ru

В избранное