memory protection


memory protection

[′mem·rē prə′tek·shən] (computer science) storage protection

Memory Protection

 

the hardware and software methods for the prevention of the writing or reading of information at an unauthorized address in the memory of a computer or computing system.

Memory protection is based on the division of the memory of a digital computer, either by software or by hardware, into a sequence of segments and the providing of each segment or group of segments with a code key, which is stored in the same or in a special memory. During a memory cycle the segment and the corresponding key are determined; then the key is compared with the authorized key of the memory protection, which is specified in the same instruction or in a supervisory program. A discrepancy in the keys is regarded as a memory protection violation, and the execution of the program is interrupted. The interruption of the program is organized so that the protected region of memory is left un-changed. Memory protection functions during every memory cycle, either in the cycle for writing information or in the information reading cycle, or in both.

Memory protection preserves the contents of specified regions of memory from loss of information during program execution as a result of erroneous transmission of information caused by failures or breakdowns in the equipment or in the supervisory program of the digital computer, or those caused by mistakes of the programmer or user; it also prevents information from falling into the hands of an unauthorized user through accidental or intentional interference.

Hardware methods of memory protection include storage devices for the protection keys; the capacity of these devices corresponds to the number of protected segments, and the speed is greater by a factor of 10 than that of the digital computer’s working memory. In addition, there are circuits for the comparison of the protection keys and for the interruption and indication of memory protection violations. Software means of memory protection include programs for monitoring the memory segments, encoding them, and compiling tables of correspondence; programs for the dynamic redistribution of memory protection according to user’s instructions and according to the parameters of the simultaneously solved tasks; and programs for the analysis of the causes of memory protection violations and the adoption of solutions for their elimination.

Memory protection increases the efficiency of digital computer operation, reducing time losses caused by the search for errors and repeated computation resulting from loss of information. Memory protection is necessary for the simultaneous solution of several problems on one digital computer in a time-sharing system, for the simultaneous service of several users, for the use of program libraries and archives belonging to several users, and for the simultaneous operation of several on-line units.

A. V. GUSEV

memory protection

(memory management)A system to prevent one processcorrupting the memory (or other resources) of any other,including the operating system. Memory protection usuallyrelies on a combination of hardware (a memory management unit) and software to allocate memory to processes and handleexceptions.

The effectiveness of memory protection varies from oneoperating system to another. In most versions of Unix it isalmost impossible to corrupt another process' memory, exceptin some archaic implementations and Lunix (not Linux!).Under Microsoft Windows (version? hardware?) any 16 bit application(?) can circumvent the memory protection, oftenleading to one or more GPFs. Currently (April 1996) neitherMicrosoft Windows 3.1, Windows 95, nor Mac OS offermemory protection. Windows NT has it, and Mac OS System 8will offer a form of memory protection.

memory protection

A technique that prohibits one program in memory from accidentally clobbering another active program in memory. Using various methods, a protective boundary is created around the program, and instructions within the program are prohibited from referencing data outside of that boundary.

When a program erroneously points to data or instructions beyond its boundary, earlier personal computer operating systems, such as DOS, Windows 3.x and Windows 95/98, simply froze (crashed, bombed). Operating systems such as Unix, Linux and subsequent versions of Windows are more robust and generally allow the errant program to be closed without affecting the remaining active programs. See abend and memory.