A Storage violation is an attempt at, or successful alteration ("or corruption") of
computer memorythat is intended to have the special status of "protected" (that is - not alterable - at least in the current mode of operation).
It normally applies to selected memory locations having special significance to the
operating systemor "owned" by a particular thread.
Computer storage (another term for memory), is often dynamically allocated from a pool of available memory for a particular "process" such as a program
subroutinecall. For instance, if one megabyteof memory is available for several concurrent applications to use, each application may request its own 'section' of this memory for its own use.
The application may further sub-divide its own allocated memory to process internal functions such as saving
Stack (data structure), working memoryand bitmapimages.
A common type of Storage violation is known as a
stack buffer overflowwhere a program attempts to alter a memory location beyond its' allocated memory. For instance, a "storage violation" occurs if the program tries to alter the eleventh element of an array("table") of only 10 entries (elements) in size. Imagine an array of 10 x 4-letter words in an allocated memory of 40 bytes.
The memory at the address of the eleventh entry may belong to another application program or another thread of the same application. If this is so, the other application now has corrupted memory without necessarily being aware of it. This has traditionally been the source of many unsolved system crashes within computing and sometimes referred to as "
Action at a distance (computer science)". The use of pointersin some Programming languagesmakes it easier to corrupt storage if the pointers are incremented beyond their appropriate range at any given point during execution.
Use of a corrupt
Gotoaddress (sometimes known as a " Wild branch") may also result in execution of code which results in possibly random execution of perfectly valid instructions - but almost certainly completely out of context with appropriate register values for that code. In this case, the " COMEFROM" address may be extremely difficult or even impossible to determine without suitable instruction tracing or monitoring software (but invoked prior to the error occurring - if an exact rerun is even possible - which, in high volume, real-time transaction processing, is seldom the case).
In some instances, it is necessary to switch into privileged mode to enable storage alteration to be successful. This is normally achieved by a special instruction which itself might be privileged.
This right or "privilege" may only be authorized for some users or software or systems on a higher level of operation such as the
Some programming languages use software
Bounds checkingto prevent these occurrences.Some program debuggingsoftware will also detect violations during testing.
computer hardwareprotection features can be used to prevent these too but generally operate on larger blocks of memory than might be appropriate for a given process.
Operating systems generally execute in a "privileged" mode allowing their instructions to alter storage at any location in memory.
Wikimedia Foundation. 2010.
Look at other dictionaries:
Modern searches for Lorentz violation — Important motivations for modern searches for Lorentz violation are deviations from Lorentz invariance (and thus special relativity) predicted by some variations of quantum gravity, string theory, and some alternatives to general relativity.… … Wikipedia
Remote storage digital video recorder — (RS DVR) is a network based digital video recorder (DVR) stored at the provider s central office rather than at the consumer s private home. The RS DVR is still being tested by Cablevision and pending approval by Judge Denny Chi to insure it does … Wikipedia
Memory protection — is a way to control memory access rights on a computer, and is a part of most modern operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug… … Wikipedia
Pointer (computing) — This article is about the programming data type. For the input interface (for example a computer mouse), see Pointing device. Pointer a pointing to the memory address associated with variable b. Note that in this particular diagram, the computing … Wikipedia
Software bug — To report a MediaWiki error on Wikipedia, see Wikipedia:Bug reports. A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or … Wikipedia
IBM OLIVER (CICS interactive test/debug) — OLIVER (CICS interactive test/debug) was a proprietary testing and debugging toolkit for interactively testing programs designed to run on IBM s Customer Information Control System (CICS) on IBM s System/360/370/390 architecture. It provided… … Wikipedia
Защита памяти — (англ. Memory protection) это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти,… … Википедия
Computers and Information Systems — ▪ 2009 Introduction Smartphone: The New Computer. The market for the smartphone in reality a handheld computer for Web browsing, e mail, music, and video that was integrated with a cellular telephone continued to grow in 2008. According to… … Universalium
Gun laws in the United States (by state) — U.S. Firearms Legal Topics Assault weapons ban ATF Bureau Brady Handgun Violence Prevention Act Concealed carry in the U.S. Domestic Violence Offender Gun Ban … Wikipedia
Mathematics and Physical Sciences — ▪ 2003 Introduction Mathematics Mathematics in 2002 was marked by two discoveries in number theory. The first may have practical implications; the second satisfied a 150 year old curiosity. Computer scientist Manindra Agrawal of the… … Universalium