複製鏈接
請複製以下鏈接發送給好友

常駐程序

鎖定
內存常駐程序(Terminate-and-Stay Resident program 簡稱TSR程序)是把自己裝入內存後將控制返回給操作系統,然後在後台等待用户按下指定的組合鍵(熱鍵)或產生相應的中斷時,TSR被激活,立即中斷當前運行的程序,並允許立即訪問它所提供的服務。採用.COM格式書寫。
中文名
常駐程序
外文名
resident program
特    點
存在於計算機內存儲器中某一特定
定    義
常用的DOS命令

常駐程序定義

常駐程序(resident program)
存在於計算機內存儲器中某一特定區域內的程序。
例如:常用的DOS命令,或BASIC語言等固化在只讀存儲器(ROM)中,供用户隨時調用。

常駐程序常駐內存程序

常駐程序怎樣使代碼常駐內存

要使代碼常駐內存,必須在程序中重新定義中斷向量表中的部分單元,在初始化程序時用自己的地址取代中斷向量表中的地址,此時需要確定常駐部分程序的大小,然後使用中斷去通知系統結束執行當前程序,並把指定的部分保留在內存中。在本題中系統的定時器將觸發運行常駐程序。(詳見源程序中過程main)

常駐程序為什麼初始化代碼不需要常駐內存

初始化代碼只需要在程序第一次執行時運行,在程序運行後需要初始化的部分已經完成。在本題中需要初始化的是使程序留駐內存和鼠標的初始化。在第一次運行本程序時初始化程序以完成使駐留部分常駐內存,在調用過程mouseup之後鼠標操作即可進行,此時若使初始化代碼常駐內存已無必要,而且會造成內存空間的浪費。
常駐程序也叫常駐內存程序、TSR程序或駐留程序,是指那些一旦執行便永久地佔據內存(這些程序永遠呆在內存裏不出來)的程序。程序常駐內存後,就有機會隨時發揮作用,監視和控制用户的工作。例如病毒就是典型的常駐程序,啓動漢字操作系統時需運行的程序如SPIIB.COM、SPDOS.COM、PY.COM,鼠標管理程序MOUSE..COM等都是常駐程序。DOS6.22中的SMARTDRV.EXE、DOSKEY.COM、VSAFE.COM等也是常駐程序。
常駐程序都必須在DOS提示符下運行,不能寫在CONFIG.SYS中。所以判斷一個程序是設備驅動程序還是一個常駐程序的通常方法是:若其必須寫在CONFIG.SYS中,則便是設備驅動程序;若只能在DOS提示符下運行便是一個常駐程序(當然能在DOS提示符下運行的並不都是常駐程序)。
如果運行常駐程序時沒寫LOADHIGH,如MOUSE,則該常駐程序便將駐留在常規內存中,若想將常駐程序調到UMB中,必須在命令的前面寫上LOADHIGH(注意:LOADHIGH簡寫為LH),例如:LOADHIGHMOUSE.COM.則MOUSE.COM被放到UMB中。
要特別注意這兩個命令的用法差別:設備驅動程序只能用“DEVICEHIGH=”命令,常駐 內存只能用“LOADHIGH”命令(或“LH”命令),並且DEVICEHIGH前面必須寫上等號,而LOADHIGH 後面絕不可寫等號,用一個空格與常駐程序名隔開就可以。