Обновление — это процесс замены продукта более новой версией того же продукта. В вычислительной и бытовой электронике обновление обычно представляет собой замену аппаратного обеспечения , программного обеспечения или прошивки на более новую или лучшую версию с целью обновления системы или улучшения ее характеристик.
Примеры распространенных обновлений оборудования включают установку дополнительной памяти ( ОЗУ ), добавление жестких дисков большего размера , замену микропроцессорных карт или видеокарт , а также установку новых версий программного обеспечения. Также возможны многие другие обновления.
Обычное обновление программного обеспечения включает изменение версии операционной системы , офисного пакета , антивирусной программы или различных других инструментов.
Обычные обновления прошивки включают обновление меню управления 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] предоставляют более полные решения, которые реализуют обновления безопасным атомарным способом и уменьшить или исключить необходимость настройки загрузчиков и других компонентов. Настольные системы чаще используют что-то вроде снимков или точек восстановления ; они более эффективны, поскольку им требуется лишь небольшая часть пространства для хранения изменений старой системы в новой, но отсутствие готовой реализации для встроенных систем делает это непрактичным.