Sharing segments between processes without requiring the same segment number is possible in a dynamically linked segmentation system.
a. Define a system that permits static linking and sharing of segments without requiring that the segment numbers be the same.
b. Describe a paging scheme that permits pages to be shared without requiring that the page numbers be the same.
Answer: Both of these problems decrease to a program being able to reference both its own code and its data without knowing the segment or page number associated with the address. MULTICS solved this difficulty by associating four registers with each process. One register had the address of the existing program segment another had a base address for the stack another had a base address for the global data and so on. The idea is that all references have to be indirect during a register that maps to the current segment or page number. Through changing these registers the same code can execute for different processes without the same page or segment numbers.