亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于在一裝置中調(diào)用一特權(quán)函數(shù)的系統(tǒng)的制作方法

文檔序號(hào):6498404閱讀:151來源:國知局
專利名稱:用于在一裝置中調(diào)用一特權(quán)函數(shù)的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及一裝置的有效操作,且更特定地說涉及一種用于在一裝置中調(diào)用一特權(quán)函數(shù)的系統(tǒng)。
背景技術(shù)
技術(shù)進(jìn)步已導(dǎo)致家庭、辦公和個(gè)人用途的各種裝置的發(fā)展。例如,例如桌上型計(jì)算機(jī)、筆記本計(jì)算機(jī)和平板計(jì)算機(jī)的計(jì)算機(jī)系統(tǒng)已成為用于家庭或辦公環(huán)境的強(qiáng)大工具。例如無線電話、個(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í)行的程序無限制地訪問存儲(chǔ)器和系統(tǒng)資源。限制以非特權(quán)模式執(zhí)行的程序訪問特定存儲(chǔ)區(qū)域和/或裝置系統(tǒng)。此配置對(duì)于重要的存儲(chǔ)器或裝置函數(shù)提供某種程度的保護(hù)。例如,通過以非特權(quán)模式執(zhí)行第三方應(yīng)用程序,可保護(hù)重要的存儲(chǔ)區(qū)域和裝置函數(shù)免遭非授權(quán)訪問。并且,此配置允許系統(tǒng)在執(zhí)行期間將故障隔離開來。
然而在某些情況下,需要允許從以特權(quán)模式或非特權(quán)模式執(zhí)行的應(yīng)用程序調(diào)用特權(quán)模式函數(shù)。例如,需要特權(quán)模式應(yīng)用程序具有對(duì)特權(quán)模式函數(shù)的訪問權(quán),但也需要以非特權(quán)模式執(zhí)行的應(yīng)用程序具有對(duì)相同特權(quán)函數(shù)的訪問權(quán)。例如,可能需要允許應(yīng)用程序具有對(duì)一選定的系統(tǒng)文件或裝置硬件(例如裝置調(diào)制解調(diào)器)的訪問權(quán)。
不幸的是,常規(guī)系統(tǒng)利用一陷阱來暫時(shí)中止非特權(quán)應(yīng)用程序的執(zhí)行,同時(shí)一分離的特權(quán)模式“核心”任務(wù)執(zhí)行所請(qǐng)求的操作。因此,新特權(quán)模式任務(wù)導(dǎo)致另外的排程復(fù)雜性和額外開銷。也可能存在調(diào)度程序延滯形式的另外的系統(tǒng)延遲。此外,新任務(wù)與非特權(quán)應(yīng)用程序(從中調(diào)用了新任務(wù))相比可以不同優(yōu)先權(quán)而執(zhí)行,藉此使系統(tǒng)排程和操作進(jìn)一步復(fù)雜。
因此,需要這樣一種系統(tǒng),其提供以特權(quán)模式或非特權(quán)模式執(zhí)行的應(yīng)用程序調(diào)用特權(quán)模式函數(shù)的方式,所述應(yīng)用程序調(diào)用一特權(quán)模式函數(shù)以便在與應(yīng)用程序相同的任務(wù)內(nèi)執(zhí)行,藉此為執(zhí)行于任一模式下的應(yīng)用程序提供對(duì)特權(quán)模式掛接的訪問權(quán)。

