程序再定位是指 将程序中的逻辑地址转换为物理地址的过程。在计算机系统中,程序在装入主存储器时,需要将其逻辑地址转换为物理地址,以确保程序能够正确地在分配的内存空间中执行。程序再定位可以分为两种类型:
静态再定位
在程序装入主存储器时,由连接装入程序进行。
在程序开始运行前,程序中所有与地址相关的项都已经完成了重定位。
静态重定位的优点是地址变换在程序装入时一次性完成,以后不再改变,因此效率较高。
动态再定位
在程序执行时,由动态地址变换机构(硬件)自动执行,将相对地址转换为绝对地址。
动态再定位的优点是程序在运行过程中可以根据需要动态改变其存储位置,从而提高内存空间的使用率。
动态再定位需要软件和硬件相互配合完成。
重定位是操作系统安排的一种过程,通过在程序装入时记录起始地址,并在执行有相对地址的指令时,将所有地址加上起始地址,从而实现逻辑地址到物理地址的转换。这种技术使得多道程序能够在有限的内存空间中同时运行,并提高内存的使用效率。