專利名稱:用于裝置中特權(quán)模式掛接的動(dòng)態(tài)注冊(cè)的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及一裝置的有效操作,且更特定地說(shuō)涉及一種用于在一裝置中的特權(quán)模式掛接的動(dòng)態(tài)注冊(cè)的系統(tǒng)。
背景技術(shù):
技術(shù)進(jìn)步促成了家庭、辦公和個(gè)人用途的各種裝置的發(fā)展。舉例而言,例如桌上型計(jì)算機(jī)、筆記本計(jì)算機(jī)和平板計(jì)算機(jī)的計(jì)算機(jī)系統(tǒng)已成為用于家庭或辦公環(huán)境的強(qiáng)大工具。例如無(wú)線電話、個(gè)人數(shù)字助理(PDA)和傳呼裝置的個(gè)人裝置也已變得更加強(qiáng)大且正被廣泛使用。
如今許多裝置包括運(yùn)行例如UNIX、LINUX的操作系統(tǒng)或類似操作系統(tǒng)的復(fù)雜硬件和軟件。通常,這些操作系統(tǒng)提供多種操作模式。舉例而言,大多數(shù)系統(tǒng)提供特權(quán)操作模式和非特權(quán)操作模式。允許以特權(quán)操作模式執(zhí)行的程序無(wú)限制地訪問(wèn)存儲(chǔ)器和系統(tǒng)資源。限制以非特權(quán)模式執(zhí)行的程序訪問(wèn)特定存儲(chǔ)區(qū)域和/或裝置系統(tǒng)。此配置對(duì)于重要的存儲(chǔ)器或裝置函數(shù)提供某種程度的保護(hù)。舉例而言,通過(guò)以非特權(quán)模式執(zhí)行第三方應(yīng)用程序,可保護(hù)重要的存儲(chǔ)區(qū)域和裝置函數(shù)免遭非授權(quán)訪問(wèn)。并且,此配置允許系統(tǒng)在執(zhí)行期間將故障隔離開(kāi)來(lái)。
隨著時(shí)間推移,這些系統(tǒng)已變得更加復(fù)雜以便滿足裝置和裝置用戶的日益增長(zhǎng)的需要。舉例而言,使用函數(shù)模塊或函數(shù)來(lái)提供多種系統(tǒng)服務(wù)。隨著裝置已變得更加復(fù)雜且具有豐富特征,與這些特征關(guān)聯(lián)的函數(shù)的數(shù)量和復(fù)雜性也已增加。
不幸的是,常規(guī)系統(tǒng)在支援函數(shù)模塊方面具有若干局限性。舉例而言,常規(guī)系統(tǒng)可具有用以訪問(wèn)函數(shù)的有限數(shù)量的掛接。舉例而言,系統(tǒng)可具有可用以訪問(wèn)函數(shù)的有限數(shù)量的陷阱。此外,將陷阱定義編譯成一個(gè)在裝置上運(yùn)行的可執(zhí)行二進(jìn)制,此對(duì)系統(tǒng)靈活性造成固有限制。
因此,需要這樣一種系統(tǒng),其提供動(dòng)態(tài)地注冊(cè)對(duì)特權(quán)函數(shù)的掛接的方式。所述系統(tǒng)應(yīng)允許在系統(tǒng)初始化期間注冊(cè)函數(shù),藉此提供靈活性并避免常規(guī)系統(tǒng)中固有的將陷阱定義編譯成可執(zhí)行的潛在版本確定問(wèn)題。所述系統(tǒng)也應(yīng)允許注冊(cè)無(wú)限數(shù)量的函數(shù),藉此克服與常規(guī)系統(tǒng)相關(guān)的將固定數(shù)量的可用陷阱與函數(shù)相關(guān)聯(lián)的局限性。
發(fā)明內(nèi)容
在一或一個(gè)以上實(shí)施例中,提供一種包括方法和/或設(shè)備的系統(tǒng),所述系統(tǒng)運(yùn)行以便提供裝置中特權(quán)模式掛接的動(dòng)態(tài)注冊(cè)。在一實(shí)施例中,不同程序模塊在系統(tǒng)初始化期間安裝掛接。每一函數(shù)模塊在安裝時(shí)均分配有一識(shí)別符,且所述模塊將此識(shí)別符保留于非特權(quán)應(yīng)用程序可讀取的一變量中。當(dāng)從一以非特權(quán)模式執(zhí)行的應(yīng)用程序中調(diào)用時(shí),所述模塊從變量檢索其掛接識(shí)別符以便執(zhí)行所述掛接。此避免常規(guī)系統(tǒng)中固有的將函數(shù)與編譯為可執(zhí)行二進(jìn)制的固定數(shù)量的陷阱相關(guān)聯(lián)的潛在版本確定問(wèn)題。
在一實(shí)施例中,提供一種用于在裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的方法,所述裝置包含包括特權(quán)模式和非特權(quán)模式在內(nèi)的至少兩種操作模式。所述方法包括識(shí)別將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的可用槽;和存儲(chǔ)與所述槽中的所述函數(shù)關(guān)聯(lián)的指針。所述方法還包括檢索與所述槽關(guān)聯(lián)的識(shí)別符;和使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符。
在另一實(shí)施例中,提供一種用于在裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的設(shè)備,所述裝置包含包括特權(quán)模式和非特權(quán)模式在內(nèi)的至少兩種操作模式。所述設(shè)備包括用以識(shí)別將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的可用槽的邏輯;和用以存儲(chǔ)與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的邏輯。所述設(shè)備還包括用以檢索與所述槽關(guān)聯(lián)的識(shí)別符的邏輯;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的邏輯。
在另一實(shí)施例中,提供一種用于在裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的設(shè)備,所述裝置包含包括特權(quán)模式和非特權(quán)模式在內(nèi)的至少兩種操作模式。所述設(shè)備包括用以識(shí)別將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的可用槽的構(gòu)件;和用以存儲(chǔ)與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的構(gòu)件。所述設(shè)備還包括用以檢索與所述槽關(guān)聯(lián)的識(shí)別符的構(gòu)件;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的構(gòu)件。
在另一實(shí)施例中,提供一種包括指令的計(jì)算機(jī)可讀媒體,當(dāng)裝置中的處理器執(zhí)行所述指令時(shí),所述指令運(yùn)行以在所述裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)。所述裝置包含包括特權(quán)模式和非特權(quán)模式在內(nèi)的至少兩種操作模式。所述計(jì)算機(jī)可讀媒體包括用以識(shí)別將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的可用槽的指令;和用以存儲(chǔ)與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的指令。所述計(jì)算機(jī)可讀媒體還包括用以檢索與所述槽關(guān)聯(lián)的識(shí)別符的指令;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的指令。
在閱讀下述
具體實(shí)施方式
和權(quán)利要求書(shū)之后,將更容易了解本發(fā)明的其他方面、優(yōu)點(diǎn)和特征。
結(jié)合附圖參看以下具體實(shí)施方式
,將更容易了解本文中所描述的實(shí)施例的前述方面和相應(yīng)優(yōu)點(diǎn),在附圖中圖1展示動(dòng)態(tài)注冊(cè)系統(tǒng)的一實(shí)施例,所述動(dòng)態(tài)注冊(cè)系統(tǒng)運(yùn)行以便提供裝置中的特權(quán)模式掛接的動(dòng)態(tài)注冊(cè);圖2展示一包括動(dòng)態(tài)注冊(cè)系統(tǒng)的一實(shí)施例的裝置的方框圖;且圖3展示說(shuō)明用于裝置中的動(dòng)態(tài)注冊(cè)系統(tǒng)的一實(shí)施例操作的流程圖。
具體實(shí)施例方式
以下具體實(shí)施方式
描述一種動(dòng)態(tài)注冊(cè)系統(tǒng),其運(yùn)行以便提供裝置中的特權(quán)模式掛接的動(dòng)態(tài)注冊(cè)。舉例而言,所述系統(tǒng)運(yùn)行以便允許在裝置初始化過(guò)程期間或在調(diào)用函數(shù)之前的任何時(shí)刻注冊(cè)函數(shù)掛接。在一實(shí)施例中,注冊(cè)過(guò)程產(chǎn)生存儲(chǔ)于靜態(tài)變量中的函數(shù)識(shí)別符,所述靜態(tài)變量可由特權(quán)和非特權(quán)兩種應(yīng)用程序讀取。特權(quán)或非特權(quán)應(yīng)用程序通過(guò)獲得識(shí)別符而可訪問(wèn)所述函數(shù)所提供的服務(wù)。因?yàn)橥ㄟ^(guò)每一注冊(cè)函數(shù)自身的接口來(lái)訪問(wèn)每一注冊(cè)函數(shù),所以所述系統(tǒng)克服了常規(guī)系統(tǒng)中將函數(shù)與固定數(shù)量的陷阱相關(guān)聯(lián)的相關(guān)問(wèn)題。
在一或一個(gè)以上實(shí)施例中,注冊(cè)系統(tǒng)與執(zhí)行于裝置上的運(yùn)行環(huán)境(或操作系統(tǒng))互動(dòng),所述運(yùn)行環(huán)境(例如)通過(guò)提供對(duì)于裝置特定資源的一般調(diào)用來(lái)簡(jiǎn)化裝置操作。此類運(yùn)行環(huán)境中的一種為由加州圣地亞哥市的QUALCOMM公司開(kāi)發(fā)的無(wú)線二進(jìn)制運(yùn)行環(huán)境TM(BREWTM)軟件平臺(tái)。以下實(shí)施方式描述一執(zhí)行例如BREW軟件平臺(tái)的運(yùn)行環(huán)境的裝置。然而,在一個(gè)或一個(gè)以上實(shí)施例中,所述注冊(cè)系統(tǒng)適合于與其他類型的運(yùn)行環(huán)境一起使用,以便提供多種裝置中的特權(quán)函數(shù)掛接的快速且有效的注冊(cè),所述多種裝置包含產(chǎn)生系統(tǒng)或其他控制或監(jiān)視程序。舉例而言,所述裝置可包含(但不限于)桌上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、手提計(jì)算機(jī),和例如無(wú)線電話、傳呼機(jī)、PDA、電子郵件裝置、平板計(jì)算機(jī)的便攜式裝置,或其他類型計(jì)算裝置。
圖1展示動(dòng)態(tài)注冊(cè)系統(tǒng)100的一實(shí)施例,所述動(dòng)態(tài)注冊(cè)系統(tǒng)100運(yùn)行以便提供在裝置102中的特權(quán)模式掛接的動(dòng)態(tài)注冊(cè)。系統(tǒng)100可為家用計(jì)算機(jī)、辦公計(jì)算機(jī)或例如無(wú)線電話或PDA的個(gè)人裝置或者任何其他類型計(jì)算裝置的一部分。
在一實(shí)施例中,裝置102包含一運(yùn)行環(huán)境104(意即,BREW),其提供至少兩種操作模式,即非特權(quán)模式(NP)和特權(quán)模式(P)。非特權(quán)操作模式用來(lái)限制對(duì)運(yùn)行于裝置上的應(yīng)用程序的訪問(wèn)并提供故障檢測(cè)。舉例而言,將以非特權(quán)模式運(yùn)行的應(yīng)用程序限制于選定的存儲(chǔ)區(qū)域,且可拒絕其訪問(wèn)裝置寄存器或其他資源。特權(quán)操作模式允許在此模式下運(yùn)行的應(yīng)用程序不受限制地訪問(wèn)存儲(chǔ)器或裝置資源。
在系統(tǒng)初始化期間,動(dòng)態(tài)地注冊(cè)函數(shù)106以便允許執(zhí)行于裝置上的應(yīng)用程序從函數(shù)106獲得服務(wù)。與所述函數(shù)關(guān)聯(lián)的函數(shù)處理器108運(yùn)行以便在處理器數(shù)據(jù)結(jié)構(gòu)112中查找一可用槽110。處理器108存儲(chǔ)一函數(shù)指針,所述函數(shù)指針指向可用槽110中的函數(shù)106。槽110具有一相關(guān)識(shí)別符(或索引),所述相關(guān)識(shí)別符由處理器108檢索并存儲(chǔ)于非特權(quán)應(yīng)用程序可訪問(wèn)的存儲(chǔ)器或其他區(qū)域中。舉例而言,在一實(shí)施例中,將識(shí)別符存儲(chǔ)于非特權(quán)模式可訪問(wèn)的靜態(tài)變量114中。非特權(quán)應(yīng)用程序116可讀取所述靜態(tài)變量114。因此,函數(shù)106經(jīng)注冊(cè)以供執(zhí)行于裝置上的應(yīng)用程序使用。使用相同處理過(guò)程來(lái)注冊(cè)一個(gè)或任何數(shù)量的函數(shù)。每一函數(shù)使用處理器數(shù)據(jù)結(jié)構(gòu)112中的可用槽,并將其相關(guān)識(shí)別符存儲(chǔ)于(例如)非特權(quán)應(yīng)用程序可讀取的靜態(tài)變量中。
在裝置操作期間,應(yīng)用程序116在裝置102上執(zhí)行,以便為裝置102提供信息、功能和/或服務(wù)。舉例而言,一種類型的應(yīng)用程序可為查看器應(yīng)用程序,其在裝置102上運(yùn)行以便顯示電影、新聞或其他類型多媒體內(nèi)容。
當(dāng)應(yīng)用程序116在裝置102上執(zhí)行時(shí),其在運(yùn)行環(huán)境下運(yùn)行以便提供所需功能性。如果應(yīng)用程序116需訪問(wèn)函數(shù)106以獲得服務(wù),那么應(yīng)用程序114從靜態(tài)變量114中檢索識(shí)別符并使用所述識(shí)別符來(lái)訪問(wèn)函數(shù)106。
圖2展示裝置102的函數(shù)方框圖,其包括動(dòng)態(tài)注冊(cè)系統(tǒng)的一實(shí)施例。裝置102包括處理邏輯202和耦接到內(nèi)部數(shù)據(jù)總線204的裝置資源206。所述裝置資源206包括硬件、軟件、存儲(chǔ)器、邏輯和/或允許所述裝置連接到各種內(nèi)部和外部資源、裝置或系統(tǒng)的其他資源。代碼存儲(chǔ)器208和數(shù)據(jù)存儲(chǔ)器210也耦接到處理邏輯202。
在一或一個(gè)以上實(shí)施例中,處理邏輯202包括CPU、處理器、門(mén)陣列、硬件邏輯、存儲(chǔ)器元件、虛擬機(jī)、軟件、I/O接口和/或硬件與軟件的任何組合。因此,處理邏輯202通常包括用來(lái)執(zhí)行機(jī)器可讀指令的邏輯。舉例而言,可從一例如軟盤(pán)、CDROM、閃存的計(jì)算機(jī)可讀媒體,或通過(guò)裝置資源206而連接到裝置102的其他計(jì)算機(jī)可讀媒體將指令載入裝置102中。在另一實(shí)施例中,可從一例如網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)資源或通過(guò)裝置資源206而連接到裝置102的任何其他類型的網(wǎng)絡(luò)資源將指令下載到裝置102中。當(dāng)處理邏輯202執(zhí)行指令時(shí),所述指令提供如本文中所描述的動(dòng)態(tài)注冊(cè)系統(tǒng)的一個(gè)或一個(gè)以上在一實(shí)施例中,代碼存儲(chǔ)器208包括RAM、ROM、FLASH、EEROM或任何其他適宜類型的存儲(chǔ)器或其組合。通過(guò)存儲(chǔ)器管理單元216的操作將代碼存儲(chǔ)器206分割成特權(quán)區(qū)域(P)212和非特權(quán)區(qū)域(NP)214。所述MMU 216運(yùn)行以便限制非特權(quán)程序代碼的操作,從而使非特權(quán)代碼對(duì)于代碼存儲(chǔ)器208的選定區(qū)域具有有限訪問(wèn)權(quán)。
特權(quán)區(qū)域212包含程序代碼,當(dāng)所述程序代碼被執(zhí)行時(shí),其對(duì)于存儲(chǔ)器或裝置102的其他系統(tǒng)具有無(wú)限制訪問(wèn)權(quán)。舉例而言,特權(quán)代碼區(qū)域212包括操作系統(tǒng)代碼(OS)、用戶接口代碼(UI)、函數(shù)處理器108和特權(quán)函數(shù)代碼106。特權(quán)代碼區(qū)域212中所展示的代碼代表可包含于裝置102中的類型的特權(quán)代碼。特權(quán)代碼區(qū)域212也可能包含用于在裝置102上執(zhí)行的其他類型的特權(quán)代碼。
非特權(quán)代碼區(qū)域214包含程序代碼,當(dāng)所述程序代碼被執(zhí)行時(shí),其受到限制而僅訪問(wèn)選定的存儲(chǔ)區(qū)域。舉例而言,非特權(quán)代碼區(qū)域214包括OS代碼和應(yīng)用程序代碼(App-NP)116。
在一實(shí)施例中,數(shù)據(jù)存儲(chǔ)器210包括特權(quán)區(qū)域216和非特權(quán)區(qū)域218。所述特權(quán)區(qū)域226包括僅可由特權(quán)程序代碼訪問(wèn)的數(shù)據(jù)區(qū)域。舉例而言,特權(quán)數(shù)據(jù)區(qū)域216包括OS、UI所使用的數(shù)據(jù)和函數(shù)106所使用的函數(shù)數(shù)據(jù)。數(shù)據(jù)區(qū)域216也包括處理器數(shù)據(jù)結(jié)構(gòu)112。
所述非特權(quán)數(shù)據(jù)區(qū)域218包含可由非特權(quán)程序代碼訪問(wèn)的數(shù)據(jù)區(qū)域。舉例而言,非特權(quán)數(shù)據(jù)區(qū)域218包括由非特權(quán)OS和App-NP 116所使用的數(shù)據(jù)。數(shù)據(jù)區(qū)域218也包括保存有與函數(shù)106關(guān)聯(lián)的識(shí)別符的靜態(tài)變量114。MMU 220運(yùn)行以便限制對(duì)于非特權(quán)和特權(quán)數(shù)據(jù)區(qū)域的訪問(wèn)。舉例而言,限制非特權(quán)應(yīng)用程序訪問(wèn)特權(quán)數(shù)據(jù)區(qū)域216中的數(shù)據(jù)或?qū)儆诜翘貦?quán)數(shù)據(jù)區(qū)域218中其他非特權(quán)應(yīng)用程序的數(shù)據(jù)。
應(yīng)注意,所述裝置102的配置僅為一種適合實(shí)施所述注冊(cè)系統(tǒng)的配置。也可能使用本發(fā)明范疇內(nèi)的其他裝置配置、功能元件或元件配置來(lái)實(shí)施注冊(cè)系統(tǒng)的一個(gè)或一個(gè)以上在裝置102運(yùn)行期間,動(dòng)態(tài)注冊(cè)系統(tǒng)在初始化過(guò)程期間注冊(cè)一個(gè)或一個(gè)以上函數(shù)。舉例而言,在一實(shí)施例中,在初始化期間逐個(gè)注冊(cè)函數(shù)直到已注冊(cè)了所有函數(shù)為止。為每一函數(shù)判定結(jié)構(gòu)112中的一可用槽,且使每一個(gè)別槽的識(shí)別符可用,從而使得其可由非特權(quán)應(yīng)用程序讀取。
在一實(shí)施例中,所描述的注冊(cè)系統(tǒng)包括存儲(chǔ)于計(jì)算機(jī)可讀媒體上的程序指令,當(dāng)處理邏輯202執(zhí)行所述程序指令時(shí),所述程序指令提供本文中所描述的功能。在一個(gè)或一個(gè)以上實(shí)施例中,計(jì)算機(jī)可讀媒體包括軟盤(pán)、CD、存儲(chǔ)卡、FLASH存儲(chǔ)裝置、RAM、ROM或任何其他類型的存儲(chǔ)裝置。
圖3展示一說(shuō)明在裝置(例如裝置102)中使用的注冊(cè)系統(tǒng)的一實(shí)施例的操作流程圖300。為清晰起見(jiàn),將參看圖2中所展示的裝置102來(lái)描述流程圖300。將假設(shè)所述裝置正執(zhí)行BREW運(yùn)行時(shí)環(huán)境,且處理邏輯202執(zhí)行存儲(chǔ)于代碼存儲(chǔ)器208中的程序指令以便執(zhí)行下文描述的功能。
在方塊302處,注冊(cè)過(guò)程以找出處理器數(shù)據(jù)結(jié)構(gòu)中一可用槽而開(kāi)始。舉例而言,處理邏輯202執(zhí)行程序指令以便在數(shù)據(jù)結(jié)構(gòu)112中搜尋一可用槽。在一實(shí)施例中,所述數(shù)據(jù)結(jié)構(gòu)112為一表,且所述表中的每一項(xiàng)均為一槽。每一槽可存儲(chǔ)一函數(shù)的地址指針,且每一槽具有一相關(guān)識(shí)別符(例如表索引)。
在方塊304處,在已找到所述可用槽之后,將待注冊(cè)的函數(shù)的指針存儲(chǔ)于所述槽中。舉例而言,將函數(shù)Func 106的地址指針存儲(chǔ)于可用槽110中。
在方塊306處,使槽識(shí)別符可用于供非特權(quán)應(yīng)用程序進(jìn)行讀取訪問(wèn)。舉例而言,槽識(shí)別符存儲(chǔ)于非特權(quán)應(yīng)用程序可讀取的一靜態(tài)變量中。舉例而言,所述變量可位于一賦予特權(quán)應(yīng)用程序讀取/寫(xiě)入特權(quán)且賦予非特權(quán)應(yīng)用程序只讀特權(quán)的數(shù)據(jù)區(qū)域中。
在方塊308處,使用識(shí)別符來(lái)訪問(wèn)特權(quán)函數(shù)以便為特權(quán)和非特權(quán)應(yīng)用程序執(zhí)行服務(wù)。關(guān)于如何使用識(shí)別符來(lái)訪問(wèn)特權(quán)函數(shù),讀者可參考標(biāo)題為“SYSTEM FOR PROVIDINGTRANSITIONS BETWEEN OPERATING MODES OF A DEVICE”的代理人案號(hào)為第030620號(hào)的美國(guó)專利申請(qǐng)案,其以引用的方式并入本文中。
應(yīng)注意,程序流程圖300僅說(shuō)明一實(shí)施例,且在不背離本發(fā)明范疇的前提下可對(duì)程序元件做出變化、添加或重新配置。
因此,盡管本文已說(shuō)明并描述動(dòng)態(tài)注冊(cè)系統(tǒng)的方法和設(shè)備的一個(gè)或一個(gè)以上實(shí)施例,但應(yīng)了解,在不背離實(shí)施例精神或本質(zhì)特征的前提下可對(duì)所述實(shí)施例做出各種變化。因此,本文中的揭示內(nèi)容和描述僅旨在說(shuō)明而非限定上述權(quán)利要求書(shū)中所陳述的本發(fā)明范疇。
權(quán)利要求
1.一種用于在一裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的方法,所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩個(gè)操作模式,所述方法包括識(shí)別一將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的一可用槽;存儲(chǔ)一與所述槽中的所述函數(shù)關(guān)聯(lián)的指針;檢索一與所述槽關(guān)聯(lián)的識(shí)別符;和使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符。
2.根據(jù)權(quán)利要求1所述的方法,其中用以使所述識(shí)別符可被訪問(wèn)的所述步驟包括將所述識(shí)別符存儲(chǔ)于非特權(quán)應(yīng)用程序可讀取的一存儲(chǔ)器中。
3.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)為一將識(shí)別符映射到函數(shù)的表。
4.根據(jù)權(quán)利要求3所述的方法,其中所述識(shí)別符為一進(jìn)入所述表的索引。
5.根據(jù)權(quán)利要求1所述的方法,其中所述裝置為一無(wú)線裝置。
6.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括在裝置初始化期間執(zhí)行所述注冊(cè)。
7.一種用于在一裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的設(shè)備,所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩個(gè)操作模式,所述設(shè)備包括用以識(shí)別一將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的一可用槽的邏輯;用以存儲(chǔ)一與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的邏輯;用以檢索一與所述槽關(guān)聯(lián)的識(shí)別符的邏輯;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的邏輯。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中用以使所述識(shí)別符可被訪問(wèn)的所述邏輯包括用以將所述識(shí)別符存儲(chǔ)于非特權(quán)應(yīng)用程序可讀取的存儲(chǔ)器中的邏輯。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)為一將識(shí)別符映射到函數(shù)的表。
10.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述識(shí)別符為一進(jìn)入所述表的索引。
11.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述裝置為一無(wú)線裝置。
12.根據(jù)權(quán)利要求7所述的設(shè)備,其進(jìn)一步包括用以在裝置初始化期間執(zhí)行所述注冊(cè)的邏輯。
13.一種用于在一裝置中動(dòng)態(tài)地注冊(cè)一函數(shù)的設(shè)備,所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩個(gè)操作模式,所述設(shè)備包括用以識(shí)別一將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的一可用槽的構(gòu)件;用以存儲(chǔ)一與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的構(gòu)件;用以檢索一與所述槽關(guān)聯(lián)的識(shí)別符的構(gòu)件;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的構(gòu)件。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中用以使所述識(shí)別符可被訪問(wèn)的所述構(gòu)件包括用以將所述識(shí)別符存儲(chǔ)于非特權(quán)應(yīng)用程序可讀取的存儲(chǔ)器中的構(gòu)件。
15.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)為一將識(shí)別符映射到函數(shù)的表。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中所述識(shí)別符為一進(jìn)入所述表的索引。
17.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述裝置為一無(wú)線裝置。
18.根據(jù)權(quán)利要求13所述的設(shè)備,其進(jìn)一步包括用以在裝置初始化期間執(zhí)行所述注冊(cè)的構(gòu)件。
19.一種包括指令的計(jì)算機(jī)可讀媒體,當(dāng)一裝置中的一處理器執(zhí)行所述指令時(shí),所述指令運(yùn)行以便在所述裝置中動(dòng)態(tài)地注冊(cè)一函數(shù),其中所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩個(gè)操作模式,所述計(jì)算機(jī)可讀媒體包括用以識(shí)別一將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的一可用槽的指令;用以存儲(chǔ)一與所述槽中的所述函數(shù)關(guān)聯(lián)的指針的指令;用以檢索一與所述槽關(guān)聯(lián)的識(shí)別符的指令;和用以使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符的指令。
20.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)可讀媒體,其中用以使所述識(shí)別符可被訪問(wèn)的所述指令包括用以將所述識(shí)別符存儲(chǔ)于非特權(quán)應(yīng)用程序可讀取的存儲(chǔ)器中的指令。
21.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)可讀媒體,其中所述數(shù)據(jù)結(jié)構(gòu)為一將識(shí)別符映射到函數(shù)的表。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀媒體,其中所述識(shí)別符為一進(jìn)入所述表的索引。
23.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)可讀媒體,其中所述裝置為一無(wú)線裝置。
24.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包括用以在裝置初始化期間執(zhí)行所述注冊(cè)的指令。
全文摘要
本發(fā)明提供一種用于在一裝置中動(dòng)態(tài)注冊(cè)特權(quán)模式掛接(hooks)的系統(tǒng)。所述系統(tǒng)包含一種在一裝置中動(dòng)態(tài)注冊(cè)一函數(shù)的方法,所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩個(gè)操作模式。所述方法包括識(shí)別一將識(shí)別符映射到函數(shù)的數(shù)據(jù)結(jié)構(gòu)中的一可用槽(slot);和存儲(chǔ)一與所述槽中的所述函數(shù)關(guān)聯(lián)的指針。所述方法還包括檢索一與所述槽關(guān)聯(lián)的識(shí)別符;和使非特權(quán)應(yīng)用程序可訪問(wèn)所述識(shí)別符。
文檔編號(hào)G06FGK1875341SQ200480031824
公開(kāi)日2006年12月6日 申請(qǐng)日期2004年10月28日 優(yōu)先權(quán)日2003年10月29日
發(fā)明者布賴恩·哈羅德·凱利, 拉梅什·錢(qián)德拉塞卡爾 申請(qǐng)人:高通股份有限公司