In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
base and bounds refers to a simple form of
virtual memory
In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
where access to
computer memory
Computer memory stores information, such as data and programs, for immediate use in the computer. The term ''memory'' is often synonymous with the terms ''RAM,'' ''main memory,'' or ''primary storage.'' Archaic synonyms for main memory include ...
is controlled by one or a small number of sets of
processor registers called ''base and bounds registers''.
In its simplest form each user
process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
* Business process, activities that produce a specific s ...
is assigned a single contiguous segment of main memory. The
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
loads the physical address of this segment into a ''base register'' and its size into a ''bound register''. ''Virtual'' addresses seen by the program are added to the contents of the base register to generate the ''
physical address
In computing, a physical address (also real address, or binary address), is a memory address that is represented in the form of a binary number on the address bus circuitry in order to enable the data bus to access a ''particular'' storage cell o ...
''. The address is checked against the contents of the bounds register to prevent a process from accessing memory beyond its assigned segment.
The operating system is not constrained by the hardware and can access all of physical memory.
This technique protects memory used by one process against access or modification by another. By itself it does not protect memory from erroneous access by the owning process. It also allows programs to be easily
relocated in memory, since only the base and bounds registers have to be modified when the program is moved.
Some computer systems extended this mechanism to multiple segments, such as the ''i bank'' and ''d bank'' for instructions and data on the
UNIVAC 1100 series computers or the separation of memory on the DEC
PDP-10
Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especi ...
system into a read/write "low" segment for the user process and a read-only "high" segment for sharable code.
Apple Computer
Apple Inc. is an American multinational corporation and technology company headquartered in Cupertino, California, in Silicon Valley. It is best known for its consumer electronics, software, and services. Founded in 1976 as Apple Computer Co ...
's
MultiFinder of 1987 is a more modern use of this technique. Programs shipped with a requested bounds figure stored in the
resource fork
A resource fork is a fork of a file on Apple's classic Mac OS operating system that is used to store structured data. It is one of the two forks of a file, along with the data fork, which stores data that the operating system treats as unstruct ...
and the operating system attempted to move the program to an area in memory with that amount free. The user could also adjust this figure using the Get Info dialog, typically to increase the amount of memory for programs with large needs, like
Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe for Windows and macOS. It was created in 1987 by Thomas and John Knoll. It is the most used tool for professional digital art, especially in raster graphics editin ...
.
Segmented
virtual memory
In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
is a further generalization of this mechanism to a large number of segments. Usually the ''segment table'' is kept in memory rather than registers.
See also
*
Memory management (operating systems)
*
Memory management unit
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit that examines all references to computer memory, memory, and translates the memory addresses being referenced, known as virtual mem ...
References
{{Operating System
Memory management
Virtual memory