[發(fā)明專利]Windows操作系統(tǒng)環(huán)境下可調(diào)速高精度定時(shí)器的實(shí)現(xiàn)方法有效
| 申請?zhí)枺?/td> | 201611155005.7 | 申請日: | 2016-12-14 | 
| 公開(公告)號: | CN106802689B | 公開(公告)日: | 2020-01-17 | 
| 發(fā)明(設(shè)計(jì))人: | 杜承烈;王延釗;陳進(jìn)朝;蔣澤軍;彭寒 | 申請(專利權(quán))人: | 西北工業(yè)大學(xué) | 
| 主分類號: | G06F1/08 | 分類號: | G06F1/08;G06F9/32;G06F9/54 | 
| 代理公司: | 44202 廣州三環(huán)專利商標(biāo)代理有限公司 | 代理人: | 郭永麗 | 
| 地址: | 710072 *** | 國省代碼: | 陜西;61 | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | windows 操作系統(tǒng) 環(huán)境 調(diào)速 定時(shí)器 實(shí)現(xiàn) 方法 | ||
1.一種Windows操作系統(tǒng)環(huán)境下可調(diào)速高精度定時(shí)器的實(shí)現(xiàn)方法,包括以下步驟:
步驟一、用戶態(tài)接口提供:選用APIC定時(shí)器,提供一組用戶態(tài)接口;
步驟二、用戶態(tài)接口封裝:將調(diào)速功能和時(shí)間相關(guān)函數(shù)接口封裝為動(dòng)態(tài)鏈接庫,供Windows操作系統(tǒng)中的應(yīng)用程序使用;其中,調(diào)速功能包括:時(shí)間速率控制、定時(shí)器時(shí)間凍結(jié)和解凍功能,時(shí)間速率控制實(shí)現(xiàn)步驟包括:往地址0xFEE00380中寫入利用初始計(jì)數(shù)寄存器設(shè)定公式計(jì)算所得計(jì)數(shù)值即可實(shí)現(xiàn)1倍速;往0xFEE00380中寫入0.1×計(jì)數(shù)值即可實(shí)現(xiàn)10倍速,往0xFEE00380中寫入10×計(jì)數(shù)值即可實(shí)現(xiàn)0.1倍速;定時(shí)器時(shí)間凍結(jié)實(shí)現(xiàn)步驟包括:保存地址0xFEE00380中數(shù)據(jù)并往地址0xFEE00380寫入0,設(shè)置初始計(jì)數(shù)寄存器為0;解凍功能實(shí)現(xiàn)步驟包括:往地址0xFEE00380寫入凍結(jié)時(shí)保存的數(shù)值;
步驟三、動(dòng)態(tài)鏈接庫加載:應(yīng)用程序加載所述動(dòng)態(tài)鏈接庫,實(shí)現(xiàn)所述用戶態(tài)接口的調(diào)用;
步驟四、新周期值傳入內(nèi)核:應(yīng)用程序通過調(diào)用所述動(dòng)態(tài)鏈接庫中的用戶態(tài)接口,將調(diào)整后的APIC定時(shí)器周期以DeviceIoControl的方式傳入內(nèi)核;
步驟五、APIC定時(shí)器周期更改:將所述步驟四調(diào)整后的APIC定時(shí)器周期賦值給初始計(jì)數(shù)寄存器,實(shí)現(xiàn)APIC定時(shí)器的周期調(diào)整,其中,初始計(jì)數(shù)寄存器進(jìn)行了設(shè)置,具體設(shè)置包括:初始計(jì)數(shù)寄存器設(shè)定公式:計(jì)數(shù)值=APIC定時(shí)器周期×CPU外頻×?xí)r間單位/1000,往地址0xFEE00380寫入計(jì)數(shù)值,設(shè)置初始計(jì)數(shù)寄存器。
2.如權(quán)利要求1所述的Windows操作系統(tǒng)環(huán)境下可調(diào)速高精度定時(shí)器的實(shí)現(xiàn)方法,其中,所述步驟二中,時(shí)間相關(guān)函數(shù)實(shí)現(xiàn)授時(shí)功能和任務(wù)睡眠功能,授時(shí)功能實(shí)現(xiàn)步驟包括:通過CreateFile函數(shù)加載驅(qū)動(dòng),通過DeviceIoControl函數(shù)或者共享內(nèi)存獲取調(diào)度器中的系統(tǒng)時(shí)間,返回獲取的系統(tǒng)時(shí)間;任務(wù)睡眠功能實(shí)現(xiàn)步驟包括:獲取當(dāng)前線程ThreadId作為后續(xù)掛起、喚醒操作的操作對象,計(jì)算任務(wù)釋放時(shí)間,將當(dāng)前任務(wù)線程控制塊TCB插入讓渡隊(duì)列Yield_List中,其中,任務(wù)釋放時(shí)間=定時(shí)器系統(tǒng)時(shí)間+睡眠時(shí)間。
3.如權(quán)利要求1所述的Windows操作系統(tǒng)環(huán)境下可調(diào)速高精度定時(shí)器的實(shí)現(xiàn)方法,其中,APIC定時(shí)器進(jìn)行了相關(guān)設(shè)置,具體設(shè)置包括:Local APIC含有4個(gè)用于產(chǎn)生時(shí)鐘中斷的寄存器:分頻寄存器、初始計(jì)數(shù)寄存器、當(dāng)前計(jì)數(shù)寄存器與本地向量表寄存器,分頻寄存器用來表示當(dāng)前系統(tǒng)時(shí)間基準(zhǔn)和系統(tǒng)總線的倍數(shù)關(guān)系,將往地址0xFEE003E0寫入0xB,將分頻寄存器設(shè)置為1;APIC定時(shí)器的計(jì)數(shù)模式設(shè)置:通過本地向量表寄存器設(shè)置為單次模式或者周期模式,此處設(shè)置為周期模式,在周期模式下,當(dāng)前計(jì)數(shù)寄存器自動(dòng)從初始計(jì)數(shù)寄存器載入計(jì)數(shù)值,然后以總線頻率開始遞減,當(dāng)計(jì)數(shù)達(dá)到0時(shí),觸發(fā)本地向量表寄存器中存儲的中斷向量并根據(jù)中斷向量從中斷向量表中調(diào)用中斷處理函數(shù),然后再次載入初始計(jì)數(shù)寄存器中數(shù)值,往地址0xFEE00320寫入0x300e2,使其指向?qū)?yīng)中斷處理函數(shù)并設(shè)置為周期模式。
4.如權(quán)利要求1所述的Windows操作系統(tǒng)環(huán)境下可調(diào)速高精度定時(shí)器的實(shí)現(xiàn)方法,其中,APIC定時(shí)器具有高精度特性,其高精度特性通過以下步驟實(shí)現(xiàn):設(shè)置APIC定時(shí)器:設(shè)置初始計(jì)數(shù)寄存器、分頻寄存器和本地向量表寄存器,使其能產(chǎn)生微秒級的時(shí)鐘信號供調(diào)度器使用;內(nèi)核態(tài)函數(shù)接口封裝:借助于系統(tǒng)服務(wù)描述符表,利用已知的Windows接口特征碼,搜索系統(tǒng)內(nèi)存指令,獲取調(diào)度器所需的函數(shù)地址,并根據(jù)系統(tǒng)函數(shù)原型,利用內(nèi)聯(lián)匯編進(jìn)行調(diào)用,供調(diào)度器使用;實(shí)現(xiàn)調(diào)度器:利用上一步所封裝的內(nèi)核態(tài)函數(shù)接口,完成調(diào)度器的編寫,在調(diào)度器內(nèi)維護(hù)定時(shí)器時(shí)間和任務(wù)隊(duì)列。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西北工業(yè)大學(xué),未經(jīng)西北工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611155005.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 檢測Windows系統(tǒng)已知漏洞的方法和系統(tǒng)
- 一種對主機(jī)進(jìn)行管控的方法及系統(tǒng)
- 一種基于windows服務(wù)控制器的系統(tǒng)自動(dòng)運(yùn)行方法
- 處理windows update彈窗出現(xiàn)的方法和系統(tǒng)
- 檢測系統(tǒng)中已安裝應(yīng)用的方法和客戶端
- 一種Windows Phone手機(jī)數(shù)據(jù)的鏡像方法
- 在Windows下對Linux系統(tǒng)中無線通訊模塊調(diào)試數(shù)據(jù)抓取方法和系統(tǒng)
- 一種實(shí)現(xiàn)Windows系統(tǒng)自動(dòng)化安裝的系統(tǒng)及方法
- 一種基于Windows To Go的增強(qiáng)方法及系統(tǒng)
- 一種批量控制windows快速部署的工具及方法
- 環(huán)境服務(wù)系統(tǒng)以及環(huán)境服務(wù)事業(yè)
- 環(huán)境控制裝置、環(huán)境控制方法、環(huán)境控制程序及環(huán)境控制系統(tǒng)
- 環(huán)境檢測終端和環(huán)境檢測系統(tǒng)
- 環(huán)境調(diào)整系統(tǒng)、環(huán)境調(diào)整方法及環(huán)境調(diào)整程序
- 環(huán)境估計(jì)裝置和環(huán)境估計(jì)方法
- 用于環(huán)境艙的環(huán)境控制系統(tǒng)及環(huán)境艙
- 車輛環(huán)境的環(huán)境數(shù)據(jù)處理
- 環(huán)境取樣動(dòng)力頭、環(huán)境取樣方法
- 環(huán)境艙環(huán)境控制系統(tǒng)
- 環(huán)境檢測儀(環(huán)境貓)





