promotion image of download ymail app
Promoted
Anonymous
Anonymous asked in 電腦與網際網路其他:電腦 · 1 decade ago

組合語言問題,20點喔

1.何謂常駐程式(TSR)?

2.IBM PC提供什麼資源或技術可支援此設計?

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    個人電腦中,系統提供了 BIOS 和 DOS 做為硬體存取的界面, BIOS 的作法是將其燒錄在 ROM(Read Only Memory) 之內, 而 DOS 則會將核心,包括控制 I/O 的裝置驅動程式、Memory Manager、Process Manager 等等留駐於記憶體中。如此當使用裝置設備時, 便可不必再重新自磁碟載入,因而免除磁片讀取的麻煩,進而增進使用效率。

    DOS 允許執行的程式在結束後將部份或全部的程式碼(或名為 Process、Image) 留駐在記憶體中, 這原是系統為裝置驅動程式 (Driver) 的設計而保留的重要功能, 然這個功能卻意外的造就出記憶體常駐程式 (TSR,Terminate and Stay Resident) 的另一片天地。當程式留駐在記憶體後,要如何使這些程式碼工作呢? 裝置驅動程式提供一個標準的界面與 DOS 的 API(Application Interface,即 System Function Call) 相結合; 而常駐程式則通常採利用中斷的方式, 亦即可以將這些常駐碼設計成新的中斷服務常式, 一般作法是先叫用原來的中斷服務常式, 然後再執行自己加入的程式碼。TSR 另一優點為程式可隨時安裝,如果不想再使用時, 亦可將其自記憶體中釋放而提供更多的記憶體空間給其它程式來使用。

    設計常駐程式時有幾點必須特別注意: 首先必須考慮一般狀況下的操作情形, 如果使用中斷觸發的話,可視實際需要而決定採用系統產生的中斷或由使用者直接產生的中斷, 並且可以同時數個中斷搭配使用。再者,撰寫週邊的應用程式時, 必須設計一個較友善的使用介面, 如此使用者在操作週邊時才能真正感受到其帶來的便利。當使用常駐程式時必須考慮記憶體中各常駐碼的協調性, 通常若設計出來的常駐程式並不該有錯誤產生,可是卻無法正確的運作, 則不妨對記憶體中常駐程式的載入順序稍作修改,或者不要一次載入太多常駐程式, 避免相互衝突的情況發生。如果 TSR 祇是用來控制一些獨立的硬體裝置, 則直接將 TSR 中的 Service 直接以 ISR 的方式掛在中斷向量即可, 就像 WatchDog 的設計; 但如果使用了 BIOS 或 DOS 的功能, 則必須考慮與 BIOS/DOS 交談時所產生的各種效應,這兒將以融合中斷硬體系統與作業系統的方式設計一個 TSR 模組是為 TSRplus。

    2009-01-22 00:17:40 補充:

    請點選http://www.csie.ntu.edu.tw/~d4526011/my_book_copy/...

    介紹的詳細點= =

    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.