驻留程序是一种 特殊应用程序,它在装入内存运行后,其部分代码仍然驻留在内存中。当该段代码被激活时,它又进入运行状态。驻留程序通常作为某个中断处理程序的一部分,其激活条件是系统产生了相应的中断请求。
具体来说,驻留程序有以下几种用途和特征:
中断处理程序:
驻留程序可以作为中断处理程序的一部分,在系统产生中断请求时被激活。例如,在DOS操作系统中,INT 21H中断用于提供各种系统服务,而处理该中断的程序可能会使用驻留程序来处理一些临时数据。
递归调用优化:
在编写递归调用的程序时,为了避免临时变量被改变的危险,可以将参数放在堆栈里而不是通过设置变量。这样,在下一层程序返回时,不会有临时变量被改变的危险。这种做法类似于驻留程序的使用。
永久占据内存:
有些驻留程序在程序执行完毕后,仍然会有一部分代码驻留在内存中。这些程序可能是软件所带的附加插件或者是流氓软件。当这些程序占用的内存无法释放时,可能会导致系统性能下降或停止响应。
输入法程序:
例如,输入法程序在用户打字时会一直驻留在内存中,直到用户关闭输入法窗口。如果用户长时间不关闭输入法窗口,可能会导致系统资源无法释放,影响系统性能。
自动执行任务:
有些驻留程序可以实现每天固定一个时间自动执行某些任务,例如删除指定文件。这类程序通常会在系统启动时自动运行,并在完成预定任务后继续驻留在内存中,直到被显式地移除。
总的来说,驻留程序是一种在内存中保持部分代码运行的特殊应用程序,它可以用于处理中断、优化递归调用、实现自动执行任务等多种用途。然而,如果不正确地管理这些程序,可能会导致系统性能下降或资源无法释放。