Обновление — это процесс замены более новой версией того же продукта. В вычислительной технике и бытовой электронике обновление — это , как правило, замена оборудования , программного обеспечения или прошивки на более новую или лучшую версию с целью обновления системы или улучшения ее характеристик.
Примерами распространенных обновлений оборудования являются установка дополнительной памяти ( RAM ), добавление более крупных жестких дисков , замена микропроцессорных карт или графических карт , а также установка новых версий программного обеспечения. Возможны и многие другие обновления.
К распространенным обновлениям программного обеспечения относится изменение версии операционной системы , офисного пакета , антивирусной программы или различных других инструментов.
К распространенным обновлениям прошивки относятся обновление меню управления iPod , панели управления Xbox 360 или энергонезависимой флэш-памяти, содержащей встроенную операционную систему для потребительского электронного устройства.
Пользователи часто могут загружать обновления программного обеспечения и прошивки из Интернета . Часто загрузка представляет собой патч — он не содержит новую версию программного обеспечения в полном объеме, а только изменения, которые необходимо внести. Программные патчи обычно направлены на улучшение функциональности или решение проблем с безопасностью . Поспешные патчи могут принести больше вреда, чем пользы, и поэтому иногда рассматриваются [ кем? ] со скептицизмом в течение короткого времени после выпуска. [1] [ оригинальное исследование? ] Патчи, как правило, бесплатны.
Обновление программного обеспечения или прошивки может быть основным или второстепенным, и кодовый номер версии выпуска увеличивается соответственно. Основное обновление изменит номер версии, тогда как второстепенное обновление часто будет добавлять «.01», «.02», «.03» и т. д. Например, «версия 10.03» может обозначать третье второстепенное обновление версии 10. В коммерческом программном обеспечении второстепенные обновления (или обновления) обычно бесплатны, но основные версии должны быть куплены.
Компании обычно обновляют программное обеспечение по следующим причинам: 1.) для поддержки нормативных требований отрасли 2.) для доступа к новым технологиям с новыми функциями и инструментами 3.) для удовлетворения потребностей меняющихся рынков 4.) для продолжения получения комплексной поддержки продукта. [2]
Хотя разработчики обычно выпускают обновления для улучшения продукта, существуют риски, включая вероятность того, что обновление ухудшит продукт.
Модернизация оборудования сопряжена с риском того, что новое оборудование не будет совместимо с другими компонентами оборудования в системе. Например, обновление оперативной памяти может быть несовместимо с существующей оперативной памятью компьютера. Другие компоненты оборудования могут быть несовместимы после обновления или понижения версии из-за отсутствия совместимых драйверов для оборудования с определенной операционной системой . И наоборот, существует тот же риск несовместимости, когда программное обеспечение обновляется или понижается для ранее работающего оборудования, которое больше не функционирует.
Обновления программного обеспечения вносят риск того, что новая версия (или патч) будет содержать ошибку , из-за которой программа будет работать со сбоями или вообще не будет работать. Например, в октябре 2005 года сбой в обновлении программного обеспечения привел к остановке торгов на Токийской фондовой бирже на большую часть дня. [3] Подобное происходило: от важных правительственных систем [4] до бесплатного программного обеспечения в Интернете.
Обновления также могут ухудшить продукт субъективно. Пользователь может предпочесть старую версию, даже если новая версия работает идеально, как задумано. Это может произойти по разным причинам, включая то, что пользователь уже привык к поведению старой версии или потому, что обновление удалило некоторые функции (см. спор об удалении разъема iPhone или OtherOS ).
Еще один риск обновлений программного обеспечения заключается в том, что они могут вывести из строя обновляемое устройство, например, если во время установки обновления произойдет сбой питания. Это особенно серьезная проблема для встраиваемых устройств, в которых обновления обычно выполняются по принципу «все или ничего» (обновление представляет собой образ прошивки или файловой системы, который непригоден для использования, если он записан лишь частично), и которые имеют ограниченную возможность восстановления после неудачного обновления. [5] Решения этой проблемы обычно включают хранение нескольких копий прошивки, так что одну можно обновить, пока другая остается нетронутой в качестве резервной копии, но все еще есть дыры, которые могут привести к сбою. [5] [6] [7] Такие инструменты, как Mender.io, [8] Sysup, [5] SWUpdate, RAUC, [7] и OSTree [9] предоставляют более полные решения, которые реализуют обновления безопасным атомарным способом и уменьшают или устраняют необходимость настройки загрузчиков и других компонентов. Настольные системы, скорее всего, будут использовать что-то вроде снимков или точек восстановления ; Они более эффективны, поскольку требуют лишь небольшой доли пространства для хранения изменений из старой системы в новую, но отсутствие готовой реализации для встраиваемых систем делает это непрактичным.