[發(fā)明專利]一種在非事件驅(qū)動方式的OS中實現(xiàn)對設(shè)備的熱插拔的方法無效
| 申請?zhí)枺?/td> | 201410409229.0 | 申請日: | 2014-08-20 |
| 公開(公告)號: | CN105373393A | 公開(公告)日: | 2016-03-02 |
| 發(fā)明(設(shè)計)人: | 何陽;米奇 | 申請(專利權(quán))人: | 西安慧澤知識產(chǎn)權(quán)運營管理有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 西安利澤明知識產(chǎn)權(quán)代理有限公司 61222 | 代理人: | 段國剛 |
| 地址: | 710075 陜西省西安市高新區(qū)高*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 事件 驅(qū)動 方式 os 實現(xiàn) 設(shè)備 熱插拔 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種在非事件驅(qū)動方式的OS中實現(xiàn)對設(shè)備的熱插拔的方法。
背景技術(shù)
AV(AudioandVisual)設(shè)備中,有的可以和個人電腦組合使用,還有的可以通過網(wǎng)絡(luò)進行音頻數(shù)據(jù)和視頻數(shù)據(jù)的輸入輸出。和這樣的AV設(shè)備連接的個人電腦中通常使用的是多任務(wù)方式的OS。
而在MicrosoftWindows(注冊商標(biāo))等事件驅(qū)動方式的OS中,用戶應(yīng)用程序是這樣構(gòu)成的,它在從OS接收到系統(tǒng)信息后,執(zhí)行啟動、結(jié)束、繪制圖形等相應(yīng)的處理。因此,在事件驅(qū)動方式的OS中,USB(UniversalSerialBus通用串行總線〉的連接等熱插拔事件也必須由用戶應(yīng)用程序從OS接受系統(tǒng)信息后,才可以執(zhí)行必要的處理。
然而,在Linux(注冊商標(biāo))等非事件驅(qū)動方式的OS中,沒有準(zhǔn)備事件驅(qū)動方式的OS中的系統(tǒng)信息。因此,用戶應(yīng)用程序為了捕捉熱插拔事件,必須不斷進行輪詢。即,如日本專利特開2002—300176號公報中所公開的內(nèi)容,用戶應(yīng)用程序間隔固定時間對總線進行監(jiān)測,一旦發(fā)生熱插拔事件,立即運行相應(yīng)的處理。
圖1表示這種通過輪詢方式處理熱插拔事件的概要。以下說明中所述的熱插拔處理,是指將大容量存儲設(shè)備通過USB連接于安裝有LinusKernel2.4(注冊商標(biāo))的個人電腦的情況。
即,在Linux(注冊商標(biāo))的內(nèi)核空間KERNEL中,備有USB核心驅(qū)動程序usbcore和用于USB大容量存儲的類驅(qū)動程序usb-storage。此外,在用戶空間USER中,備有熱插拔hotplug以及USB腳本usb-storage。當(dāng)USB大容量存儲設(shè)備連接到個人電腦上時,如圖1中a所示,通過延長在內(nèi)核空間中備有的核心驅(qū)動程序usbcore的探查函數(shù)probe的處理,調(diào)出熱插拔腳本此時,設(shè)定各種環(huán)境變量,執(zhí)行熱插拔腳本hotplug。
這種情況下,表示與USB設(shè)備連接的值被設(shè)定于部分環(huán)境變量。然后如圖1中b所示,熱插拔腳本hotplug運行觸發(fā)其執(zhí)行的事件所對應(yīng)的腳本。此時,按照圖1中3設(shè)定的環(huán)境變量執(zhí)行USB腳本usb.agent.
接著,USB腳本usb.agent裝入觸發(fā)其執(zhí)行的事件所對應(yīng)的類驅(qū)動程序,這里如圖1中c所示,裝入USB大容量存儲設(shè)備的類驅(qū)動程序usb-storage。然后如圖1中d所示,USB核心驅(qū)動程序執(zhí)行更新虛擬文件/proc/bus/usb/devices的內(nèi)容等一系列處理。
因此,用戶應(yīng)用程序只要通過輪詢,監(jiān)視虛擬文件/proc/bus/usb/devices,便可以在將大容量存儲設(shè)備進行USB連接時,使用該大容量存儲設(shè)備。但現(xiàn)行的Linux(注冊商標(biāo))的熱插拔處理只能在該類驅(qū)動程序動態(tài)嵌入時使用。
然而如上所述,在通過輪詢捕捉熱插拔事件時,如果縮短輪詢的時間間隔,則系統(tǒng)的負(fù)擔(dān)就會增大。但如果相反將輪詢間隔延長,在熱插拔事件發(fā)生之后到執(zhí)行處理之前會發(fā)生時間延遲。
這個問題通過采用高速CPU可在一定程度上避免或減輕,但這時需要的CPU價格十分高昂。此外,當(dāng)AV設(shè)備等的系統(tǒng)控制電路是由微型計算機構(gòu)成時,整體中的CPU價格也很重要,如果價格昂貴,即便速度快也無法采用。
發(fā)明內(nèi)容
為解決上述現(xiàn)有的缺點,本發(fā)明的主要目的在于提供一種實用的在非事件驅(qū)動方式的OS中實現(xiàn)對設(shè)備的熱插拔的方法,減輕系統(tǒng)負(fù)擔(dān),控制系統(tǒng)成本上升。
為達成以上所述的目的,本發(fā)明的一種在非事件驅(qū)動方式的OS中實現(xiàn)對設(shè)備的熱插拔的方法采取如下技術(shù)方案:
一種在非事件驅(qū)動方式的OS中實現(xiàn)對設(shè)備的熱插拔的方法,其特征在于,在出現(xiàn)設(shè)備安裝或拆卸時,通過內(nèi)核的核心驅(qū)動程序調(diào)用熱插拔腳本,所述熱插拔腳本在進行所述調(diào)用之后,執(zhí)行該熱插拔腳本本身描述的特定處理,然后調(diào)用掛鉤程序,所述掛鉤程序在被調(diào)用后,運行熱插拔管理程序,獲取所述設(shè)備安裝或拆卸的相關(guān)信息,所述熱插拔管理程序中,熱插拔端口監(jiān)督程序利用所述掛鉤程序運行,接受所述熱插拔腳本環(huán)境變量中包含的信息,熱插拔庫從所述熱插拔端口監(jiān)督程序獲取所述信息,API提供給用戶應(yīng)用程序,所述內(nèi)核是Linux(注冊商標(biāo))的內(nèi)核。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安慧澤知識產(chǎn)權(quán)運營管理有限公司,未經(jīng)西安慧澤知識產(chǎn)權(quán)運營管理有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410409229.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





