Upgrade: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{short description|Process of replacing | {{short description|Process of improving something by replacing part of it or adding additional parts}} | ||
{{Other uses}} | {{Other uses}} | ||
{{Redirect|Software Upgrade|the song by Poppy|Poppy.Computer}} | {{Redirect|Software Upgrade|the song by Poppy|Poppy.Computer}} | ||
''' | An '''upgrade''' is the result of improving something by replacing part of it or adding additional parts. For example, one can upgrade a [[computer]] by replacing the [[CPU]] with a faster one and by adding more [[RAM]], and afterwards, the computer is an upgrade. Although often used in the context of [[technology]], anything can be upgraded; improved. | ||
Often an update is an upgrade but not always. Update only implies newer; more up-to-date. An update could degrade, or changing to an older version could be an upgrade. | |||
== | ==Hardware== | ||
Common [[Computer hardware|hardware]] upgrades include additional [[computer memory|memory]] and [[computer storage|storage]], and replacing the [[CPU]] and [[graphics card]] with faster components. | |||
Updating hardware involves the risk of compatibility. For example, added RAM may not be compatible with existing RAM in a computer. Other hardware components may not be compatible after either an upgrade or downgrade, due to the non-availability of compatible [[device driver|drivers]] for the hardware with a specific [[operating system]]. | |||
==Software== | |||
In order to upgrade [[software]], a package is often [[download]]ed over the [[Internet]]; sometimes directly by a user and sometimes automatically by a computer. The package may contain only the data needed to modify the existing version; not the entirety of the software. An upgrade may include improved functionality and [[software bug|bug]] fixes such as to eliminate a [[security vulnerability]]. | |||
Common reasons to create an software upgrade package:<ref>{{cite web|last1=Marini|first1=Paul|title=Best Practices for a Successful Software Upgrade|url=http://blog.spartasystems.com/feed/best-practices-for-a-successful-software-upgrade|publisher=Sparta Systems|access-date=22 June 2015|archive-date=19 September 2015|archive-url=https://web.archive.org/web/20150919202953/http://blog.spartasystems.com/feed/best-practices-for-a-successful-software-upgrade|url-status=dead}}</ref> | |||
* Support industry regulatory requirements | |||
* Access [[emerging technologies]] with new features, and tools | |||
* Meet the demands of changing markets | |||
Upgrading software involves the risk of introducing a bug into the software that might cause it to malfunction. For example, in October 2005, a glitch in a update caused trading on the [[Tokyo Stock Exchange]] to shut down for most of the day.<ref>{{cite web | last = Williams | first = Martyn | title = Software glitch halts Tokyo Stock Exchange | publisher = InfoWorld | date = 2005-11-01 | url = http://www.infoworld.com/article/05/11/01/HNtokyoexchange_1.html?APPLICATION%20PERFORMANCE%20MANAGEMENT | access-date = 2008-07-30}}</ref><ref>{{cite web | last = Associated Press | title = Official: Software glitch, not bomb, shut airport | publisher = NBC News | date = 2006-04-20 | url = https://www.nbcnews.com/id/wbna12411853 | access-date = 2008-07-30}}</ref> | |||
A software upgrade might result in incompatibility that causes hardware to stop functioning. | |||
A change, considered an upgrade by some, may be considered a downgrade by others. A user may prefer a different version even if the so-called upgrade functions per design. The user might be accustomed to the other version or might miss removed features (see [[iPhone 7#Headphone jack controversy|iPhone jack removal controversy]] or [[OtherOS]]). | |||
A change, intended to upgrade, has the risk of [[Brick (electronics)|brick]]ing a device. This can happen for an embedded device in which updates are typically all-or-nothing,{{sfn|the upgrade is a firmware or filesystem image, which isn't usable if it's only partially written}} and which have limited ability to recover from a failed update.<ref name="murphy-compatible">{{cite journal |last=Ben-Yossef |first=Gilad |title=Building Murphy-compatible embedded Linux systems |url=https://www.kernel.org/doc/ols/2005/ols2005v1-pages-21-36.pdf |journal=Proceedings of the Linux Symposium |volume=1 |pages=21–36 |access-date=23 June 2016}}</ref> Solutions to this generally involve keeping multiple copies of firmware in device storage, so that one can be upgraded while the other remains intact as a fallback, but there are still holes which can cause this to fail.<ref name="murphy-compatible" /><ref name="swupdate">{{cite web |url=https://sbabic.github.io/swupdate/overview.html |title=Software Management on embedded systems |last=Babic |first=Stefano |access-date=23 June 2016}}</ref><ref name="rauc">{{cite web | url=https://rauc.readthedocs.io/en/latest/ | title=Welcome to the RAUC documentation | access-date=5 May 2020}}</ref> Tools such as [https://mender.io/ Mender.io],<ref>{{Cite web|last=Northern.tech|title=Open source over-the-air software updates for Linux devices|url=https://mender.io/|access-date=2021-08-03|website=mender.io|language=en}}</ref> Sysup,<ref name="murphy-compatible" /> SWUpdate, RAUC,<ref name="rauc" /> and [[OSTree]]<ref name="ostree">{{cite web | url=https://ostree.readthedocs.io/en/latest/manual/introduction/ | title=OSTree Overview | access-date=5 May 2020 | archive-date=15 July 2019 | archive-url=https://web.archive.org/web/20190715083842/https://ostree.readthedocs.io/en/latest/manual/introduction/ | url-status=dead }}</ref> provide solutions that implement upgrades in a safe [[Atomicity (database systems)|atomic]] way, and reduce or eliminate the need to customize bootloaders and other components. Desktop systems are more likely to use something like [[Snapshot (computer storage)|snapshots]] or [[System Restore|restore points]]; these are more efficient as they only require a small fraction of space to store the changes from the old system to the new one, but the lack of a turnkey implementation for embedded systems makes this impractical. | |||
== See also == | == See also == | ||
{{Wiktionary}} | {{Wiktionary}} | ||
* | *{{Annotated link|Adaptation kit upgrade}} | ||
* | *{{Annotated link|Advanced Packaging Tool}} | ||
* | *{{Annotated link|Macintosh Processor Upgrade Card}} | ||
* | *{{Annotated link|Patch (computing)}} | ||
* | *{{Annotated link|Software update}} | ||
* | *{{Annotated link|Source upgrade}} | ||
*{{Annotated link|Windows Anytime Upgrade}} | |||
*{{Annotated link|Yellow dog Updater, Modified}} | |||
== References == | == References == | ||
Latest revision as of 23:21, 7 December 2025
Template:Short description Script error: No such module "other uses". Script error: No such module "redirect hatnote".
An upgrade is the result of improving something by replacing part of it or adding additional parts. For example, one can upgrade a computer by replacing the CPU with a faster one and by adding more RAM, and afterwards, the computer is an upgrade. Although often used in the context of technology, anything can be upgraded; improved.
Often an update is an upgrade but not always. Update only implies newer; more up-to-date. An update could degrade, or changing to an older version could be an upgrade.
Hardware
Common hardware upgrades include additional memory and storage, and replacing the CPU and graphics card with faster components.
Updating hardware involves the risk of compatibility. For example, added RAM may not be compatible with existing RAM in a computer. Other hardware components may not be compatible after either an upgrade or downgrade, due to the non-availability of compatible drivers for the hardware with a specific operating system.
Software
In order to upgrade software, a package is often downloaded over the Internet; sometimes directly by a user and sometimes automatically by a computer. The package may contain only the data needed to modify the existing version; not the entirety of the software. An upgrade may include improved functionality and bug fixes such as to eliminate a security vulnerability.
Common reasons to create an software upgrade package:[1]
- Support industry regulatory requirements
- Access emerging technologies with new features, and tools
- Meet the demands of changing markets
Upgrading software involves the risk of introducing a bug into the software that might cause it to malfunction. For example, in October 2005, a glitch in a update caused trading on the Tokyo Stock Exchange to shut down for most of the day.[2][3]
A software upgrade might result in incompatibility that causes hardware to stop functioning.
A change, considered an upgrade by some, may be considered a downgrade by others. A user may prefer a different version even if the so-called upgrade functions per design. The user might be accustomed to the other version or might miss removed features (see iPhone jack removal controversy or OtherOS).
A change, intended to upgrade, has the risk of bricking a device. This can happen for an embedded device in which updates are typically all-or-nothing,Template:Sfn and which have limited ability to recover from a failed update.[4] Solutions to this generally involve keeping multiple copies of firmware in device storage, so that one can be upgraded while the other remains intact as a fallback, but there are still holes which can cause this to fail.[4][5][6] Tools such as Mender.io,[7] Sysup,[4] SWUpdate, RAUC,[6] and OSTree[8] provide solutions that implement upgrades in a safe atomic way, and reduce or eliminate the need to customize bootloaders and other components. Desktop systems are more likely to use something like snapshots or restore points; these are more efficient as they only require a small fraction of space to store the changes from the old system to the new one, but the lack of a turnkey implementation for embedded systems makes this impractical.
See also
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
- Template:Annotated link
References
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".