Search This Blog

Blog Inauguration By : Prof. N. L. Vijaykumar, INPE - Brazil

CSE

PATCH

 PATCH:

 Certain errors inadvertently creep in when software is designed. These come to light only when people use the software extensively. These errors are called 'Bugs' .However, the first computer bug is said to have been a moth. It was found squashed between the points of an electro mechanical relay in the Mark II computer in 1945, and is still kept at the National Museum of American History. A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it.This includes fixing security vulnerabilities and other bugs, with such patches usually being called bug fixes or bug fixes. Patches are often written to improve the functionality, usability, or performance of a program. The majority of patches are provided by software vendors for operating system and application updates. Patches may be installed either under programmed control or by a human programmer using an editing tool or a debugger. They may be applied to program files on a storage device, or in computer memory. Patches may be permanent  or temporary. Patching makes possible the modification of compiled and machine language object programs when the source code is unavailable. This demands a thorough understanding of the inner workings of the object code by the person creating the patch, which is difficult without close study of the source code. Someone unfamiliar with the program being patched may install a patch using a patch utility created by another person who is the Admin. Even when the source code is available, patching makes possible the installation of small changes to the object program without the need to recompile or reassemble. The patch code must have place in memory to be executed at runtime. Inline patches are no difficulty, but when additional memory space is needed the programmer must improvise. Naturally if the patch programmer is the one who first created the code to be patched, this is easier. Savvy programmers plan in advance for this need by reserving memory for later expansion, left unused when producing their final iteration. Other programmers not involved with the original implementation, seeking to incorporate changes at a later time, must find or make space for any additional bytes needed. The most fortunate possible circumstance for this is when the routine to be patched is a distinct module. In this case the patch programmer need merely adjust the pointers or length indicators that signal to other system components the space occupied by the module; he is then free to populate this memory space with his expanded patch code. If the routine to be patched does not exist as a distinct memory module,the programmer must find ways to shrink the routine to make enough room for the expanded patch code.  A patch or a fix is a piece of software that when executed, changes that faulty piece of binary code, which caused the bug, or inserts new code to counter the faulty coding. These patches are released on the developer's Web site, along with instructions to download and install them. A patch is not necessarily the best solution to the bug. It could be an immediate remedy a quickfit. The best solution is normally brought about in the next release of the software. Also, patches not only fix bugs, they are also released to correct flaws or vulnerabilities that a hacker can utilized to gain unauthorized access to the computer. Some companies also refer to patches as updates.

No comments:

Post a Comment