代码迁移(code migration),理学-计算机科学技术-计算机体系结构-分布式处理系统,代码在分布式系统节点之间移动的技术。常用来简化和优化系统设计,可以对系统负载平衡、性能提升、灵活性、容错性和动态配置服务等分布式系统特点提供基础支撑。在分布式系统中,代码迁移更多是以进程迁移的形式进行的,可以将进程分为代码段、资源段和执行段:代码段包含运行程序的所有指令;资源段包含进程所需要的外部资源的指针;执行段包含进程当前执行状态的各种状态参数。代码迁移可分为强可移动和弱可移动两种形式:弱可移动只传输代码以及一些初始数据,即把程序移动到另一台机器上重新开始执行,又称静态放置。强可移动除传输代码段外,还要传输执行段,对进程而言,就是先终止进程的运行,迁移到另一台机器上后,再从中断位置继续执行,又称动态进程迁移。不同的系统可能采用不同的设计细节,最基本的迁移机制将遵照:主机协商→进程冻结→状态收集→状态转移→重新启动等实现步骤。相对于静态放置(如进程远程执行),动态进程迁移具有灵活且应用广泛的优点,如支持动态负载平衡、系统容错、高效使用本地资源等诸多系统功能;其缺点是运行开销相对较大。