Relocation (computing): Difference between revisions

Content deleted Content added
Line 5:
{{Use American English|date=January 2019}}
{{anchor|Static|Dynamic|Compile-time|Load-time|Run-Time|Virtual|Page boundary|Paragraph boundary|Segment|Offset|Line}}
'''Relocation''' is the process of assigning load addresses for position-dependent code and data of a program and adjusting the code and data to reflect the assigned addresses.<ref name="Intel_iRMX"/><ref name="Levine_1999_CH1_CH3"/> Prior to the advent of multiprocess systems, and still in many embedded systems, the addresses for objects wereare [[absolute address|absolute]] starting at a known ___location, often zero. Since multiprocessing systems dynamically link and switch between programs it became necessary to be able to relocate objects using [[position-independent code]].
A [[linker (computing)|linker]] usually performs relocation in conjunction with '''symbol resolution''', the process of searching files and libraries to replace symbolic references or names of [[library (computer science)|libraries]] with actual usable addresses in [[primary storage|memory]] before running a program.