發(fā)明內(nèi)容
在一或一個(gè)以上實(shí)施例中,提供一種包括方法和/或設(shè)備的系統(tǒng),所述系統(tǒng)運(yùn)行以便為以特權(quán)模式或非特權(quán)模式執(zhí)行的應(yīng)用程序提供對(duì)特權(quán)模式掛接的訪問權(quán)。例如,在一實(shí)施例中,所述系統(tǒng)提供一函數(shù)處理器,其允許以非特權(quán)模式運(yùn)行的應(yīng)用程序在相同任務(wù)(或執(zhí)行線程)內(nèi)執(zhí)行特權(quán)模式函數(shù),藉此避免任務(wù)建立、排定和調(diào)度程序延滯。所述函數(shù)處理器也可為特權(quán)應(yīng)用程序所訪問以便允許那些應(yīng)用程序執(zhí)行特權(quán)函數(shù)。因此,所述系統(tǒng)良好地應(yīng)用于現(xiàn)有軟件中,因?yàn)榭稍诓桓淖儸F(xiàn)有軟件模型的前提下實(shí)現(xiàn)對(duì)特權(quán)模式函數(shù)的存取。
在一或一個(gè)以上實(shí)施例中,所述函數(shù)處理器運(yùn)行以便判定一調(diào)用應(yīng)用程序正以特權(quán)模式執(zhí)行還是以非特權(quán)模式執(zhí)行。如果所述調(diào)用應(yīng)用程序正以特權(quán)模式執(zhí)行,那么函數(shù)處理器直接調(diào)用特權(quán)函數(shù)。如果調(diào)用應(yīng)用程序正以非特權(quán)模式執(zhí)行,那么函數(shù)處理器產(chǎn)生一由(例如)一過渡系統(tǒng)處理的中斷,所述過渡系統(tǒng)允許在與調(diào)用非特權(quán)應(yīng)用程序相同的任務(wù)內(nèi)調(diào)用特權(quán)函數(shù)。因此,函數(shù)處理器運(yùn)行以便為特權(quán)和非特權(quán)應(yīng)用程序兩者提供特權(quán)函數(shù)掛接。
在一實(shí)施例中,調(diào)用應(yīng)用程序?qū)⒁缓瘮?shù)識(shí)別符傳遞至函數(shù)處理器。所述函數(shù)識(shí)別符識(shí)別可用于執(zhí)行的函數(shù)。在一實(shí)施例中,函數(shù)處理器根據(jù)識(shí)別符判定函數(shù)并直接調(diào)用所述函數(shù)。在另一實(shí)施例中,函數(shù)處理器產(chǎn)生中斷并將識(shí)別符傳遞至過渡系統(tǒng),所述過渡系統(tǒng)在適當(dāng)驗(yàn)證之后使用所述識(shí)別符來調(diào)用所請(qǐng)求的函數(shù)。所述中斷可為基于軟體、硬體或異常的中斷。
在一實(shí)施例中,提供一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的方法,其中所述裝置包含至少兩種操作模式,所述操作模式包括一特權(quán)模式和一非特權(quán)模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行。所述方法包括從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求;和判定所述應(yīng)用程序的操作模式。所述方法還包括如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行,那么使用一中斷來調(diào)用所述函數(shù),其中在與所述應(yīng)用程序相同的任務(wù)內(nèi)執(zhí)行所述函數(shù)。所述方法還包括如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行,那么直接調(diào)用所述函數(shù)。
在另一實(shí)施例中,提供一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的設(shè)備,其中所述裝置包含至少兩種操作模式,所述操作模式包括一特權(quán)模式和一非特權(quán)模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行。所述設(shè)備包括從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的邏輯。所述設(shè)備還包括判定所述應(yīng)用程序的操作模式的邏輯。所述設(shè)備還包括如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行就使用一中斷來調(diào)用所述函數(shù)的邏輯,其中在與所述應(yīng)用程序相同的任務(wù)內(nèi)執(zhí)行所述函數(shù)。所述設(shè)備還包括如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行就直接調(diào)用所述函數(shù)的邏輯。
在另一實(shí)施例中,提供一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的設(shè)備,其中所述裝置包含至少兩種操作模式,所述操作模式包括一特權(quán)模式和一非特權(quán)模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行。所述設(shè)備包括用于從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的構(gòu)件,和用于判定所述應(yīng)用程序的操作模式的構(gòu)件。所述設(shè)備還包括用于如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行就使用一中斷來調(diào)用所述函數(shù)的構(gòu)件,其中在與所述應(yīng)用程序相同的任務(wù)內(nèi)執(zhí)行所述函數(shù)。所述設(shè)備還包括用于如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行就直接調(diào)用所述函數(shù)的構(gòu)件。
在另一實(shí)施例中,提供一種包括指令的計(jì)算機(jī)可讀媒體,當(dāng)一裝置中的一處理器執(zhí)行所述指令時(shí),所述指令運(yùn)行以便允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù),其中所述裝置包含至少兩種操作模式,所述操作模式包括一特權(quán)模式和一非特權(quán)模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行。所述計(jì)算機(jī)可讀媒體包括用于從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的指令,和用于判定所述應(yīng)用程序的操作模式的指令。所述計(jì)算機(jī)可讀媒體還包括用于如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行就使用一中斷來調(diào)用所述函數(shù)的指令,其中在與所述應(yīng)用程序相同的任務(wù)內(nèi)執(zhí)行所述函數(shù)。所述計(jì)算機(jī)可讀媒體還包括用于如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行就直接調(diào)用所述函數(shù)的指令。
在閱讀下文所陳述的


具體實(shí)施方式
和權(quán)利要求書之后,將更易了解本發(fā)明的其他方面、優(yōu)點(diǎn)和特征。

