编译时、装入时、执行时是指计算机程序的三个阶段。
编译时是指将高级语言源代码转换为目标代码的过程(编译程序将用户源代码编译成目标模块,源地址编译成目标程序时,会形成逻辑地址),装入时是指将程序从外存调入内存并准备执行的过程,执行时是指程序在计算机上运行的过程。
绝对装入是指在编译时就确定程序在内存中的位置,程序装入内存时不需要进行地址重定位。这种方式的优点是装入速度快,但缺点是程序不能被装入到内存的任何位置。
可重定位装入是指在编译时不确定程序在内存中的位置,程序装入内存时需要进行地址重定位。这种方式的优点是程序可以被装入到内存的任何位置,但缺点是装入速度相对较慢。
动态运行时装入是指程序在运行时才被装入内存,并且地址重定位也是在运行时进行的。这种方式的优点是程序可以在运行时动态加载,节省内存空间,但缺点是装入速度相对较慢,且需要重定位寄存器的支持。
1、虚拟内存管理中,地址变换机构将虚拟地址变成实地址,形成物理地址的阶段是在编译时。
2、动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转化为物理地址,而是把这种地址转换推迟到程序真正要执行时才进行。
3、装入时动态链接,将用户源程序编译后得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式