常駐程式

記憶體常駐程式(Terminate-and-Stay Resident program 簡稱TSR程式)是把自己裝入記憶體後將控制返回給作業系統,然後在後台等待用戶按下指定的組合鍵(熱鍵)或產生相應的中斷時,TSR被激活,立即中斷當前運行的程式,並允許立即訪問它所提供的服務。採用.COM格式書寫。

基本介紹

  • 中文名:常駐程式
  • 外文名:resident program
  • 特點:存在於計算機記憶體儲器中某一特定
  • 定義:常用的DOS命令
定義,常駐記憶體程式,什麼是常駐記憶體程式,怎樣使代碼常駐記憶體,為什麼初始化代碼不需要常駐記憶體,

定義

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

常駐記憶體程式

什麼是常駐記憶體程式

什麼是常駐記憶體程式,應採用什麼格式書寫(.COM or .EXE):
記憶體常駐程式(Terminate-and-Stay Resident program 簡稱TSR程式)是把自己裝入記憶體後將控制返回給作業系統,然後在後台等待用戶按下指定的組合鍵(熱鍵)或產生相應的中斷時,TSR被激活,立即中斷當前運行的程式,並允許立即訪問它所提供的服務。採用.COM格式書寫。

怎樣使代碼常駐記憶體

要使代碼常駐記憶體,必須在程式中重新定義中斷向量表中的部分單元,在初始化程式時用自己的地址取代中斷向量表中的地址,此時需要確定常駐部分程式的大小,然後使用中斷去通知系統結束執行當前程式,並把指定的部分保留在記憶體中。在本題中系統的定時器將觸發運行常駐程式。(詳見源程式中過程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 後面絕不可寫等號,用一個空格與常駐程式名隔開就可以。

相關詞條

熱門詞條

聯絡我們