中文全文信息檢索系統(tǒng)中索引項技術(shù)及分詞系統(tǒng)的實現(xiàn)
摘 要 該文提出了一種在Windows3.1保護模式下,通過動態(tài)連接庫(DLL)生成中斷服務(wù)程序代碼,實現(xiàn)外設(shè)與Windows應(yīng)用程序?qū)崟r通信的有效方法。
一、前 言
計算機的日益普及和計算機技術(shù)日益成熟,使得計算機在工業(yè)控制監(jiān)測中的應(yīng)用漸漸深入。但工業(yè)應(yīng)用不同于其它方面,它要求有較強的實時性。現(xiàn)在有很多的DOS軟件在運行過程中通過掛接外部中斷方式實現(xiàn)DOS應(yīng)用軟件與外設(shè)的實時通信,這種方法實現(xiàn)起來十分簡單。而在Windows中應(yīng)用程序能否也能夠利用外部硬中斷實現(xiàn)外設(shè)與Windows應(yīng)用程序的實時通信呢?答案是肯定的。這里的關(guān)鍵是要解決好中斷代碼與Windows應(yīng)用程序相互之間交換信息的問題。
從外設(shè)發(fā)送異步的'硬中斷,通過中斷處理程序傳遞一條信息給Windows應(yīng)用程序。這時可以初始化相關(guān)端口,準(zhǔn)備好數(shù)據(jù),然后進行數(shù)據(jù)傳送,從而做到實時通信。
實現(xiàn)Windows應(yīng)用程序響應(yīng)外部中斷的方法有很多,如Microsoft公司自己開發(fā)的SDK、DDK軟件包,使用嵌入式匯編等等。本文將介紹一種在BC 3.1的基礎(chǔ)上利用Windows 3.1擁有的一些功能實現(xiàn)Windows實時通信的實例。
二、中斷代碼的位置
在Windows中,幾乎所有的異步事件都是由中斷處理程序來管理的。中斷處理程序包含在設(shè)備驅(qū)動程序中,由Windows在環(huán)境初始化中安裝。例如,KEYBOARD.DRV、MOUSE.DRV和COMM.DRV均含有中斷處理程序,以處理相應(yīng)的鍵盤、鼠標(biāo)和串行口的異步中斷?梢苑抡諛(biāo)準(zhǔn)設(shè)備驅(qū)動程序,編寫中斷處理代碼,以響應(yīng)外設(shè)的通信請求,從而完成一次實時通信。
中斷代碼既可以包含在應(yīng)用程序的可執(zhí)行代碼中,也可以包含在動態(tài)連接庫(DLL)中。包含在應(yīng)用程序中的代碼只能在一個程序中使用,而在動態(tài)連接庫中的代碼則可以在Windows系統(tǒng)中所有的應(yīng)用程序所共享。這樣不僅在整個Windows系統(tǒng)中只有一個中斷代碼的副本,提高了內(nèi)存的使用效率,更重要的是可以防止由于同時存在多個中斷代碼的副本而發(fā)生沖突。本文將在DLL中編制中斷處理程序。
當(dāng)動態(tài)連接庫被裝入時,要調(diào)用DLL庫的入口點LibMain(),利用這一點可以執(zhí)行一些初始化工作,可以分配一些內(nèi)存塊,可以初始化一些全局變量或者靜態(tài)變量,可以安裝中斷服務(wù)程序的代碼等等。例如:
void interrupt (oldIsr)(--CPPARGS)
/* 舊的中斷服務(wù)程序地址 */
LibMain(HANDLE hInstance,WORD wDataSeg,WORD cbHeapSize,L
PSTR
lpszCmdLine)
{
…
oldIsr=getvect(IRQNum);
/* IRQNum指中斷號 */
setvect(IRQNum,newIsr);
/* newIsr指新中斷服務(wù)程序代碼 */
return(1);
}
函數(shù)setvect()既可在實模式下,也可在保護模式下設(shè)置中斷處理向量。
上述代碼也可以放在一個由用戶設(shè)置的引出(export)函數(shù)中,在應(yīng)用程序中用戶可以調(diào)用此引出函數(shù)來安裝中斷服務(wù)程序代碼。
由于中斷可以在任何時刻發(fā)生,中斷代碼必須駐留在內(nèi)存中,并且在應(yīng)用程序運行的過程中一直處于某一固定內(nèi)存中。這一點無論是在實模式還是在保護模式下都是一致的。
在DLL的模塊定義文件中應(yīng)注意:
1.CODE語句為固定代碼段,即FIXED;
2.EXPORTS語句要引出被應(yīng)用程序和其它DLL用作入口點的函數(shù)。
下一頁
【中文全文信息檢索系統(tǒng)中索引項技術(shù)及分詞系統(tǒng)的實現(xiàn)】相關(guān)文章:
1.信息管理系統(tǒng)中系統(tǒng)集成技術(shù)的應(yīng)用論文
4.高校信息查詢系統(tǒng)的設(shè)計與實現(xiàn)
5.新聞信息發(fā)布系統(tǒng)的設(shè)計與實現(xiàn)論文
6.小學(xué)信息技術(shù)如何實現(xiàn)寓教于樂
7.搜索引擎中的網(wǎng)絡(luò)蜘蛛技術(shù)探析
8.關(guān)于設(shè)計管理系統(tǒng)信息需求的分析與實現(xiàn)
- 英語網(wǎng)絡(luò)交際漫談
- 電教網(wǎng)絡(luò)安全隱患與防范措施探討
- 中文全文信息檢索系統(tǒng)中索引項技術(shù)及分詞系統(tǒng)的實現(xiàn)
- DSP數(shù)字信號處理器在科里奧利質(zhì)量流量計上的應(yīng)用
- 試論網(wǎng)絡(luò)環(huán)境下的醫(yī)學(xué)百科圖書館研究和利用
- 地理元數(shù)據(jù)技術(shù)系統(tǒng)的設(shè)計與實現(xiàn)
- PC控制系統(tǒng)設(shè)計的要點
- SNS網(wǎng)絡(luò)中的若干問題
- 淺談計算機網(wǎng)絡(luò)故障管理智能化
- 淺談計算機網(wǎng)絡(luò)遠程監(jiān)控系統(tǒng)的應(yīng)用
- 小學(xué)信息技術(shù)論文
- 電子通信技術(shù)在農(nóng)業(yè)發(fā)展中的應(yīng)用論文
- 倉庫管理系統(tǒng)論文
- 網(wǎng)絡(luò)信息安全論文
- 信息安全畢業(yè)論文
- 汽車維修技術(shù)論文
- 電子信息工程畢業(yè)論文
- 淺談工程項目信息管理論文
- 大型地鐵站深基坑降水施工技術(shù)研究論文
- 網(wǎng)絡(luò)的利弊的議論文
- DSP與單片機通信的多種方案設(shè)計
- LVDS技術(shù)及其在多信道高速數(shù)據(jù)傳輸中的應(yīng)用