Difference between revisions of "Base and bounds"

From Computer History Wiki
Jump to: navigation, search
(Move content to new Memory management page)
m (Alt term)
Line 1: Line 1:
'''Base and bounds''' is the term for one of the earliest [[memory management]] mechanisms. As the name suggests, it consisted of a pair of [[register]]s which gave the location in [[main memory]](the 'base') of the [[user]]'s allocated memory area, and another which set a limit on the size of that area (the 'bound').
+
'''Base and bounds''' (also '''base and limits''') is the term for one of the earliest [[memory management]] mechanisms. As the name suggests, it consisted of a pair of [[register]]s which gave the location in [[main memory]](the 'base') of the [[user]]'s allocated memory area, and another which set a limit on the size of that area (the 'bound').
  
 
(Whether that limit was in terms of actual main memory, or in terms of the user's [[address space]], depended on the details of the hardware implementation, and was only relevant to the [[operating system]].)
 
(Whether that limit was in terms of actual main memory, or in terms of the user's [[address space]], depended on the details of the hardware implementation, and was only relevant to the [[operating system]].)

Revision as of 17:08, 11 June 2018

Base and bounds (also base and limits) is the term for one of the earliest memory management mechanisms. As the name suggests, it consisted of a pair of registers which gave the location in main memory(the 'base') of the user's allocated memory area, and another which set a limit on the size of that area (the 'bound').

(Whether that limit was in terms of actual main memory, or in terms of the user's address space, depended on the details of the hardware implementation, and was only relevant to the operating system.)

What was visible to the user was whether the address space visible to the program started at 0, or at the actual physical address of the memory assigned to that user. Doing the latter simplified programming, but required an adder in the path of addresses, which potentially had a performance impact (unless the delay caused could be overlapped with some other necessary operation).