Difference between revisions of "Base and bounds"
m (avoid redir) |
(Move content to new Memory management page) |
||
Line 1: | Line 1: | ||
− | '''Base and bounds''' is the term for one of the earliest | + | '''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'). |
− | + | (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). | 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). | ||
− | |||
− | |||
{{stub}} | {{stub}} |
Revision as of 16:00, 14 December 2017
Base and bounds 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).