結(jié)合附圖,參看以下具體實(shí)施方式
,將更易了解本文中所描述的實(shí)施例的前述方面和相應(yīng)優(yōu)點(diǎn),在附圖中圖1展示一函數(shù)處理器系統(tǒng)的一實(shí)施例,所述函數(shù)處理器系統(tǒng)為執(zhí)行于一裝置102上的特權(quán)和非特權(quán)應(yīng)用程序提供特權(quán)函數(shù)掛接;圖2展示一包括函數(shù)處理器系統(tǒng)的一實(shí)施例的裝置的詳細(xì)方框圖;且圖3展示說明用于裝置中的函數(shù)處理器系統(tǒng)的一實(shí)施例操作的流程圖。
具體實(shí)施例方式
以下具體實(shí)施方式
描述一函數(shù)處理器系統(tǒng),其為特權(quán)和非特權(quán)應(yīng)用程序提供特權(quán)函數(shù)掛接。例如,所述系統(tǒng)運(yùn)行以便從特權(quán)和非特權(quán)應(yīng)用程序接收函數(shù)調(diào)用,此后,判定調(diào)用應(yīng)用程序的操作模式,并提供至特權(quán)函數(shù)的快速且有效過渡。所述函數(shù)執(zhí)行于與調(diào)用應(yīng)用程序相同的執(zhí)行線程內(nèi)。因此,函數(shù)處理器為特權(quán)和非特權(quán)應(yīng)用程序兩者提供特權(quán)函數(shù)掛接,接著特權(quán)和非特權(quán)應(yīng)用程序能夠調(diào)用特權(quán)函數(shù)而不會(huì)產(chǎn)生一新任務(wù),藉此避免新任務(wù)建立、排定和調(diào)度程序延滯的開銷。
在一或一個(gè)以上實(shí)施例中,函數(shù)處理器系統(tǒng)與執(zhí)行于裝置上的運(yùn)行環(huán)境(或操作系統(tǒng))互動(dòng),所述運(yùn)行環(huán)境是用來(例如)通過提供對(duì)裝置特定資源的一般調(diào)用來簡化裝置操作。一種此類運(yùn)行環(huán)境為由美國加州圣地亞哥市的高通(QUALCOMM)公司開發(fā)的無線二進(jìn)制運(yùn)行環(huán)境TM(BREWTM)軟件平臺(tái)。以下實(shí)施方式描述一執(zhí)行例如BREW軟件平臺(tái)的運(yùn)行環(huán)境的裝置。然而,在一或一個(gè)以上實(shí)施例中,所述注冊(cè)系統(tǒng)適于與其他類型運(yùn)行環(huán)境一起使用以在多種裝置中提供特權(quán)函數(shù)掛接的快速且有效注冊(cè),所述多種裝置包含產(chǎn)生系統(tǒng)或其他控制或監(jiān)視程序。例如,所述裝置可包含(但不限于)臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)、手提計(jì)算機(jī),和例如無線電話、傳呼機(jī)、PDA、電子郵件裝置、平板計(jì)算機(jī)等便攜式裝置,或其他類型計(jì)算裝置。
圖1展示一函數(shù)處理器系統(tǒng)100的一實(shí)施例,所述函數(shù)處理器系統(tǒng)100為執(zhí)行于一裝置102上的特權(quán)和非特權(quán)應(yīng)用程序提供特權(quán)函數(shù)掛接。系統(tǒng)100可為家用計(jì)算機(jī)、辦公計(jì)算機(jī)、或例如無線電話或PDA的個(gè)人裝置或者任何其他類型計(jì)算裝置的一部分。在操作期間,一或一個(gè)以上應(yīng)用程序執(zhí)行于裝置102上以便為裝置102提供信息、功能和/或服務(wù)。例如,應(yīng)用程序的一種類型可為觀看器應(yīng)用程序,其運(yùn)行以便允許裝置102顯示電影、新聞或其他類型多媒體內(nèi)容。
在一實(shí)施例中,裝置102包含一運(yùn)行環(huán)境104(意即,BREW),其提供至少兩種操作模式,即非特權(quán)模式(NP)和特權(quán)模式(P)。非特權(quán)操作模式是用來限制運(yùn)行于裝置上的應(yīng)用程序的訪問并提供故障檢測。例如,將以非特權(quán)模式運(yùn)行的應(yīng)用程序限制于選定的存儲(chǔ)區(qū)域,且可拒絕其訪問裝置寄存器或其他資源。特權(quán)操作模式允許在此模式下運(yùn)行的應(yīng)用程序不受限制地訪問存儲(chǔ)器或裝置資源。
當(dāng)應(yīng)用程序執(zhí)行于裝置102上時(shí),其在運(yùn)行環(huán)境下運(yùn)行以便提供所需功能性。例如,應(yīng)用程序116在非特權(quán)模式(NP)下運(yùn)行于裝置102上,且應(yīng)用程序118在特權(quán)模式(P)中運(yùn)行于裝置102上。這些應(yīng)用程序的任一者可要求通過一特權(quán)函數(shù)110可用的功能或系統(tǒng)資源。例如,應(yīng)用程序可能需要訪問特權(quán)存儲(chǔ)器或裝置硬件資源。為了獲得這些功能和服務(wù),函數(shù)處理器系統(tǒng)100提供一機(jī)制,所述機(jī)制允許任一應(yīng)用程序(116、118)通過一函數(shù)處理器112來調(diào)用特權(quán)函數(shù)。當(dāng)通過函數(shù)處理器112被調(diào)用時(shí),函數(shù)110執(zhí)行于與調(diào)用應(yīng)用程序相同的執(zhí)行線程內(nèi)。在函數(shù)110執(zhí)行所請(qǐng)求的服務(wù)之后,程序控制返回調(diào)用應(yīng)用程序。
因此,函數(shù)處理器系統(tǒng)100提供一快速且有效的機(jī)制以便允許特權(quán)和非特權(quán)應(yīng)用程序執(zhí)行特權(quán)函數(shù),而無需建立新任務(wù)和排程新任務(wù)以供由運(yùn)行環(huán)境執(zhí)行,藉此消除排程器復(fù)雜性和相關(guān)調(diào)度程序延滯。
圖2展示包括函數(shù)處理系統(tǒng)的一實(shí)施例的裝置102的詳細(xì)方框圖。裝置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、處理器、門陣列、硬件邏輯、存儲(chǔ)器元件、虛擬機(jī)、軟件、I/O接口和/或硬件與軟件的任何組合。因此,處理邏輯模塊202通常包括用來執(zhí)行機(jī)器可讀指令的邏輯。例如,可從一例如軟盤、CDROM、閃存的計(jì)算機(jī)可讀媒體,或通過裝置資源206而連接至裝置102的其他計(jì)算機(jī)可讀媒體將指令載入裝置102中。在另一實(shí)施例中,可從一例如網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)資源,或通過裝置資源206而連接至裝置102的任何其他類型網(wǎng)絡(luò)資源將指令下載至裝置102中。當(dāng)處理邏輯模塊202執(zhí)行指令時(shí),所述指令提供如本文中所描述函數(shù)處理系統(tǒng)的一或一個(gè)以上實(shí)施例。
在一實(shí)施例中,代碼存儲(chǔ)器208包括RAM、ROM、FLASH、EEROM或任何其他適宜類型的存儲(chǔ)器,或其組合。通過一存儲(chǔ)器管理單元(memory management unit)216的操作將代碼存儲(chǔ)器206分割成一特權(quán)區(qū)域(P)212和一非特權(quán)區(qū)域(NP)214。所述MMU216運(yùn)行以便限制非特權(quán)程序代碼的操作,從而使非特權(quán)代碼對(duì)于代碼存儲(chǔ)器208的選定區(qū)域具有有限訪問權(quán)。
特權(quán)區(qū)域212包含程序代碼,當(dāng)所述程序代碼被執(zhí)行時(shí),其對(duì)于存儲(chǔ)器或裝置102的其他系統(tǒng)具有無限制訪問權(quán)。例如,特權(quán)代碼區(qū)域212包括操作系統(tǒng)代碼(OS)、用戶接口代碼(UI)、驗(yàn)證代碼、應(yīng)用程序代碼(App-P)108和特權(quán)函數(shù)代碼FUNC 110。特權(quán)代碼區(qū)域212中所展示的代碼代表可包含于裝置102中的特權(quán)代碼類型。特權(quán)代碼區(qū)域212也可能包含用于執(zhí)行于裝置102上的其他類型特權(quán)代碼。
非特權(quán)代碼區(qū)域214包含程序代碼,當(dāng)所述程序代碼被執(zhí)行時(shí),其被限制為僅訪問選定的存儲(chǔ)區(qū)域。例如,非特權(quán)代碼區(qū)域214包括OS代碼和應(yīng)用程序代碼(App-NP)106,以及函數(shù)處理器106。在一或一個(gè)以上實(shí)施例中,可從一在裝置制造時(shí)安裝的網(wǎng)絡(luò)或系統(tǒng)將FH 106下載至裝置102,或可從一計(jì)算機(jī)可讀媒體將FH 106添加至所述裝置。
在一實(shí)施例中,數(shù)據(jù)存儲(chǔ)器210包括一特權(quán)區(qū)域216和一非特權(quán)區(qū)域218。所述特權(quán)區(qū)域216包括僅可由特權(quán)程序代碼訪問的數(shù)據(jù)區(qū)域。例如,特權(quán)數(shù)據(jù)區(qū)域226包括OS、UI、驗(yàn)證、App-P和FUNC代碼所使用的數(shù)據(jù)。所述非特權(quán)數(shù)據(jù)區(qū)域218包含可由非特權(quán)程序代碼訪問的數(shù)據(jù)區(qū)域。例如,非特權(quán)數(shù)據(jù)區(qū)域218包括由非特權(quán)OS、App-NP和FH程序代碼所使用的數(shù)據(jù)。一存儲(chǔ)器管理單元(MMU)220也耦接至數(shù)據(jù)存儲(chǔ)器210。MMU 220運(yùn)行以便限制對(duì)于非特權(quán)和特權(quán)數(shù)據(jù)區(qū)域的訪問。例如,限制非特權(quán)應(yīng)用程序訪問特權(quán)數(shù)據(jù)區(qū)域216中的數(shù)據(jù),或?qū)儆诜翘貦?quán)數(shù)據(jù)區(qū)域218中其他非特權(quán)應(yīng)用程序的數(shù)據(jù)。
處理邏輯模塊202還包括模式邏輯模塊222和中斷邏輯模塊224。模式邏輯模塊222包括一CPU、處理器、邏輯、裝置寄存器、軟件或運(yùn)行以允許在裝置102的操作模式之間進(jìn)行模式變化的硬件與軟件的任何組合。例如,在一實(shí)施例中,模式邏輯模塊222包括一寄存器,所述寄存器的位設(shè)置操作模式。例如,為了從特權(quán)模式切換至非特權(quán)模式,設(shè)置暫存器中選定的位,從而使得恢復(fù)非特權(quán)堆棧且以非特權(quán)模式繼續(xù)進(jìn)行程序執(zhí)行。
中斷邏輯模塊224包括一CPU、處理器、邏輯、軟件或運(yùn)行以允許處理邏輯模塊202接收并處理中斷的硬件與軟件的任何組合。例如,中斷邏輯模塊224可接收由處理邏輯模塊202執(zhí)行的程序代碼所產(chǎn)生的軟件中斷。在一實(shí)施例中,函數(shù)處理系統(tǒng)使用所述軟件中斷來允許非特權(quán)程序代碼執(zhí)行相同任務(wù)和優(yōu)先權(quán)內(nèi)的特權(quán)函數(shù)。在一實(shí)施例中,中斷邏輯模塊224處理軟件中斷、硬件中斷、程序異?;蜃鳛楹瘮?shù)處理系統(tǒng)操作的一部分的任何其他類型中斷。
應(yīng)注意,所述裝置102的配置僅為一種適于實(shí)施所描述的函數(shù)處理系統(tǒng)的配置。也可能使用本發(fā)明范疇內(nèi)的其他裝置配置、功能元件或元件配置來實(shí)施函數(shù)處理系統(tǒng)的一或一個(gè)以上實(shí)施例。
在裝置102操作期間,處理邏輯模塊202執(zhí)行非特權(quán)應(yīng)用程序代碼(意即,App-NP)和/或特權(quán)應(yīng)用程序代碼(App-P)。當(dāng)任一應(yīng)用程序要求特權(quán)函數(shù)服務(wù)(例如Func 110)時(shí),個(gè)別應(yīng)用程序調(diào)用具有識(shí)別符的FH代碼112,所述識(shí)別符識(shí)別所需函數(shù)(意即,F(xiàn)unc)。FH代碼112為非特權(quán)代碼,且因此其可從特權(quán)或非特權(quán)應(yīng)用程序中被調(diào)用。
FH代碼判定調(diào)用應(yīng)用程序的操作模式,并基于所判定的模式來執(zhí)行選定步驟以便調(diào)用特權(quán)函數(shù)Func來提供所請(qǐng)求的服務(wù)而不會(huì)建立新任務(wù)。以下為FH 112用來回應(yīng)對(duì)于特權(quán)函數(shù)服務(wù)的請(qǐng)求的步驟概述。
1.從應(yīng)用程序接收一執(zhí)行與一識(shí)別符關(guān)聯(lián)的函數(shù)的請(qǐng)求,所述識(shí)別符連同所述請(qǐng)求一起傳遞。
2.判定所述請(qǐng)求應(yīng)用程序的操作模式。
3.如果請(qǐng)求應(yīng)用程序正以特權(quán)操作模式執(zhí)行,那么a.基于識(shí)別符來查找所請(qǐng)求的特權(quán)函數(shù)。
b.調(diào)用特權(quán)函數(shù)。
c.返回調(diào)用特權(quán)應(yīng)用程序。
4.如果請(qǐng)求應(yīng)用程序正以非特權(quán)操作模式執(zhí)行,那么a.產(chǎn)生軟件中斷并傳遞識(shí)別符。
b.過渡至特權(quán)模式中斷處理器。
c.基于識(shí)別符來查找所請(qǐng)求的特權(quán)函數(shù)。
d.調(diào)用特權(quán)函數(shù)。
e.在特權(quán)函數(shù)執(zhí)行之后,恢復(fù)非特權(quán)寄存器。
f.返回調(diào)用非特權(quán)應(yīng)用程序。
在一實(shí)施例中,所描述的函數(shù)處理系統(tǒng)包括存儲(chǔ)于計(jì)算機(jī)可讀媒體上的程序指令,當(dāng)處理邏輯模塊202執(zhí)行所述程序指令時(shí),所述程序指令提供本文中所描述的功能。在一或一個(gè)以上實(shí)施例中,計(jì)算機(jī)可讀媒體包括軟盤、CD、存儲(chǔ)卡、FLASH存儲(chǔ)裝置、RAM、ROM或任何其他類型存儲(chǔ)裝置。
圖3展示說明用于一裝置(例如裝置102)中的函數(shù)處理系統(tǒng)的一實(shí)施例操作的流程圖300。為明確起見,將參看圖2中所展示的裝置102來描述流程圖300。將假設(shè)所述裝置正執(zhí)行BREW運(yùn)行環(huán)境,所述BREW運(yùn)行環(huán)境運(yùn)行以便建立一執(zhí)行線程302。所述執(zhí)行線程302表示在裝置上執(zhí)行特權(quán)或非特權(quán)應(yīng)用程序。
一系統(tǒng)排程器(未圖示)運(yùn)行以便排程應(yīng)用程序的執(zhí)行,從而形成執(zhí)行線程302。通常,排程器運(yùn)行以便基于優(yōu)先權(quán)來排程執(zhí)行,但可運(yùn)行以便基于其他標(biāo)準(zhǔn)來排程執(zhí)行。然而,本文中所描述的函數(shù)處理器系統(tǒng)提供一函數(shù)處理器,所述函數(shù)處理器在與調(diào)用應(yīng)用程序相同的執(zhí)行線程內(nèi)運(yùn)行,藉此避免新任務(wù)建立、相關(guān)排程器復(fù)雜性和可能的調(diào)度程序延滯。
執(zhí)行線程302表示執(zhí)行特權(quán)應(yīng)用程序(App-P)或非特權(quán)應(yīng)用程序(App-NP)。執(zhí)行應(yīng)用程序可為查看器應(yīng)用程序,其運(yùn)行以便允許裝置為裝置用戶顯示各種多媒體內(nèi)容。當(dāng)應(yīng)用程序執(zhí)行時(shí),發(fā)生對(duì)于一特權(quán)函數(shù)(Func)服務(wù)的要求。為了獲得來自特權(quán)函數(shù)的服務(wù),應(yīng)用程序調(diào)用FH 304并傳遞一識(shí)別特權(quán)函數(shù)Func的識(shí)別符。將假設(shè)系統(tǒng)中可用的特權(quán)函數(shù)具有一可被執(zhí)行應(yīng)用程序發(fā)現(xiàn)的相關(guān)識(shí)別符。在一或一個(gè)以上實(shí)施例中,執(zhí)行存儲(chǔ)于代碼存儲(chǔ)器208中的程序指令的處理邏輯模塊202執(zhí)行以下功能,所述處理邏輯模塊202也處理數(shù)據(jù)存儲(chǔ)器210中的數(shù)據(jù)。
在方框306處,F(xiàn)H 304獲得識(shí)別特權(quán)函數(shù)Func的識(shí)別符。例如,所述識(shí)別符可在與處理邏輯模塊202關(guān)聯(lián)的寄存器中或數(shù)據(jù)存儲(chǔ)器210中其他存儲(chǔ)位置中而傳遞至FH。
在方框308處,執(zhí)行一測試來判定調(diào)用應(yīng)用程序正以特權(quán)模式執(zhí)行還是以非特權(quán)模式執(zhí)行。例如,處理邏輯模塊通過評(píng)估處理器狀態(tài)寄存器來判定應(yīng)用程序的當(dāng)前處理模式。如果調(diào)用應(yīng)用程序正以非特權(quán)模式執(zhí)行,那么方法前進(jìn)至方框310。如果調(diào)用應(yīng)用程序正以特權(quán)模式執(zhí)行,那么方法前進(jìn)至方框312。
在方框312處,已判定應(yīng)用程序正以特權(quán)模式執(zhí)行。FH代碼304基于接收到的識(shí)別符來查找所請(qǐng)求的特權(quán)函數(shù)(意即,F(xiàn)unc)。例如,處理邏輯模塊202使用識(shí)別符來訪問一將可用函數(shù)映射至識(shí)別符的數(shù)據(jù)結(jié)構(gòu),以便判定調(diào)用應(yīng)用程序正請(qǐng)求的函數(shù)。數(shù)據(jù)結(jié)構(gòu)可存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器210中。
在方框314中,調(diào)用特權(quán)函數(shù)Func以便執(zhí)行所請(qǐng)求的服務(wù)。例如,特權(quán)函數(shù)可訪問一系統(tǒng)文件或一硬件資源。在一實(shí)施例中,處理邏輯模塊執(zhí)行程序指令以便調(diào)用特權(quán)函數(shù)Func。一旦執(zhí)行,函數(shù)Func也可執(zhí)行各種參數(shù)查核和驗(yàn)證以便確認(rèn)調(diào)用應(yīng)用程序已通過合法且有效參數(shù)。一旦函數(shù)Func已完成執(zhí)行,那么程序流返回執(zhí)行線程302。
因此,如果特權(quán)應(yīng)用程序通過FH 304調(diào)用函數(shù)Func,那么FH 304運(yùn)行以便基于識(shí)別符來判定所請(qǐng)求的函數(shù),并調(diào)用所述函數(shù)來執(zhí)行所請(qǐng)求的服務(wù)。如果非特權(quán)應(yīng)用程序通過FH 304調(diào)用函數(shù)Func,那么FH 304如下運(yùn)行以便提供所請(qǐng)求的服務(wù)。
在方框310處,F(xiàn)H 304產(chǎn)生一中斷,所述中斷運(yùn)行以便請(qǐng)求裝置的操作模式過渡至特權(quán)模式316,從而特權(quán)函數(shù)Func可執(zhí)行。中斷可為一軟件中斷或可由FH 304產(chǎn)生的任何其他類型中斷。中斷包括自調(diào)用應(yīng)用程序傳遞的識(shí)別符。例如,中斷可由圖2中所展示的中斷邏輯模塊224產(chǎn)生和/或處理。
在產(chǎn)生中斷之后,程序執(zhí)行流動(dòng)至特權(quán)模式程序代碼316,其中在與調(diào)用應(yīng)用程序相同的任務(wù)內(nèi)調(diào)用特權(quán)函數(shù)Func。
下文提供對(duì)于程序代碼316的操作的簡單描述。然而,關(guān)于對(duì)于程序代碼316的操作的更詳細(xì)描述,讀者可參考標(biāo)題為“SYSTEM FOR PROVIDING TRANSITIONSBETWEEN OPERATING MODES OF A DEVICE”的代理人案號(hào)第030620號(hào)美國專利申請(qǐng)案,其以引用的方式并入本文中。
在方框318處,基于所傳遞的識(shí)別符來判定所需特權(quán)函數(shù)。例如,處理邏輯模塊202基于識(shí)別符來搜尋存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器210中的數(shù)據(jù)結(jié)構(gòu)以便識(shí)別所需函數(shù)Func。
在方框320處,一旦判定了特權(quán)函數(shù)Func,那么調(diào)用所述特權(quán)函數(shù)Func。例如,在一實(shí)施例中,處理邏輯模塊202執(zhí)行存儲(chǔ)于代碼存儲(chǔ)器208中的指令來調(diào)用函數(shù)Func。特權(quán)函數(shù)可運(yùn)行以便打開一特定系統(tǒng)文件,所述系統(tǒng)文件含有供調(diào)用非特權(quán)應(yīng)用程序使用的數(shù)據(jù)。在一實(shí)施例中,從應(yīng)用程序?qū)⒘硗獾膮?shù)傳遞至特權(quán)函數(shù)。例如,所述參數(shù)可進(jìn)一步指示或界定非特權(quán)應(yīng)用程序所請(qǐng)求的服務(wù)類型。特權(quán)函數(shù)運(yùn)行以便驗(yàn)證這些參數(shù),從而確認(rèn)特權(quán)函數(shù)的執(zhí)行將不會(huì)超出準(zhǔn)予應(yīng)用程序的特權(quán)。例如,所述函數(shù)運(yùn)行以便驗(yàn)證參數(shù),從而函數(shù)的執(zhí)行將不會(huì)超出對(duì)應(yīng)用程序規(guī)定的存儲(chǔ)限制。
在方框322處,在執(zhí)行函數(shù)Func之后,恢復(fù)非特權(quán)模式寄存器,包含恢復(fù)非特權(quán)模式堆棧。如路徑324處所展示,程序執(zhí)行返回非特權(quán)應(yīng)用程序線302。
應(yīng)注意,程序流程圖300僅說明一實(shí)施例,且在不背離本發(fā)明范疇的前提下可對(duì)程序元件作出變化、添加或重新配置。
因此,盡管本文已說明并描述一函數(shù)處理系統(tǒng)的方法和設(shè)備的一或一個(gè)以上實(shí)施例,但應(yīng)了解在不背離所述實(shí)施例精神或本質(zhì)特征的前提下可對(duì)這些實(shí)施例作出各種變化。因此,本文中的揭示內(nèi)容和描述是用來說明所附權(quán)利要求書中提出的本發(fā)明的保護(hù)范圍,而不是對(duì)其進(jìn)行限定。
權(quán)利要求
1.一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的方法,其中所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩種操作模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行,所述方法包括從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求;判定所述應(yīng)用程序的操作模式;如果所述應(yīng)用程序正以所述非特權(quán)模執(zhí)行,那么使用一中斷來調(diào)用所述函數(shù),其中在與所述應(yīng)用程序相同的任務(wù)中執(zhí)行所述函數(shù);和如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行,那么直接調(diào)用所述函數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述中斷為一軟件中斷。
3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括基于一連同所述請(qǐng)求一起傳遞的識(shí)別符來判定所述函數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括當(dāng)所述函數(shù)的所述執(zhí)行完成時(shí)返回至所述應(yīng)用程序。
5.根據(jù)權(quán)利要求1所述的方法,其中所述裝置為一無線裝置。
6.一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的設(shè)備,其中所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩種操作模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行,所述設(shè)備包括從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的邏輯單元;判定所述應(yīng)用程序的操作模式的邏輯單元;在所述應(yīng)用程序正在執(zhí)行所述非特權(quán)模式時(shí)使用一中斷來調(diào)用所述函數(shù)的邏輯單元,其中,在與所述應(yīng)用程序相同的任務(wù)中執(zhí)行所述函數(shù);和在所述應(yīng)用程序正在執(zhí)行所述特權(quán)模式時(shí)直接調(diào)用所述函數(shù)的邏輯單元。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其中所述中斷為一軟件中斷。
8.根據(jù)權(quán)利要求6所述的設(shè)備,其進(jìn)一步包括一與所述請(qǐng)求關(guān)聯(lián)的識(shí)別符,所述識(shí)別符識(shí)別所述函數(shù)。
9.根據(jù)權(quán)利要求6所述的設(shè)備,其中所述裝置為一無線裝置。
10.一種允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的設(shè)備,其中所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩種操作模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行,所述設(shè)備包括用于從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的構(gòu)件;用于判定所述應(yīng)用程序的操作模式的構(gòu)件;所述應(yīng)用程序正在執(zhí)行所述非特權(quán)模式時(shí)的用于使用一中斷來調(diào)用所述函數(shù)的構(gòu)件,其中在與所述應(yīng)用程序相同的任務(wù)中執(zhí)行所述函數(shù);和所述應(yīng)用程序正在執(zhí)行所述特權(quán)模式時(shí)的用于直接調(diào)用所述函數(shù)的構(gòu)件。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述中斷為一軟件中斷。
12.根據(jù)權(quán)利要求10所述的設(shè)備,其進(jìn)一步包括用于識(shí)別所述函數(shù)的識(shí)別符構(gòu)件。
13.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述裝置為一無線裝置。
14.一種包括指令的計(jì)算機(jī)可讀媒體,當(dāng)一裝置中的一處理器執(zhí)行所述指令時(shí),所述指令運(yùn)行以允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù),其中所述裝置包含包括一特權(quán)模式和一非特權(quán)模式在內(nèi)的至少兩種操作模式,且所述函數(shù)以所述特權(quán)模式執(zhí)行,所述計(jì)算機(jī)可讀媒體包括用于從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求的指令;用于判定所述應(yīng)用程序的操作模式的指令;用于如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行就使用一中斷來調(diào)用所述函數(shù)的指令,其中在與所述應(yīng)用程序相同的任務(wù)中執(zhí)行所述函數(shù);和用于如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行就直接調(diào)用所述函數(shù)的指令。
15.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中所述中斷為一軟件中斷。
16.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包括用于基于一連同所述請(qǐng)求一起傳遞的識(shí)別符來判定所述函數(shù)的指令。
17.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其進(jìn)一步包括用于當(dāng)所述函數(shù)的所述執(zhí)行完成時(shí)返回至所述應(yīng)用程序的指令。
18.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀媒體,其中所述裝置為一無線裝置。
全文摘要
本發(fā)明提供一種用于在一裝置中調(diào)用一特權(quán)函數(shù)的系統(tǒng)。所述系統(tǒng)包含一允許一應(yīng)用程序在一裝置上調(diào)用一函數(shù)的方法,其中所述裝置包含包括一特權(quán)模式(314)和一非特權(quán)模式(322)在內(nèi)的至少兩種操作模式,且所述函數(shù)以所述特權(quán)模式(314)執(zhí)行。所述方法包含從所述應(yīng)用程序接收一調(diào)用所述函數(shù)的請(qǐng)求;和判定所述應(yīng)用程序的操作模式。所述方法還包含如果所述應(yīng)用程序正以所述非特權(quán)模式執(zhí)行,那么使用一中斷(310)來調(diào)用所述函數(shù),其中在與所述應(yīng)用程序相同的任務(wù)中執(zhí)行所述函數(shù)。所述方法還包含如果所述應(yīng)用程序正以所述特權(quán)模式執(zhí)行,那么直接調(diào)用所述函數(shù)。
文檔編號(hào)G06FGK1943160SQ200480031825
公開日2007年4月4日 申請(qǐng)日期2004年10月28日 優(yōu)先權(quán)日2003年10月29日
發(fā)明者布賴恩·哈羅德·凱利, 拉梅什·錢德拉塞卡爾 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1