Citizendia
Your Ad Here

A patch is a small piece of software designed to update or fix problems with a computer program or its supporting data. Computer programs (also software programs, or just programs) are instructions for a Computer. This includes fixing bugs, replacing graphics and improving the usability or performance. A software bug (or just “bug” is an error flaw mistake Failure, fault or “undocumented feature” in a Computer program that prevents it A performance, in Performing arts, generally comprises an event in which one group of people (the performer or performers behave in a particular way for another group of people Though meant to fix problems, poorly designed patches can sometimes introduce new problems (see software regressions). A software regression is a Software bug which makes a feature stop functioning as intended after a certain event (for example a system upgrade system patching or

Patch management is the process of using a strategy and plan of what patches should be applied to which systems at a specified time.

Contents

Types

Programmers publish and apply patches in various forms. Because proprietary software authors withhold their source code, their patches are distributed as binary executables instead of source. Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable This type of patch modifies the program executable—the program the user actually runs—either by modifying the binary file to include the fixes or by completely replacing it.

Patches can also circulate in the form of source code modifications. In these cases, the patches consist of textual differences between two source code files. These types of patches commonly come out of open source projects. Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge In these cases, developers expect users to compile the new or changed files themselves.

Because the word "patch" carries the connotation of a small fix, large fixes may use different nomenclature. Bulky patches or patches that significantly change a program may circulate as "service packs" or as "software updates". A service pack (in short SP) is a collection of updates fixes and/or enhancements to a software program delivered in the form of a single installable package Microsoft Windows NT and its successors (including Windows 2000, Windows XP, and later versions) use the "service pack" terminology. Windows NT is a family of Operating systems produced by Microsoft, the first version of which was released in July 1993 Windows 2000 (also referred to as Win2K) is a preemptive, interruptible graphical and business-oriented Operating system designed to work with Windows XP is a family of 32-bit and 64-bit Operating systems produced by Microsoft for use on Personal computers including home and

In several Unix-like systems, particularly Linux, updates between releases are delivered as new software packages. A Unix-like (sometimes shortened to *nix) Operating system is one that behaves in a manner similar to a Unix system while not necessarily conforming Linux (commonly pronounced ˈlɪnəks These updates are in the same format as the original installation so they can be used either to update an existing package in-place (effectively patching) or be used directly for new installations.

History

Applying a patch once involved a tedious, error-fraught process that required end-users to follow an often ill-documented set of procedures. Missing or misapplying a step usually resulted in having to re-install both the application and patch. Today, patch installation generally occurs automatically.

Historically, software suppliers distributed patches on paper tape or on punched cards, expecting the recipient to cut out the indicated part of the original tape (or deck), and patch in (hence the name) the replacement segment. Punched tape or paper tape is a largely obsolete form of Data storage, consisting of a long strip of paper in which holes are punched to store data Later patch distributions used magnetic tape. Then, after the invention of removable disk drives, patches came from the software developer via a disk or, later, CD-ROM via mail. A floppy disk is an increasingly Obsolete data storage medium that is composed of a disk of thin flexible ("floppy" Magnetic storage medium encased CD-ROM (an initialism of "Compact Disc Read-Only Memory " is a pre-pressed Compact Disc that contains data accessible to but not writable Mail, or post, is a method for transmitting information and tangible objects wherein written Documents typically enclosed in Envelopes and also Today, with almost ubiquitous Internet access, end-users must download most patches from the developer's web site. The Internet is a global system of interconnected Computer networks To download is to receive data from a remote or central system such as a Webserver, FTP server, mail server or other similar systems A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages

Today, computer programs can often coordinate patches to update a target program. Automation simplifies the end-users' task -- they need only to execute an update program, whereupon that program makes sure that updating the target takes place completely and correctly. Service packs for Microsoft Windows NT and its successors and for many commercial software products adopt such automated strategies. Windows NT is a family of Operating systems produced by Microsoft, the first version of which was released in July 1993

Some programs can update themselves via the Internet with very little or no intervention on the part of users. The Internet is a global system of interconnected Computer networks The maintenance of server software and of operating systems often takes place in this manner. A server is a Computer dedicated to providing one or more services over a computer network typically through a request-response routine An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination In situations where system administrators control a number of computers, this sort of automation helps to maintain consistency. The application of security patches commonly occurs in this manner.

Application

The size of patches may vary from a few kilobytes to hundreds of megabytes — mostly more significant changes imply a larger size, though this also depends on whether the patch includes entire files or only the changed portion(s) of files. A kilobyte (derived from the SI prefix Kilo -, meaning 1000 is a unit of Information or Computer storage equal to either 1024 A megabyte is a unit of Information or Computer storage equal to either 106 (1000000 Bytes or 220 (1048576 bytes depending on In particular, patches can become quite large when the changes add or replace non-program data, such as graphics and sounds files. Such situations commonly occur in the patching of computer games. A personal computer Game (also known as a computer game or simply PC game) is a Video game played on a Personal computer, rather Compared with the initial installation of software, patches usually do not take long to apply.

In the case of operating systems and computer server software, patches have the particularly important role of fixing security holes. To facilitate updates, operating systems often provide automatic or semi-automatic update facilities.

Completely automatic updates have not succeeded in gaining widespread popularity in corporate computing environments, partly because of the aforementioned glitches, but also because administrators fear that software companies may gain unlimited control over their computers. Package management systems can offer various degrees of patch automation. A package management system is a collection of tools to automate the process of installing upgrading configuring and removing software packages from a Computer

Usage of completely automatic updates is far more widespread in the consumer market, due largely to the fact that Microsoft Windows added support for them, and Service Pack 2 of Windows XP enabled them by default. Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft.

Cautious users, particularly system administrators, tend to put off applying patches until they can verify the stability of the fixes. Microsoft (W)SUS support this. In the cases of large patches or of significant changes, distributors often limit availability of patches to qualified developers as a beta test. A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product

Applying patches to firmware poses special challenges: re-embedding typically small code sets on hardware devices often involves the provision of totally new program code, rather than simply of differences from the previous version. In Computing, firmware is a computer program that is Embedded in a hardware device for example a Microcontroller. Often the patch consists of bare binary data and a special program that replaces the previous version with the new version is provided. A motherboard BIOS update is an example of a common firmware patch. A motherboard is the central or primary Printed circuit board (PCB making up a complex electronic system such as a modern Computer or Laptop In Computing, the BIOS (ˈbaɪoʊs Any unexpected error or interruption during the update, such as a power outage, may render the motherboard unusable. It is possible for motherboard manufacturers to put safeguards in place to prevent serious damage. An example safeguard is to keep a backup of the firmware to use in case the primary copy is determined to be corrupt (usually through the use of a checksum, such as a CRC). A checksum is a form of Redundancy check, a simple way to protect the integrity of data by detecting errors in data that are sent through space ( Telecommunications A cyclic redundancy check (CRC is a type of function that takes as input a data stream of any length and produces as output a value of a certain space commonly a 32-bit integer

Computer games

Unlike applications such as word processors, patches play a unique role in computer games. A personal computer Game (also known as a computer game or simply PC game) is a Video game played on a Personal computer, rather Computer games often — almost always today — require patches to fix compatibility problems after their initial release.

Patches may also be released to change game rules or algorithms. In Mathematics, Computing, Linguistics and related subjects an algorithm is a sequence of finite instructions often used for Calculation These patches may be prompted by the discovery of exploits in the multiplayer game experience that give canny users unfair advantages. In the realm of online games an exploit is usually a Software bug, hack or bot that contributes to the user's prosperity in a manner not intended by the A multiplayer video game is one which more than one person can play in the same game environment at the same time Extra features and game play tweaks are also often added. These kinds of patches are especially common in MMORPGs and first-person shooters. A massively multiplayer online role-playing game ( MMORPG) is a genre of Computer role-playing games (CRPGs in which a large number of players interact with A first-person shooter ( FPS) is an action Video game from the Shooter game The initial development of Maze War

Multiplayer games may reject any users that are not using the same patch version in order to avoid conflicts between versions. This also gives users an incentive to update their versions.

Microsoft released a patch for their Microsoft Flight Simulator after the attacks on New York on September 11, 2001. Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer Microsoft Flight Simulator (sometimes abbreviated to MSFS or FS) is a Flight simulator program for Microsoft New York ( is a state in the Mid-Atlantic and Northeastern regions of the United States and is the nation's third most populous It removed the World Trade Center from the New York scenery on earlier versions of the simulator, a rare example of a patch released to assuage public sensitivity rather than fix technical problems. The World Trade Center in New York City, United States (sometimes informally the WTC or Twin Towers) was a complex of seven buildings in Lower Manhattan

Tools

There are several tools to aid in the patch application process, such as RTPatch, JUpdater or StableUpdate. JUpdater is a project which aims to create a utility that allows developers to quickly implement version checks into Java programs StableUpdate is a cross platform library for automatic update of the installed applications on the client side WinZip Self-Extractor can launch a program that can apply a patch. WinZip is a proprietary file archiver and compressor for Microsoft Windows, developed by WinZip Computing (formerly Nico Mak Computing

Patches in software development

Patches sometimes become mandatory to fix problems with libraries or with portions of source code for programs in frequent use or in maintenance. In Computer science, a library is a collection of Subroutines used to develop Software. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable This commonly occurs on very large-scale software projects, but rarely in small-scale development.

In open source projects, the authors commonly receive patches or many people publish patches that fix particular problems or add certain functionality, like support for local languages outside the project's locale. Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge In an example from the early development of the Linux operating system (noted for publishing its complete source code), Linus Torvalds, the original author, received hundreds of thousands of patches from many programmers to apply against his original version. Linux (commonly pronounced ˈlɪnəks Linus Benedict Torvalds ( ˈtuːrvalds born December 28 1969 in Helsinki, Finland) is a Finnish software engineer A programmer is someone who writes Computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist

The Apache HTTP Server originally evolved as a number of patches that a webmaster created to add new features to NCSA HTTPd, hence the name that implies that it is a collection of patches: "a patchy server". The webmaster (feminine webmistress) also called the Web architect, the Web developer, the site author, or the website The NCSA HTTPd was a Web server originally developed at the NCSA by Robert McCool and others The FAQ on the project's official site states that the name 'Apache' was chosen from respect for the Native American Indian tribe of Apache. However, the 'a patchy server' explanation was initially given on the project's website. [1]

Security patches

If a patch is a piece of data used to update a software product, then a security patch is a change applied to an asset to correct the weakness described by a vulnerability. This corrective action will prevent successful exploitation and remove or mitigate a threat’s capability to exploit a specific vulnerability in an asset.

Security patches are the primary method of fixing security vulnerabilities in software. Currently Microsoft releases their security patches once a month, and other operating systems and software projects have security teams dedicated to releasing the most reliable software patches as soon after a vulnerability announcement as possible. Security patches are closely tied to responsible disclosure. In Computer security, full disclosure means to disclose all the details of a security problem which are known

Hot patching

Hot patching is a technology that allows patches to be applied without shutting down and restarting the system or the program. This addresses problems related to unavailability of service provided by the system or the program. [2][3]. A patch that can be applied in this way is called a hot patch.

References

  1. ^ Wayback Machine link to the Apache website, 1997
  2. ^ http://www.microsoft.com/technet/prodtechnol/windowsserver2003/servicepack/overview.mspx
  3. ^ http://www.oracle.com/technology/oramag/oracle/07-sep/o57field.html

See also

External links

patch is a Unix program that updates text files according to instructions contained in a separate file called a patch file. See also Software portability In Computer science, porting is the process of adapting software so that an executable program can be created A hotfix is a single cumulative package that includes one or more files that are used to address a problem in a software product (i
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic