專(zhuān)利名稱(chēng)::嵌入式系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種按照權(quán)利要求1前序部分的系統(tǒng)。本發(fā)明進(jìn)一步涉及一種按照權(quán)利要求13前序部分的方法和一種按照權(quán)利要求24前序部分的通信設(shè)備。在電子產(chǎn)業(yè)中,已經(jīng)設(shè)計(jì)了許多有某種微處理器或相應(yīng)的處理器作為基本功能部件的設(shè)備。這種處理器例如可以與微控制器定位在一起,其中它還有一些外設(shè)被設(shè)置在同一個(gè)微芯片中。這些設(shè)備也稱(chēng)嵌入式系統(tǒng),其例子有移動(dòng)站-如蜂窩網(wǎng)絡(luò)移動(dòng)站CMT(蜂窩式移動(dòng)電話)、PC(個(gè)人電腦)、PDA(個(gè)人數(shù)字助理)等等。要控制這種設(shè)備的操作,經(jīng)常要設(shè)計(jì)設(shè)備專(zhuān)用的操作系統(tǒng),其基本任務(wù)是看管系統(tǒng)的定時(shí)、資源控制、不同程序塊之間消息的處理和傳輸。這種操作系統(tǒng)通常被稱(chēng)為實(shí)時(shí)操作系統(tǒng)(RTOS)。這種實(shí)時(shí)操作系統(tǒng)的典型特征是,例如事實(shí)上它能被用于預(yù)測(cè)對(duì)諸如按鍵的外部中斷的響應(yīng)時(shí)間或定時(shí)、存儲(chǔ)器資源的最小化使用,此外,實(shí)時(shí)操作系統(tǒng)對(duì)控制任務(wù)非常有效。此外,在實(shí)時(shí)操作系統(tǒng)中-例如在便攜式設(shè)備中為了延長(zhǎng)電池的使用時(shí)間-通常設(shè)計(jì)了一些用于控制負(fù)載量的屬性。這種實(shí)時(shí)操作系統(tǒng)的大小,一般占用在10至100kB的程序代碼和信息存儲(chǔ)器(隨機(jī)存取存儲(chǔ)器RAM)。非實(shí)時(shí)操作系統(tǒng)與實(shí)時(shí)操作系統(tǒng)不同,例如運(yùn)行不同操作的響應(yīng)時(shí)間比實(shí)時(shí)操作系統(tǒng)中的長(zhǎng);另一方面,在非實(shí)時(shí)操作系統(tǒng)中也不能對(duì)響應(yīng)時(shí)間進(jìn)行預(yù)測(cè)。在多任務(wù)非實(shí)時(shí)操作系統(tǒng)中,每個(gè)執(zhí)行過(guò)程都延緩相同或更低優(yōu)先級(jí)的過(guò)程的執(zhí)行,其中也可能延長(zhǎng)響應(yīng)時(shí)間。此外,非實(shí)時(shí)操作系統(tǒng)沒(méi)有在操作系統(tǒng)的內(nèi)核中確定的響應(yīng)時(shí)間,這就對(duì)預(yù)測(cè)這種操作系統(tǒng)的執(zhí)行速度造成了困難。移動(dòng)站的存儲(chǔ)器容量和其它系統(tǒng)資源有限。此外,在移動(dòng)站中,經(jīng)常不存在對(duì)外設(shè)-諸如可寫(xiě)的海量存儲(chǔ)器(硬盤(pán))或諸如快閃存儲(chǔ)器的內(nèi)存卡-的系統(tǒng)支持。在移動(dòng)站中,一般不可能以動(dòng)態(tài)方式將程序裝入系統(tǒng)-就是說(shuō),移動(dòng)站的軟件是在制造階段裝入移動(dòng)站的,也不能在有些情況下-例如由于維護(hù)-對(duì)程序進(jìn)行更新。此外,許多移動(dòng)站不含存儲(chǔ)器管理單元(MMU),因?yàn)橐苿?dòng)站軟件通常都是由移動(dòng)站制造商制造和測(cè)試的。由于這些原因,特定于設(shè)備的實(shí)時(shí)操作系統(tǒng)也不包含對(duì)上述屬性的支持。制造個(gè)人電腦和個(gè)人數(shù)字助理的公司已經(jīng)開(kāi)發(fā)了有對(duì)上述屬性支持的操作系統(tǒng),但是這些操作系統(tǒng)不是照這樣實(shí)時(shí)地運(yùn)行的,這樣它們就不能預(yù)測(cè)運(yùn)行某些操作的最大響應(yīng)時(shí)間。這種操作系統(tǒng)的大小通常在200kB到數(shù)MB,這樣,要讓它們適應(yīng)諸如移動(dòng)站的便攜式機(jī)器,未必容易。實(shí)時(shí)操作系統(tǒng),特別是為數(shù)據(jù)處理設(shè)備開(kāi)發(fā)的操作系統(tǒng),有部分對(duì)立的要求,其中難于完成一個(gè)有可用于該操作系統(tǒng)的相同編程界面、同時(shí)具有所有必要屬性-諸如較少的存儲(chǔ)器占用和實(shí)時(shí)特性-的操作系統(tǒng)。近來(lái),也開(kāi)發(fā)了有數(shù)據(jù)處理器與電信設(shè)備組合的電子設(shè)備。這種設(shè)備在本說(shuō)明書(shū)中稱(chēng)為通信設(shè)備。這種設(shè)備的一個(gè)例子是諾基亞9000通信器(Nokia9000Communicator),它是一個(gè)體積較小的便攜式設(shè)備,兼有數(shù)據(jù)處理操作和移動(dòng)站操作二者的作用。然而,這種組合設(shè)備的一個(gè)目的是盡可能地使用以前開(kāi)發(fā)的產(chǎn)品,其中一個(gè)目的是例如保持用于這種新設(shè)備中的不同設(shè)備的軟件的兼容。實(shí)現(xiàn)這種目的的方法是,為其中的數(shù)據(jù)處理部分提供其自己的處理器和其自己的操作系統(tǒng),并且移動(dòng)站實(shí)施例也同樣有它們自己的處理器和它們自己的操作系統(tǒng)。這樣,就有可能盡可能有效地采用以前的產(chǎn)品開(kāi)發(fā)的結(jié)果,加速設(shè)備的推出。然而,分立的處理器通常消耗比單一處理器解決方案所可能達(dá)到的更多的電量,其中這種便攜式設(shè)備需要更高效的電池,否則其執(zhí)行時(shí)間就不能保持得如分立的設(shè)備可能達(dá)到的那么長(zhǎng)。現(xiàn)有技術(shù)水平的解決方案中實(shí)現(xiàn)在單一處理器運(yùn)行兩個(gè)操作系統(tǒng)的方法是,通過(guò)采用兩個(gè)操作系統(tǒng)的特點(diǎn)來(lái)實(shí)現(xiàn)各操作系統(tǒng)。這種類(lèi)型的組合存在的問(wèn)題是,例如當(dāng)各操作系統(tǒng)有非常不同的屬性時(shí),不可能執(zhí)行要被組合的操作系統(tǒng)的所有屬性。這導(dǎo)致的不利情況是,例如為這些操作系統(tǒng)開(kāi)發(fā)的所有應(yīng)用程序都不能使用、或者使用時(shí)需要改動(dòng)應(yīng)用程序。此外,當(dāng)開(kāi)發(fā)了新的應(yīng)用時(shí),必須對(duì)根據(jù)一個(gè)操作系統(tǒng)編制的應(yīng)用程序按照另一個(gè)操作系統(tǒng)作改動(dòng)。這就加大了所需的工作量和出錯(cuò)的概率。此外,專(zhuān)利US-5,278,973披露了一種其中能在一個(gè)處理器中使用幾個(gè)操作系統(tǒng)的數(shù)據(jù)處理器。然而,每次只能使用這些操作系統(tǒng)中的其中之一。如果要變換操作系統(tǒng),則要求必須取消使用中的操作系統(tǒng)的執(zhí)行,并且要重新啟動(dòng)數(shù)據(jù)處理器。本發(fā)明的一個(gè)目的是實(shí)現(xiàn)一種嵌入式系統(tǒng),其中至少兩個(gè)操作系統(tǒng)能被一個(gè)處理器之類(lèi)執(zhí)行。本發(fā)明根據(jù)的思想是,建立至少一個(gè)至少部分公用的中斷處理程序,用于在各線程上檢查每個(gè)中斷影響哪個(gè)操作系統(tǒng),其中要將中斷數(shù)據(jù)傳送給各操作系統(tǒng)。按照本發(fā)明的嵌入式系統(tǒng)的特征將在權(quán)利要求1的特征部分中所介紹的內(nèi)容中表示。按照本發(fā)明的方法的特征將在權(quán)利要求13的特征部分中所介紹的內(nèi)容中表示。按照本發(fā)明的通信設(shè)備的特征將在權(quán)利要求24的說(shuō)明部分中所介紹的內(nèi)容中表示。本發(fā)明比現(xiàn)有技術(shù)水平的解決方案有顯著的優(yōu)點(diǎn)。由一個(gè)處理器耗費(fèi)的負(fù)載量通常比假若將分立的處理器用于每個(gè)操作系統(tǒng)時(shí)的低。此外,因?yàn)槟苁褂酶嗟闹T如存儲(chǔ)器的公用部件,所以減少了對(duì)空間的需求。按照本發(fā)明的嵌入式系統(tǒng),使得已開(kāi)發(fā)的應(yīng)用程序無(wú)需作修改就有可能在其中使用,并且無(wú)論為哪個(gè)操作系統(tǒng)開(kāi)發(fā)新應(yīng)用程序,都無(wú)需首先對(duì)根據(jù)一個(gè)操作系統(tǒng)開(kāi)發(fā)的應(yīng)用程序按照另一個(gè)操作系統(tǒng)進(jìn)行改變。與將兩個(gè)操作系統(tǒng)組合起來(lái)使用任何一個(gè)操作系統(tǒng)的功能的解決方案以及每個(gè)操作系統(tǒng)有供自己支配的處理器的解決方案相比,本發(fā)明進(jìn)一步減少了工作量和可能的出錯(cuò)量。此外,本發(fā)明的解決方案不減少操作系統(tǒng)的任何功能,它們?nèi)匀荒茉谝欢ǖ膽?yīng)用或應(yīng)用領(lǐng)域中-例如為了移動(dòng)站功能的實(shí)現(xiàn)-被優(yōu)化。此外,由于耗電量的減少,在便攜式設(shè)備中,一次充電能維持更長(zhǎng)的操作時(shí)間。下面將結(jié)合各附圖來(lái)更詳細(xì)地說(shuō)明本發(fā)明。附圖簡(jiǎn)介圖1表示一個(gè)操作系統(tǒng)的層次結(jié)構(gòu);圖2表示過(guò)程的一個(gè)狀態(tài)模型;圖3表示一例過(guò)程元素(processelement);圖4a表示按照本發(fā)明的有利實(shí)施例的嵌入式系統(tǒng)的簡(jiǎn)化框圖;圖4b表示一個(gè)處理器的簡(jiǎn)化框圖;圖5表示一個(gè)與本發(fā)明的嵌入式系統(tǒng)一起使用的操作系統(tǒng)的簡(jiǎn)化示意圖;圖6a至6i表示本發(fā)明最佳實(shí)施例的嵌入式系統(tǒng)中處理中斷的不同情形;圖7a和7b表示消息傳輸中的機(jī)構(gòu)的簡(jiǎn)化示意圖;圖8表示本發(fā)明最佳實(shí)施例的嵌入式系統(tǒng)中處理中斷的一個(gè)情形中的簡(jiǎn)化有向圖;圖9表示本發(fā)明最佳實(shí)施例的嵌入式系統(tǒng)中一種交叉調(diào)度選擇的定時(shí)圖;圖10表示本發(fā)明最佳實(shí)施例的嵌入式系統(tǒng)中一種交叉調(diào)度選擇的功能圖。為了便于更好地理解本發(fā)明,首先結(jié)合圖1至3來(lái)說(shuō)明現(xiàn)有技術(shù)水平的處理器和操作系統(tǒng)的各種解決方案。處理器可按指令集劃分成兩類(lèi)復(fù)雜指令集計(jì)算機(jī)(CISC)和精簡(jiǎn)指令集計(jì)算機(jī)(RISC)。在精簡(jiǎn)指令集計(jì)算機(jī)中,去掉了一部分不常用的指令,例如,尋址方式(addressingforms)的數(shù)量可比復(fù)雜指令集計(jì)算機(jī)中的少。然而,在普通應(yīng)用程序中,用非常少量的指令就能實(shí)現(xiàn)應(yīng)用程序,其中一般就有可能用精簡(jiǎn)指令集計(jì)算機(jī)來(lái)實(shí)現(xiàn)必要的計(jì)算機(jī)程序。精簡(jiǎn)指令集計(jì)算機(jī)與復(fù)雜指令集計(jì)算機(jī)相比的優(yōu)點(diǎn)是,例如能提高執(zhí)行速度,另一方面,程序代碼所需的存儲(chǔ)空間也比使用復(fù)雜指令集計(jì)算機(jī)時(shí)的小。特別是,當(dāng)程序存儲(chǔ)器的容量減少時(shí),對(duì)設(shè)備的負(fù)載量的需求也減少,另一方面,也能減少設(shè)備的體積。在實(shí)際的實(shí)施例中經(jīng)常使用一個(gè)微控制器,它包含實(shí)在的處理器和與處理器相連的輔助部件,諸如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出設(shè)備(I/O)、定時(shí)器、模-數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器)、數(shù)-模轉(zhuǎn)換器(D/A轉(zhuǎn)換器)等等。所以,可以將這些不同單元之間的接口線路做得盡可能地小,在這點(diǎn)上就能進(jìn)一步減小設(shè)備的尺寸,另一方面,還能加快這些不同單元之間信號(hào)傳輸?shù)乃俣?。微控制器制造商生成若干不同?lèi)型的微控制器,它們可能有相同的處理器,但是外圍部件的數(shù)量和類(lèi)型會(huì)不同,這樣,如果需要的話,就能為每種應(yīng)用配備最適合的微控制器。在本說(shuō)明書(shū)的前文介紹過(guò),要為這種采用微控制器或相應(yīng)處理器的設(shè)備開(kāi)發(fā)操作系統(tǒng),作為所謂的基本軟件來(lái)運(yùn)行。這個(gè)操作系統(tǒng)負(fù)責(zé)控制設(shè)備的不同單元、數(shù)據(jù)的讀入等等,并使應(yīng)用程序能在這種設(shè)備中-諸如個(gè)人電腦中使用。當(dāng)計(jì)算機(jī)被開(kāi)啟時(shí),操作系統(tǒng)被裝入程序存儲(chǔ)器中,執(zhí)行某些初始化操作。隨后用戶(hù)就能啟動(dòng)所希望的應(yīng)用程序,其中操作系統(tǒng)接收用戶(hù)給出的命令,檢索應(yīng)用程序,將其加載到程序存儲(chǔ)器中,然后啟動(dòng)應(yīng)用程序。在多重處理系統(tǒng)中,有可能表面上象是同時(shí)地使用若干個(gè)這種應(yīng)用程序,其中操作系統(tǒng)負(fù)責(zé)提供執(zhí)行時(shí)間和這些不同應(yīng)用程序之間的調(diào)度。此外,操作系統(tǒng)的任務(wù)是在這些不同應(yīng)用程序之間傳輸信號(hào),如果需要的話,還要在應(yīng)用程序與外圍設(shè)備之間安排信令(signalling)。操作系統(tǒng)能控制進(jìn)程-也即所謂的線程-的執(zhí)行。一個(gè)線程可包含與一個(gè)或幾個(gè)進(jìn)程的執(zhí)行有關(guān)的函數(shù),另一方面,一個(gè)進(jìn)程也能被劃分成一個(gè)或多個(gè)線程。線程的執(zhí)行是由操作系統(tǒng)調(diào)度程序控制的。換言之,線程是由操作系統(tǒng)給予進(jìn)程的一種支持。在已知操作系統(tǒng)中,通常能發(fā)現(xiàn)下述屬性命令解釋器,它解釋用戶(hù)給出的命令-例如讀取命令中的應(yīng)用程序的名稱(chēng)并識(shí)別用戶(hù)可能給出的要由應(yīng)用程序傳輸?shù)膮?shù);調(diào)度程序,它照管對(duì)不同進(jìn)程的資源的分配、照管中斷請(qǐng)求服務(wù)-其任務(wù)是對(duì)中斷作出反應(yīng)并執(zhí)行中斷所要求的措施,例如向操作系統(tǒng)傳輸中斷請(qǐng)求。此外,操作系統(tǒng)還有各種功能塊,例如用于讀鍵盤(pán)、寫(xiě)顯示器、及控制可能的外部接口等等。資源例如包括主存儲(chǔ)器、外設(shè)和處理器時(shí)間的使用。操作系統(tǒng)例如為每個(gè)待執(zhí)行的進(jìn)程保留一片存儲(chǔ)區(qū),進(jìn)程能在其中讀數(shù)據(jù),進(jìn)程也在其中讀數(shù)據(jù)。如果有進(jìn)程試圖在為該進(jìn)程保留的這個(gè)存儲(chǔ)器區(qū)以外寫(xiě)數(shù)據(jù),存儲(chǔ)器控制單元一般阻止這種寫(xiě)操作并且通常會(huì)停止這種進(jìn)程的運(yùn)行。許多處理器仍然使用不同的方式,諸如用戶(hù)方式和特權(quán)方式(也叫監(jiān)管方式或內(nèi)核方式)。由用戶(hù)啟動(dòng)的應(yīng)用程序和其它進(jìn)程一般被設(shè)置成按照用戶(hù)方式運(yùn)行。相反,操作系統(tǒng)及其啟動(dòng)的部分進(jìn)程通常以特權(quán)方式運(yùn)行。用戶(hù)方式的操作可能有更多的限制,例如處理器的一部分命令只以特權(quán)方式運(yùn)行,在用戶(hù)方式中則不能使用。在有些操作系統(tǒng)中,特權(quán)操作方式有若干級(jí),例如三級(jí)。該操作方式的內(nèi)核在特權(quán)方式的第一級(jí)中實(shí)現(xiàn),具有的權(quán)力也最大。第二級(jí)例如有控制例程等等(可執(zhí)行程序)。第三級(jí)例如有命令解釋器。處理器2一般包含使用中斷的可能性。來(lái)自處理器2以外的中斷請(qǐng)求能在一個(gè)或幾個(gè)中斷服務(wù)線nIRQ、nFIQ(圖4b)上傳輸,其方式的變化(例如由邏輯方式1變?yōu)檫壿嫹绞?)能引起一個(gè)對(duì)處理器2的中斷。對(duì)處理器2的中斷請(qǐng)求,指令處理器2去轉(zhuǎn)而運(yùn)行相應(yīng)的中斷服務(wù)例程,當(dāng)沒(méi)有更高優(yōu)先級(jí)的中斷請(qǐng)求在等待時(shí),這種運(yùn)行幾乎沒(méi)有延遲。在中斷服務(wù)例程中,至少要執(zhí)行一部分中斷處理操作。這些處理操作例如與相應(yīng)的應(yīng)用程序及中斷的原因有關(guān)。由于運(yùn)行中斷服務(wù)例程會(huì)降低運(yùn)行進(jìn)程和操作系統(tǒng)的速度,所以一尤其在實(shí)時(shí)操作系統(tǒng)中,要使中斷服務(wù)例程長(zhǎng)度盡可能短,速度盡可能快。所以,在中斷服務(wù)例程中可能要為操作系統(tǒng)設(shè)置例如一個(gè)狀態(tài)變量-狀態(tài)變量通知中斷,通知有一部分中斷處理措施正在等待執(zhí)行的信息,其中操作系統(tǒng)例如按照其調(diào)度程序控制這些操作的執(zhí)行。對(duì)中斷服務(wù)例程的傳輸也可能受各種中斷封鎖和屏蔽的影響。當(dāng)中斷被禁止時(shí),中斷請(qǐng)求就被擱置,等待中斷封鎖的取消,之后,各中斷請(qǐng)求按它們的優(yōu)先級(jí)被有利地服務(wù)。在多數(shù)處理器2也能有選擇地阻止中斷,其中每個(gè)中斷在中斷屏蔽寄存器之類(lèi)中配備以選通或禁止?fàn)顟B(tài)。中斷請(qǐng)求例如是根據(jù)外部設(shè)備給出的信號(hào)而生成的,例如,由通過(guò)串行總線接收的信息引起的串行總線中斷請(qǐng)求,由按壓鍵盤(pán)的按鍵引起的中斷請(qǐng)求,由定時(shí)器引起的中斷請(qǐng)求或者在某種執(zhí)行進(jìn)程中形成的所謂程序中斷請(qǐng)求。能確定中斷的優(yōu)先級(jí),其中較低優(yōu)先級(jí)的中斷服務(wù)例程的執(zhí)行能被較高優(yōu)先級(jí)的中斷服務(wù)例程中斷。相反,較高優(yōu)先級(jí)的中斷服務(wù)例程一般不會(huì)被較低優(yōu)先級(jí)的中斷服務(wù)例程中斷。為了實(shí)現(xiàn)對(duì)操作系統(tǒng)的基本定時(shí),通常使用一個(gè)定時(shí)器,定時(shí)器以一定的間隔向處理器生成中斷請(qǐng)求,處理器轉(zhuǎn)而執(zhí)行定時(shí)器的中斷服務(wù)例程。所以要給定時(shí)器的中斷服務(wù)以盡可能高的優(yōu)先級(jí)。相反,例如顯示的刷新通常則被提供以較低的優(yōu)先級(jí)。專(zhuān)利US-5,515,538描述了一種在數(shù)據(jù)處理器的多重處理操作系統(tǒng)中處理中斷的方法。在該方法中,中斷處理程序被安排成形成其自己的線程,在中斷的情況下執(zhí)行被引導(dǎo)到該線程。然而,該公開(kāi)說(shuō)明書(shū)中介紹的該方法只是為有一個(gè)操作系統(tǒng)的裝置考慮的-該裝置能同時(shí)包含幾個(gè)用于運(yùn)行這個(gè)操作系統(tǒng)的進(jìn)程的處理器。下面將簡(jiǎn)要地說(shuō)明一種多重操作系統(tǒng)的操作。操作系統(tǒng)的調(diào)度程序每隔一定時(shí)間就檢查此時(shí)應(yīng)執(zhí)行哪些應(yīng)用程序,即進(jìn)程。調(diào)度程序例如通過(guò)定時(shí)器中斷來(lái)啟動(dòng)每個(gè)應(yīng)用程序可進(jìn)一步包含一個(gè)或幾個(gè)線程,其中每個(gè)線程在不同的時(shí)間在某單一處理器系統(tǒng)中運(yùn)行。一個(gè)線程例如正在讀某外設(shè)接口(諸如鍵盤(pán))上的數(shù)據(jù),第二個(gè)進(jìn)程可能正在處理該數(shù)據(jù),第三個(gè)進(jìn)程例如可能正在某外設(shè)(例如顯示器)上寫(xiě)該處理過(guò)的數(shù)據(jù)。當(dāng)這個(gè)應(yīng)用程序被啟動(dòng)時(shí),調(diào)度程序已經(jīng)定義了每個(gè)線程每次的執(zhí)行時(shí)間,以及運(yùn)行這些進(jìn)程的重復(fù)間隔時(shí)間。這樣,調(diào)度程序啟動(dòng)線程的執(zhí)行,執(zhí)行時(shí)間過(guò)后,將線程轉(zhuǎn)為等待,需要的話,將該線程的數(shù)據(jù)存儲(chǔ)到存儲(chǔ)裝置中,然后啟動(dòng)執(zhí)行新的線程。在調(diào)度程序執(zhí)行了每個(gè)線程之后,調(diào)度程序就開(kāi)始新一輪的執(zhí)行,或者,如果達(dá)到了沒(méi)有線程的間隔,就執(zhí)行一個(gè)所謂的空閑線程。然而,在上述線程的執(zhí)行期間,可能會(huì)發(fā)生中斷請(qǐng)求,此時(shí),操作系統(tǒng)可根據(jù)這些中斷請(qǐng)求的優(yōu)先級(jí)轉(zhuǎn)而去執(zhí)行中斷服務(wù)例程,或者,調(diào)度程序?yàn)檫M(jìn)行中斷服務(wù)的確定一個(gè)適當(dāng)時(shí)間,然后繼續(xù)執(zhí)行被中斷的線程。例如,在一個(gè)由鍵盤(pán)接口實(shí)現(xiàn)的中斷情形中,鍵盤(pán)中斷程序讀取被按鍵的代碼并將其存儲(chǔ)入臨時(shí)存儲(chǔ)單元中。中斷服務(wù)例程結(jié)束之后,如果確定該鍵盤(pán)中斷的優(yōu)先級(jí)不超過(guò)被中斷程序線程的優(yōu)先級(jí),操作系統(tǒng)的調(diào)度程序就為按鍵的檢查程序確定一個(gè)執(zhí)行時(shí)間,然后返回到被中斷的程序線程。附圖1表示一個(gè)操作系統(tǒng)的層次結(jié)構(gòu)的例子。操作系統(tǒng)的最低層是內(nèi)核,緊接的一層包含有關(guān)存儲(chǔ)器控制的部分,第三層包含文件系統(tǒng)部分。位于這三層之上的例如是命令解釋器、進(jìn)程(未予示出)、接口程序、調(diào)度程序函數(shù)等等。下面來(lái)具體說(shuō)明一個(gè)操作系統(tǒng)的內(nèi)核的結(jié)構(gòu)。內(nèi)核的操作的主要部分是中斷處理、進(jìn)程的控制和外圍設(shè)備的控制。中斷處理包括存儲(chǔ)被中斷程序的數(shù)據(jù)和將執(zhí)行控制到正確的中斷服務(wù)例程。進(jìn)程的控制照管例如進(jìn)程的創(chuàng)建、確定執(zhí)行時(shí)間(調(diào)度)、結(jié)束進(jìn)程的運(yùn)行,定時(shí)等等。外圍設(shè)備的控制功能例如包括啟動(dòng)數(shù)據(jù)傳輸處理與每個(gè)外圍設(shè)備有關(guān)的一個(gè)或多個(gè)中斷。在操作系統(tǒng)看來(lái),進(jìn)程總是處于三種狀態(tài)之一中就緒狀態(tài)、運(yùn)行狀態(tài)或等待狀態(tài)。附圖2中表示了這種狀態(tài)劃分。運(yùn)行狀態(tài)包含此時(shí)在執(zhí)行的進(jìn)程,在這個(gè)狀態(tài)中,含有一個(gè)處理器的系統(tǒng)一次最多只有一個(gè)進(jìn)程。那些等待在運(yùn)行狀態(tài)中被執(zhí)行的進(jìn)程處于就緒狀態(tài)。調(diào)度程序的任務(wù)是選擇就緒狀態(tài)的一個(gè)進(jìn)程去在運(yùn)行狀態(tài)中執(zhí)行。等待狀態(tài)包含的那些正在等待某種操作(諸如按鍵、某種資源的重新分配等等)的進(jìn)程。調(diào)度程序?qū)?yōu)先級(jí)最高的進(jìn)程從就緒狀態(tài)轉(zhuǎn)變?yōu)檫\(yùn)行狀態(tài)。在運(yùn)行狀態(tài)中,進(jìn)程通常是通過(guò)其自己的請(qǐng)求-例如請(qǐng)求其實(shí)現(xiàn)包括等待的某種操作系統(tǒng)服務(wù)-而轉(zhuǎn)移到等待狀態(tài)的。當(dāng)這種等待結(jié)束時(shí),發(fā)生從等待狀態(tài)到就緒狀態(tài)的轉(zhuǎn)移。在調(diào)度程序改變其它某個(gè)為結(jié)束中斷處理而要執(zhí)行的進(jìn)程時(shí),該進(jìn)程可從運(yùn)行狀態(tài)轉(zhuǎn)變回就緒狀態(tài)。內(nèi)核的實(shí)現(xiàn)一般要使用多個(gè)動(dòng)態(tài)信息結(jié)構(gòu)-通常是雙向鏈表,其元素是從位于操作系統(tǒng)的區(qū)域中的自由存儲(chǔ)空間分配的。例如,最好將每個(gè)進(jìn)程的數(shù)據(jù)保存在進(jìn)程控制塊(PCB)中。進(jìn)程元素已經(jīng)被收集在進(jìn)程表上,進(jìn)程表的大小設(shè)定了系統(tǒng)中進(jìn)程數(shù)量的上限。附圖3中表示的本例中,例如在基本元素中包含下列信息-進(jìn)程狀態(tài)等待、運(yùn)行準(zhǔn)備就緒或運(yùn)行;-進(jìn)程的名稱(chēng);-進(jìn)程的優(yōu)先級(jí);-被中斷進(jìn)程的信息(環(huán)境)的存儲(chǔ)(堆棧)的狀態(tài);-被分配資源的數(shù)據(jù)存儲(chǔ)器、設(shè)備、打開(kāi)文件等等;-與跟蹤進(jìn)程分配相關(guān)的字段;-與授權(quán)相關(guān)的字段。應(yīng)當(dāng)指出,這只作為進(jìn)程元素的實(shí)現(xiàn)的一個(gè)例子,在實(shí)際的實(shí)施例中,這些信息可以有很大程度的變化,進(jìn)程元素中的數(shù)據(jù)可以有很大的不同。進(jìn)程符號(hào)是進(jìn)程的名稱(chēng),例如序列號(hào)。操作系統(tǒng)根據(jù)這個(gè)進(jìn)程的名稱(chēng)來(lái)區(qū)分不同的進(jìn)程。如果進(jìn)程含有一個(gè)以上線程,則進(jìn)程符號(hào)或進(jìn)程元素的其它字段中會(huì)包含關(guān)于線程的這個(gè)號(hào)的信息。為了通知進(jìn)程的狀態(tài),使用一個(gè)狀態(tài)字段。這樣,操作系統(tǒng)就在進(jìn)程的狀態(tài)改變時(shí)該變這個(gè)狀態(tài)字段的值。調(diào)度程序用優(yōu)先級(jí)字段的值來(lái)確定進(jìn)程的執(zhí)行順序,其中例如該字段所含的數(shù)字值越大則該進(jìn)程的優(yōu)先級(jí)就越高。這樣,調(diào)度程序通過(guò)比較處于等待狀態(tài)的各進(jìn)程的優(yōu)先級(jí)字段的值,選擇優(yōu)先級(jí)值最大的進(jìn)程作為下一個(gè)要執(zhí)行的進(jìn)程。下面說(shuō)明新進(jìn)程的創(chuàng)建。在本例中,進(jìn)程被存儲(chǔ)成設(shè)備的存儲(chǔ)裝置(例如可寫(xiě)的海量存儲(chǔ)器)中的一個(gè)文件。這個(gè)程序是按文件名來(lái)識(shí)別的。操作系統(tǒng)的內(nèi)核中包含一個(gè)啟動(dòng)進(jìn)程的服務(wù)例程,作為參數(shù)向這個(gè)服務(wù)例程給出的名稱(chēng)最好是這個(gè)文件的名稱(chēng)。該啟動(dòng)服務(wù)例程在進(jìn)程表中為這個(gè)進(jìn)程建立一個(gè)進(jìn)程元素并向該進(jìn)程分配一片主存區(qū)。將這個(gè)程序文件讀入為其保留的存儲(chǔ)區(qū),將進(jìn)程元素的各字段初始化以適當(dāng)?shù)闹怠V?,進(jìn)程就被建立,等待執(zhí)行。用于進(jìn)程的進(jìn)程符號(hào)例如可以是以后自由進(jìn)程符號(hào)。進(jìn)程的狀態(tài)最好被設(shè)置為就緒值。操作系統(tǒng)的調(diào)度程序控制這些進(jìn)程按照其調(diào)度程序執(zhí)行。在進(jìn)程按線程執(zhí)行的操作系統(tǒng)中,有可能將上述的進(jìn)程創(chuàng)建(過(guò)程)分別改編成啟動(dòng)服務(wù)例程由進(jìn)程建立一個(gè)或幾個(gè)線程并在進(jìn)程表上為各線程建立進(jìn)程元素。此外,操作系統(tǒng)還使用一種用來(lái)控制外圍設(shè)備的基本功能,即所謂的設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序包含用于控制諸如顯示器、鍵盤(pán)、編-解碼器(codec)之類(lèi)的設(shè)備的例程和信息結(jié)構(gòu)。所需的例程例如是,設(shè)備的初始化操作,讀/寫(xiě)、控制例程-諸如設(shè)置終端的屬性、以及處理與設(shè)備有關(guān)的中斷的例程。與設(shè)備有關(guān)的變量和信息結(jié)構(gòu)可以在例如所謂的設(shè)備描述符上收集。這類(lèi)的信息例如可以是下列的-工作隊(duì)列,向設(shè)備排隊(duì)的傳輸請(qǐng)求的參數(shù)塊在其中鏈接。如果同時(shí)的值和寫(xiě)是可能的,則有兩個(gè)工作隊(duì)列。參數(shù)塊包含傳輸請(qǐng)求的參數(shù)例如與數(shù)據(jù)緩沖器的位置有關(guān)的信息、要傳輸?shù)膲K的數(shù)量,等等;-設(shè)備驅(qū)動(dòng)程序例程的地址;-傳輸控制中所要求的設(shè)備的變量和模式數(shù)據(jù);-特定于設(shè)備的參數(shù)。在有些系統(tǒng)中,設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)的進(jìn)程。這些進(jìn)程在一種不停的循環(huán)中運(yùn)行,在這種循環(huán)中,它們首先等待傳輸請(qǐng)求消息。接到這種消息后,設(shè)備驅(qū)動(dòng)程序進(jìn)程啟動(dòng)傳輸并等待中斷消息。操作系統(tǒng)的中斷處理程序然后照管中斷消息向設(shè)備驅(qū)動(dòng)程序進(jìn)程的傳輸。在實(shí)際的設(shè)備中,設(shè)備驅(qū)動(dòng)程序進(jìn)程通常有較高的優(yōu)先級(jí),操作系統(tǒng)的內(nèi)核實(shí)時(shí)地運(yùn)行。當(dāng)從可寫(xiě)的海量存儲(chǔ)器讀數(shù)據(jù)時(shí),讀操作按例如以下方式運(yùn)行。首先從設(shè)備表搜索各設(shè)備描述符的地址。然后,從設(shè)備描述符提取讀例程的地址,該地址被請(qǐng)求。讀例程由傳輸請(qǐng)求的參數(shù)建立參數(shù)塊。如果傳輸目前是通過(guò)該設(shè)備發(fā)生的,即該設(shè)備被另一個(gè)進(jìn)程占用,該參數(shù)塊就被鏈接在工作隊(duì)列的最后,在隊(duì)列中等待。如果該設(shè)備空閑,其中工作隊(duì)列是空的,該參數(shù)塊就被鏈接在工作隊(duì)列的首位。隨后,將塊的數(shù)量變成片表面、磁道和扇區(qū)的數(shù)量,然后例如通過(guò)修改設(shè)備寄存器來(lái)啟動(dòng)傳輸。此后,等待傳輸?shù)慕Y(jié)束。傳輸結(jié)束之后,發(fā)生設(shè)備中斷。操作系統(tǒng)的中斷處理程序按照設(shè)備號(hào)從設(shè)備表中搜索設(shè)備描述符的地址,并從其中進(jìn)一步搜索中斷處理例程的地址,然后轉(zhuǎn)而去執(zhí)行中斷處理程序的程序代碼。中斷處理程序最好檢查核實(shí)沒(méi)有錯(cuò)誤發(fā)生。在成功地結(jié)束傳輸后,將該參數(shù)塊脫離與工作隊(duì)列的鏈接,喚醒一直在等待傳輸?shù)倪M(jìn)程。如果工作隊(duì)列中存在排隊(duì)的傳輸請(qǐng)求,則下一個(gè)傳輸操作幾乎沒(méi)有延遲地就被啟動(dòng)。根據(jù)具體類(lèi)型的外圍設(shè)備,具體操作在某種程度上會(huì)與上述說(shuō)明的有所不同。就打印設(shè)備(諸如顯示器和打印機(jī))來(lái)說(shuō),用含有待打印字符的隊(duì)列就能替代工作隊(duì)列。許多操作系統(tǒng)都使用報(bào)文傳輸機(jī)構(gòu),各進(jìn)程通過(guò)它們就能互相傳輸報(bào)文。當(dāng)使用報(bào)文隊(duì)列時(shí),進(jìn)程涉及到一個(gè)或多個(gè)報(bào)文隊(duì)列,向該進(jìn)程傳輸?shù)膱?bào)文可以寫(xiě)入其中。進(jìn)程之間的通信通常涉及緩沖技術(shù),其中報(bào)文的發(fā)送方不必等待接收方收到報(bào)文。這樣,在報(bào)文的寫(xiě)階段就建立通知有報(bào)文正在等待進(jìn)程的信息(狀態(tài)變量),其中進(jìn)程在適當(dāng)階段讀報(bào)文。按照本發(fā)明最佳實(shí)施例的嵌入式系統(tǒng)中,即在(圖4a的)通信設(shè)備1中,使用兩個(gè)操作系統(tǒng)。第一個(gè)操作系統(tǒng)在本說(shuō)明書(shū)中標(biāo)注為OS_A,主要用于實(shí)現(xiàn)移動(dòng)站功能;第二個(gè)操作系統(tǒng)在本說(shuō)明書(shū)中標(biāo)注為OS_B,主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)處理功能。數(shù)據(jù)處理功能主要指?jìng)€(gè)人電腦中已知的功能等,例如文件的讀取、可寫(xiě)式海量存儲(chǔ)器的寫(xiě)、數(shù)據(jù)的打印、執(zhí)行應(yīng)用程序-諸如所謂的組織功能(筆記本、通訊數(shù)據(jù)的保存等等)等。由于共同使用一個(gè)處理器2與通信設(shè)備1是有益的,所以有必要能將不同操作設(shè)備OS_A、OS_B的這些功能結(jié)合起來(lái),使得兩個(gè)操作系統(tǒng)OS_A、OS_B的特點(diǎn)能同時(shí)保留。此外,一個(gè)標(biāo)準(zhǔn)是需要時(shí)各功能的實(shí)時(shí)性。下面舉例來(lái)說(shuō)明這些不同的操作系統(tǒng)OS_A、OS_B是如何能與同一個(gè)處理器結(jié)合的。圖5表示第二個(gè)操作系統(tǒng)OS_B的體系結(jié)構(gòu)的一個(gè)例子。每個(gè)方框表示某個(gè)進(jìn)程、線程、連接接口等。各方框進(jìn)一步按該方框中是用用戶(hù)方式USER還是用特權(quán)方式SVC的信息而劃分。其進(jìn)一步分隔出來(lái)的部分是方框501表示的各中斷方式,各中斷方式在圖6中解釋。各中斷方式使用快速中斷方式FIQ、正常中斷方式IRQ或軟件中斷方式SWI。第二個(gè)操作系統(tǒng)OS_B的內(nèi)核(方框502)被設(shè)置成以特權(quán)方式SVC(監(jiān)管方式)運(yùn)行。相反,第二個(gè)操作系統(tǒng)的調(diào)度程序SCH_B(方框503)、連接接口(方框504)、(諸如數(shù)據(jù)處理器的日歷應(yīng)用程序之類(lèi)的)用戶(hù)進(jìn)程的各線程(506、507和508)、以及設(shè)備驅(qū)動(dòng)程序的連接接口(方框505),被設(shè)置成以用戶(hù)方式USER運(yùn)行,其中它們不能使用例如操作系統(tǒng)的堆棧(未予示出)或其它關(guān)鍵的存儲(chǔ)器部件。特權(quán)方式進(jìn)一步包含設(shè)備驅(qū)動(dòng)程序(方框509)、空閑線程(510)以及所謂的可能的超級(jí)線程(方框511)??臻e線程510是操作系統(tǒng)在沒(méi)有其它進(jìn)程被執(zhí)行時(shí)執(zhí)行的某種等待進(jìn)程。超級(jí)線程511在本說(shuō)明書(shū)中指的是響應(yīng)時(shí)間與正常線程506、507和508的響應(yīng)時(shí)間相比非常短的線程。超級(jí)線程511的響應(yīng)時(shí)間可能是例如數(shù)百微秒,而正常線程506、507和508的響應(yīng)時(shí)間例如是數(shù)十毫秒。本發(fā)明也能被改造成與沒(méi)有超級(jí)線程511的操作系統(tǒng)共同使用。操作系統(tǒng)的內(nèi)核502具有最高優(yōu)先級(jí)。由于上述的響應(yīng)時(shí)間要求,超級(jí)線程511具有比正常線程506、507、508的更高的優(yōu)先級(jí)。這里,響應(yīng)時(shí)間指的是從事件引起的中斷請(qǐng)求到達(dá)到線程被啟動(dòng)所經(jīng)歷的時(shí)間。這個(gè)響應(yīng)時(shí)間是個(gè)期望值,但實(shí)際上正常操作中的響應(yīng)時(shí)間小于-最多等于-這個(gè)期望值。在超負(fù)荷的情形中,響應(yīng)時(shí)間有時(shí)會(huì)期望值。響應(yīng)時(shí)間也包含中斷服務(wù)例程所經(jīng)歷的時(shí)間?,F(xiàn)實(shí)中的目標(biāo)是將中斷服務(wù)例程設(shè)計(jì)的盡可能短,這樣它們執(zhí)行起來(lái)就更快。按照本發(fā)明最佳實(shí)施例的一個(gè)嵌入式系統(tǒng)在附圖4a中由通信設(shè)備1表示。它包含例如處理器2,處理器2例如是個(gè)微處理器或微控制器的一部分,其中圖4a中框圖的至少一部分方框可以由微控制器的功能塊構(gòu)成。除了處理器2,這個(gè)實(shí)施例中還通過(guò)所謂的專(zhuān)用集成電路3(ASIC)來(lái)實(shí)現(xiàn)一部分控制功能。處理器2與專(zhuān)用集成電路3之間可以有單獨(dú)的數(shù)據(jù)傳輸總線4,其中數(shù)據(jù)傳輸速度可以提高,另一方面,第二個(gè)數(shù)據(jù)傳輸總線5沒(méi)有負(fù)載。為了獲得移動(dòng)站功能,該通信設(shè)備配備有發(fā)送器/接收器單元6、發(fā)送/接收天線ANT、數(shù)字信號(hào)處理單元(DSP)、用于聲音信號(hào)的編碼/解碼的編碼解碼器8、用于使用移動(dòng)站功能的第一鍵盤(pán)9以及用于向用戶(hù)顯示信息的第一顯示器10。此外,通信設(shè)備1還包含音頻部件11,在音頻部件中,對(duì)麥克風(fēng)12產(chǎn)生的模擬信號(hào)進(jìn)行必要的模-數(shù)轉(zhuǎn)換,對(duì)發(fā)往揚(yáng)聲器13的信號(hào)進(jìn)行必要的數(shù)-摸轉(zhuǎn)換。為了有數(shù)據(jù)處理的性能,通信設(shè)備1配備有第二鍵盤(pán)14、第二顯示器15和接口部件16,接口部件有例如將打印機(jī)與通信設(shè)備連接到一起的裝置。鍵盤(pán)9、14和顯示器10、15普遍使用的共同名稱(chēng)是用戶(hù)接口(UI),通過(guò)用戶(hù)接口,用戶(hù)與通信設(shè)備1之間至少能進(jìn)行部分通信。在有些應(yīng)用中,用戶(hù)接口也可包含音頻裝置,諸如麥克風(fēng)12和揚(yáng)聲器13。圖1的通信設(shè)備1表示了兩組用戶(hù)接口UI1、UI2,第一用戶(hù)接口UI1包含第一鍵盤(pán)9和第一顯示器10,第二用戶(hù)接口UI2包含第二鍵盤(pán)14和第二顯示器15。第一用戶(hù)接口UI1主要用于移動(dòng)站操作,另一用戶(hù)接口UI2主要用于數(shù)據(jù)處理操作,但是這兩組用戶(hù)接口UI1、UI2必要的話都既能用于移動(dòng)站操作也能用于數(shù)據(jù)處理操作。用戶(hù)接口UI1、UI2不必是分立的,而是也能以一個(gè)用戶(hù)接口的形式實(shí)現(xiàn),例如有一個(gè)顯示器和/或一個(gè)鍵盤(pán)。用戶(hù)接口UI1、UI2的鍵盤(pán)也能以使用所謂的觸摸屏的方式來(lái)實(shí)現(xiàn),其中,最好在顯示器項(xiàng)部安置有觸摸感應(yīng)裝置,這個(gè)裝置能對(duì)例如用戶(hù)手指的觸摸作出反應(yīng)。觸摸感應(yīng)裝置的操作原理本身是已知的,根據(jù)的是例如電容變化或電阻變化。通信設(shè)備1進(jìn)一步包含存儲(chǔ)器17,最好包括用于存儲(chǔ)例如自舉程序代碼的只讀存儲(chǔ)器ROM、用于裝載待執(zhí)行的應(yīng)用程序和用于在使用期間存儲(chǔ)數(shù)據(jù)的隨機(jī)存取存儲(chǔ)器RAM,應(yīng)用程序和數(shù)據(jù)也可能來(lái)自可寫(xiě)式海量存儲(chǔ)器、快閃存儲(chǔ)器和/或非易失性隨機(jī)存取存儲(chǔ)器NVRAM。通信設(shè)備1的通信部件由第二數(shù)據(jù)傳輸總線相連,該總線包含例如地址總線、數(shù)據(jù)總線和控制總線。然而,為簡(jiǎn)明起見(jiàn),沒(méi)有將這些這些單獨(dú)表示出來(lái),因?yàn)閷?duì)該領(lǐng)域的專(zhuān)家來(lái)說(shuō)這是現(xiàn)行技術(shù)中已知的。電源來(lái)自電池18,電池與電壓生成部件19相連,如果需要的話,電壓生成部件要盡可能包含穩(wěn)壓器、電壓轉(zhuǎn)換器之類(lèi)的電路,以產(chǎn)生不同的工作電壓Vcc1、Vcc2。電壓生成部件能進(jìn)一步產(chǎn)生一個(gè)信號(hào),用于把電池18的電量降低到使得通信設(shè)備1能停止操作的低水平。這樣,要么必須對(duì)電池重新充電,要么必須關(guān)閉工作電壓。在實(shí)際實(shí)施例中,這個(gè)電量狀態(tài)信息引起一個(gè)對(duì)處理器2的中斷請(qǐng)求,由于這個(gè)中斷服務(wù)例程而產(chǎn)生一個(gè)數(shù)據(jù)存儲(chǔ)請(qǐng)求,其中操作系統(tǒng)OS_A、OS_B最好向顯示器10、15生成一個(gè)消息,表示對(duì)蓄電池18放電并開(kāi)始向存儲(chǔ)器17存儲(chǔ)數(shù)據(jù)。此外,還能自動(dòng)地進(jìn)行對(duì)關(guān)閉工作電壓的控制。通信設(shè)備1也能在它們的一些外圍設(shè)備中含其它處理器,但這對(duì)本發(fā)明來(lái)說(shuō)并不重要-這是為了其它目的而不是為了實(shí)現(xiàn)操作系統(tǒng)的功能。本示例性實(shí)施例中所用的處理器2是個(gè)屬于ARM7系列的處理器,由AdvancedRISCMachines公司制造。該處理器是一個(gè)所謂的精簡(jiǎn)指令集處理器。然而,本發(fā)明并不僅限于這類(lèi)處理器或精簡(jiǎn)指令集處理器,本發(fā)明也能適合與其它類(lèi)型的處理器共同使用。附圖4b表示了一個(gè)ARM7系列的處理器的簡(jiǎn)化框圖。就處理器2的運(yùn)行來(lái)看,中心部件是命令解釋器和控制部件401。其作用是解釋程序命令并控制這些命令所要求采取的措施,響應(yīng)通過(guò)快速中斷線nFIQ和正常中斷線nIRQ到來(lái)的中斷請(qǐng)求,產(chǎn)生軟件中斷請(qǐng)求,為處理器的操作而生成外部時(shí)鐘(未予示出)、定時(shí)信號(hào)之類(lèi)的信號(hào),生成控制信號(hào),用于例如在存儲(chǔ)器17與處理器2之間的讀數(shù)據(jù)和寫(xiě)數(shù)據(jù),以及用于控制此時(shí)地址總線402所需的地址數(shù)據(jù)的形成。數(shù)據(jù)總線讀寄存器403將來(lái)自數(shù)據(jù)總線404的程序命令放置到數(shù)據(jù)總線讀寄存器403的內(nèi)部命令隊(duì)列(未予示出),將數(shù)據(jù)放置到數(shù)據(jù)寄存器(未予示出)。命令解釋器與控制部件401讀取內(nèi)部命令隊(duì)列中下一個(gè)要執(zhí)行的程序命令并解釋它。如果需要,命令解釋器與控制部件401從數(shù)據(jù)寄存器中讀取數(shù)據(jù)并將其傳送到第二內(nèi)部數(shù)據(jù)總線405(B總線),數(shù)據(jù)可由此經(jīng)桶形位移器(barrelshifter)406被傳輸?shù)剿阈g(shù)邏輯單元(ALU)407,第一內(nèi)部數(shù)據(jù)總線409(A總線)也已經(jīng)被定向到這里。命令解釋器與控制部件401以相應(yīng)的方式,控制將數(shù)據(jù)寫(xiě)到數(shù)據(jù)總線寫(xiě)寄存器408,數(shù)據(jù)可由此被傳輸?shù)綌?shù)據(jù)總線404。在算術(shù)邏輯單元407中,例如執(zhí)行加法、減法及邏輯運(yùn)算,其方式是已知的。數(shù)據(jù)可以從算術(shù)邏輯單元407沿著第三內(nèi)部數(shù)據(jù)總線410(ALU總線)被傳輸?shù)降刂芳拇嫫?11以及有內(nèi)部數(shù)據(jù)寄存器(寄存器組)的數(shù)據(jù)寄存器塊412。數(shù)據(jù)寄存器塊412包含用于存儲(chǔ)數(shù)據(jù)的寄存器、狀態(tài)寄存器和例如程序計(jì)數(shù)器(PC),程序計(jì)數(shù)器用于從通信設(shè)備的存儲(chǔ)器17的程序存儲(chǔ)區(qū)顯示程序命令。為此,已經(jīng)將內(nèi)部地址總線413從數(shù)據(jù)寄存器塊412定向到地址寄存器411。地址寄存器411與地址計(jì)數(shù)器部件414相連,其中,程序計(jì)數(shù)器的值一般遞增1,指向程序代碼中以后的位置,該位置就是程序代碼中下一個(gè)要執(zhí)行的程序命令通常位于的位置。在有些情況中,被執(zhí)行的程序命令-諸如子程序請(qǐng)求或中斷請(qǐng)求,導(dǎo)致向程序代碼中另一個(gè)位置的轉(zhuǎn)移,此時(shí)命令計(jì)數(shù)器與控制部件將這個(gè)地址設(shè)置到程序計(jì)數(shù)器并把它傳輸?shù)降刂芳拇嫫?11,成為地址寄存器的值。地址改變總線415從地址計(jì)數(shù)器部件414指向地址寄存器411和數(shù)據(jù)寄存器部件412。處理器2進(jìn)一步包含一個(gè)乘法部件416,用于執(zhí)行乘法和除法。乘法部件416與第一內(nèi)部數(shù)據(jù)總線409和第二內(nèi)部數(shù)據(jù)總線405相連。上述處理器2也包含上述以外的其它連接線。不過(guò)沒(méi)有必要在這個(gè)上下文中詳細(xì)說(shuō)明。處理器2的數(shù)據(jù)寄存器部件412中的一部分?jǐn)?shù)據(jù)寄存器能在處理器的所有操作方式中使用,此外,為不同的操作方式保留了這種在其它操作方式中關(guān)閉的數(shù)據(jù)寄存器。通過(guò)這種安排,就有可能減少特別是與中斷情況相聯(lián)系的對(duì)存儲(chǔ)數(shù)據(jù)的需要。此外,還為不同操作方式提供專(zhuān)用堆棧指針,其中每種操作方式-如果需要的話-都能支配存儲(chǔ)器17中為堆棧保留的自己的存儲(chǔ)區(qū)。處理器2最好能被設(shè)置成至少三種操作方式用戶(hù)方式,這種方式中,資源的使用是成區(qū)劃分的;特權(quán)方式(監(jiān)管方式),其中能使用處理器的所有資源;不定方式,它是特權(quán)方式的一種特殊形式,一般用于處理器2在程序代碼中檢測(cè)到不明命令時(shí)的情況中。在這個(gè)最佳實(shí)施例中,特地將這種不定方式用作將在本說(shuō)明書(shū)中以后作說(shuō)明的一種方式。在這個(gè)處理器2中,不定方式為此是有用的。需要的話,可用其它某種特權(quán)方式作為相應(yīng)的方式。此外,對(duì)處理器2來(lái)說(shuō),可使用三種類(lèi)型的中斷快速中斷(FIQ,快速中斷請(qǐng)求)、普通中斷(IRQ,中斷請(qǐng)求)和程序中斷(SWI,軟件中斷請(qǐng)求)。快速中斷FIQ比普通中斷IRQ的優(yōu)先級(jí)高,它們分別比程序中斷的優(yōu)先級(jí)更高。所以,就響應(yīng)時(shí)間而言,最好安排重要的中斷使用快速中斷FIQ。當(dāng)啟動(dòng)通信設(shè)備1時(shí),在處理器2的控制下,將一段激活的程序代碼最好從只讀存儲(chǔ)器或非易失性隨機(jī)存取存儲(chǔ)器存儲(chǔ)到存儲(chǔ)器17中,例如執(zhí)行存儲(chǔ)器檢查的程序命令在激活的程序代碼中。與開(kāi)始這種啟動(dòng)相聯(lián)系,還要加載文件的控制例程,其中如果需要的話,可通過(guò)文件的控制例程來(lái)將操作系統(tǒng)OS_A、OS_B的程序代碼加載到存儲(chǔ)器17中。這是許多數(shù)據(jù)處理設(shè)備和操作系統(tǒng)中的已知技術(shù)。操作系統(tǒng)OS_A、OS_B的程序代碼也能存儲(chǔ)到例如只讀存儲(chǔ)器ROM、非易失性存儲(chǔ)器NVRAM或電可擦可編程只讀存儲(chǔ)器EEPROM中。所以,直接從存儲(chǔ)位置使用操作系統(tǒng)OS_A、OS_B是有可能的(XIP技術(shù)、在原位執(zhí)行)。加載操作系統(tǒng)OS_A、OS_B之后,啟動(dòng)它們。所以,第一步驟例如是執(zhí)行對(duì)第二操作系統(tǒng)OS_B的啟動(dòng)操作,其中,操作系統(tǒng)的進(jìn)程表、存儲(chǔ)區(qū)、中斷服務(wù)例程、報(bào)文隊(duì)列和其它相應(yīng)的描述符等等被創(chuàng)建,設(shè)備驅(qū)動(dòng)程序和數(shù)據(jù)類(lèi)型被加載,中斷被允許。在下一個(gè)步驟中,啟動(dòng)執(zhí)行相應(yīng)的對(duì)第一操作系統(tǒng)OS_A的啟動(dòng)操作。當(dāng)對(duì)第二操作系統(tǒng)OS_B的啟動(dòng)操作已經(jīng)首先執(zhí)行后,在對(duì)第一操作系統(tǒng)OS_A的啟動(dòng)操作中,例如操作系統(tǒng)OS_A的中斷函數(shù)-中斷的開(kāi)始和中斷的結(jié)束-被動(dòng)態(tài)地連接到中斷處理程序(例如,功能的開(kāi)始地址被設(shè)置在存儲(chǔ)器17中)。此外,形成一個(gè)連接中斷處理程序的接口,用于調(diào)度第一操作系統(tǒng)OS_A的線程。設(shè)備驅(qū)動(dòng)程序執(zhí)行對(duì)外圍設(shè)備的方式的初始設(shè)置等操作。最好為操作系統(tǒng)的數(shù)據(jù)存儲(chǔ)器RAM保留一個(gè)固定的區(qū)域(靜態(tài)分配),與普通操作中按需分配存儲(chǔ)區(qū)域(動(dòng)態(tài)分配)的選擇相比,靜態(tài)分配能更好地保證有充分的執(zhí)行速度。啟動(dòng)操作之后,就啟動(dòng)空閑線程的執(zhí)行,可能啟動(dòng)某個(gè)應(yīng)用程序的加載和執(zhí)行。例如,有可能啟動(dòng)移動(dòng)站功能,其中通信設(shè)備1準(zhǔn)備好接收呼叫、報(bào)文、傳真等,而用戶(hù)如果希望的話,能發(fā)出呼叫、發(fā)送報(bào)文或傳真一如果通信設(shè)備1中設(shè)置了這些功能的話。如果本發(fā)明的通信設(shè)備1中發(fā)生中斷,處理器就去執(zhí)行一個(gè)中斷解釋程序或調(diào)度程序,存儲(chǔ)被中斷線程的狀態(tài)。然后,調(diào)度程序啟動(dòng)中斷服務(wù)例程。啟動(dòng)哪個(gè)中斷服務(wù)例程,通常與中斷請(qǐng)求的原因有關(guān)。這是能夠推斷出來(lái)的,其方式例如是,處理器2有個(gè)狀態(tài)寄存器,其內(nèi)容傳達(dá)中斷請(qǐng)求的原因。例如,由于鍵盤(pán)中斷,狀態(tài)寄存器的對(duì)應(yīng)位轉(zhuǎn)變成另一邏輯狀態(tài)(例如從邏輯0狀態(tài)到邏輯1狀態(tài)),處理器2檢查該寄存器不同的各位,并啟動(dòng)相應(yīng)的中斷服務(wù)例程。在有若干中斷請(qǐng)求有效的情況下,優(yōu)先級(jí)最高的中斷服務(wù)例程最先啟動(dòng)。處理器2也是已知的,它有若干條中斷線nFIQ、nIRQ可供使用,其中中斷線nFIQ、nIRQ中的狀態(tài)變化產(chǎn)生中斷請(qǐng)求。可以為每個(gè)中斷線nFIQ、nIRQ定義一個(gè)特定的中斷服務(wù)例程。此外,將這些中斷服務(wù)例程的地址可以是表格形式的,其中處理器2按中斷從表中提取中斷服務(wù)例程的起始地址并將其設(shè)定為其程序計(jì)數(shù)器的值,下一個(gè)要執(zhí)行的命令就在這個(gè)地址中。在本發(fā)明中,有可能改變?yōu)橹袛郌IQ、IRQ、SWI定義的部分、甚至全部中斷服務(wù)例程。例如,有些應(yīng)用程序可以為中斷FIQ、IRQ、SWI定義要與其相聯(lián)系使用的新的中斷服務(wù)例程。當(dāng)執(zhí)行該應(yīng)用程序時(shí),處理器2修改存儲(chǔ)器17中的中斷服務(wù)例程。在本發(fā)明的一些有益的實(shí)施例中,處理器2也可能只修改這種要使用另一個(gè)中斷服務(wù)例程的中斷的起始地址。該中斷服務(wù)例程的實(shí)際代碼存儲(chǔ)在存儲(chǔ)器17中。這意味著存在中斷服務(wù)例程的起始地址的某種地址表。也可能存在與上述不同的其它方案,來(lái)定義對(duì)中斷FIQ、IRQ、SWI應(yīng)當(dāng)使用哪個(gè)中斷服務(wù)例程。中斷服務(wù)例程中所要求的必要操作被執(zhí)行,例如讀鍵盤(pán)緩沖區(qū)和在存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)。此外,中斷服務(wù)能生成要發(fā)送到某線程或操作系統(tǒng)的信號(hào)。本說(shuō)明書(shū)以后的部分將更詳細(xì)地說(shuō)明按本發(fā)明最佳實(shí)施例的通信設(shè)備1的操作。中斷服務(wù)響應(yīng)時(shí)間通常甚至小于上述超級(jí)線程的相應(yīng)時(shí)間,例如約100微秒。影響中斷服務(wù)這種響應(yīng)時(shí)間的因素例如包括,中斷在某部分程序代碼中已經(jīng)被禁止了多久。中斷取消可能涉及所有中斷,或者涉及優(yōu)先級(jí)低于特定水平的中斷;中斷也能通過(guò)中斷的屏蔽寄存器等被暫時(shí)取消。這樣,中斷請(qǐng)求停留子存儲(chǔ)器中,當(dāng)這個(gè)中斷請(qǐng)求的中斷取消被撤銷(xiāo)并且沒(méi)有更高優(yōu)先級(jí)的線程被執(zhí)行時(shí),就執(zhí)行該中斷服務(wù)例程。當(dāng)沒(méi)有第一操作系統(tǒng)OS_A的線程正在執(zhí)行時(shí),會(huì)發(fā)生從第一操作系統(tǒng)OS_A到第二操作系統(tǒng)OS_B的轉(zhuǎn)移。這樣,從第一操作系統(tǒng)OS_A看來(lái),執(zhí)行發(fā)生在空閑線程中。在通信設(shè)備1運(yùn)行期間,可能也需要在不同操作系統(tǒng)OS_A、OS_B中運(yùn)行的應(yīng)用程序之間傳輸信息。這在兩個(gè)操作系統(tǒng)OS_A、OS_B至少使用部分公用資源時(shí)特別需要。例如,鍵盤(pán)9、14可包含公用的鍵,或者可以不同單獨(dú)的鍵盤(pán)9、14,而是使用一個(gè)公用的鍵盤(pán)。另一方面,用一個(gè)其中已經(jīng)安排有不同操作系統(tǒng)OS_A、OS_B的連接接口的驅(qū)動(dòng)程序來(lái)照管對(duì)這種資源的控制,通常是敏感的。這也便于對(duì)有一個(gè)以上的操作系統(tǒng)OS_A、OS_B試圖同時(shí)使用相同資源的那種情況進(jìn)行控制。以下就不同操作系統(tǒng)OS_A、OS_B來(lái)說(shuō)明本發(fā)明的通信設(shè)備的操作。在本發(fā)明這個(gè)最佳實(shí)施例中,第一操作系統(tǒng)OS_A是所謂的實(shí)時(shí)操作系統(tǒng),其中為其確定了某些執(zhí)行時(shí)間要求。第二操作系統(tǒng)OS_B的執(zhí)行時(shí)間不是那么關(guān)鍵,但是考慮到用戶(hù)的舒適性,第二操作系統(tǒng)OS_B也必須在合理時(shí)間內(nèi)執(zhí)行分配給它的操作。第一操作系統(tǒng)OS_A的線程具有例如在嵌入式系統(tǒng)相同的設(shè)計(jì)階段就確定了的優(yōu)先級(jí)。采用優(yōu)先級(jí)就有可能影響例如關(guān)鍵線程的執(zhí)行順序和響應(yīng)時(shí)間。第一操作系統(tǒng)的調(diào)度程序SCH_A此時(shí)將線程設(shè)置為在一輪執(zhí)行中最先運(yùn)行的最高優(yōu)先級(jí)。在實(shí)際系統(tǒng)中這意味著本發(fā)明最佳實(shí)施例的通信設(shè)備1的處理器2執(zhí)行第一操作系統(tǒng)OS_A的調(diào)度功能,該調(diào)度功能已經(jīng)由處理器2的程序命令實(shí)現(xiàn)。當(dāng)運(yùn)行線程時(shí),處理器2按線程中編制的程序命令來(lái)執(zhí)行措施。執(zhí)行了在第一操作系統(tǒng)OS_A中運(yùn)行的各進(jìn)程的所有線程THA1、THA2后,處理器2轉(zhuǎn)而執(zhí)行第二操作系統(tǒng)OS_B的操作,例如延遲的功能調(diào)用DSR(被延遲服務(wù)例程,delayedserviceroutine)或正在等待的線程THB1、THB2。第一操作系統(tǒng)OS_A的線程THA1、THA2,除中斷處理期間的短時(shí)停頓外,總是有權(quán)運(yùn)行的。本說(shuō)明書(shū)后文提供對(duì)此的說(shuō)明。在本發(fā)明這個(gè)最佳實(shí)施例中,在第一操作系統(tǒng)OS_A看來(lái),第二操作系統(tǒng)OS_B的執(zhí)行,相當(dāng)于執(zhí)行第一操作系統(tǒng)OS_A的第一個(gè)線程,諸如空閑線程THA_IDLE或超級(jí)線程。為了實(shí)現(xiàn)這一點(diǎn),第一操作系統(tǒng)OS_A配備有代表空閑線程THA_IDLE的信息結(jié)構(gòu)(未予示出),不過(guò)在本實(shí)施例的實(shí)現(xiàn)中,第一操作系統(tǒng)OS_A不含有適當(dāng)?shù)目臻e線程。在轉(zhuǎn)而執(zhí)行第二操作系統(tǒng)OS_B之后,處理器2根據(jù)第二操作系統(tǒng)OS_B的運(yùn)行線程THB1、THB2的優(yōu)先級(jí)和調(diào)度慣例,執(zhí)行第二操作系統(tǒng)OS_B的調(diào)度功能。首先執(zhí)行被被延遲服務(wù)例程DSR-如果它們有些正在等待的話,然后最好按照優(yōu)先級(jí)順序,啟動(dòng)線程THB1、THB2的的執(zhí)行。在執(zhí)行了要被執(zhí)行的線程THB1、THB2之后,線程THB1、THB2都不處于運(yùn)行方式,處理器2就轉(zhuǎn)到第二操作系統(tǒng)OS_B的空閑線程THB_IDLE,在此停留,直到需要新一輪的執(zhí)行。在第二操作系統(tǒng)OS_B的執(zhí)行期間,幾乎任何階段都可能發(fā)生向第一操作系統(tǒng)OS_A的轉(zhuǎn)變。這最好以這樣的方式發(fā)生,即由于某中斷請(qǐng)求,處理器2轉(zhuǎn)而執(zhí)行中斷服務(wù)例程,其中第一操作系統(tǒng)OS_A被啟動(dòng)的方式以后敘述。當(dāng)?shù)谝徊僮飨到y(tǒng)OS_A中的執(zhí)行已經(jīng)前進(jìn)到空閑線程THA_IDEL時(shí)發(fā)生向第二操作系統(tǒng)OS_B的返回。這樣,在第二操作系統(tǒng)OS_B看來(lái),第一操作系統(tǒng)OS_A的執(zhí)行是運(yùn)行中斷服務(wù)例程。本發(fā)明的一個(gè)目標(biāo)一直是實(shí)現(xiàn)操作系統(tǒng)OS_A、OS_B的這樣一種方式的聯(lián)系,這種方式要使不同操作系統(tǒng)OS_A、OS_B的程序代碼中的變化盡可能地少,另一方面,操作系統(tǒng)OS_A、OS_B的屬性在應(yīng)用開(kāi)發(fā)者看來(lái)沒(méi)有顯著變化。在按照本發(fā)明最佳實(shí)施例的通信設(shè)備中,這種聯(lián)系建立在中斷服務(wù)例程的層次上。當(dāng)發(fā)生設(shè)備中斷FIQ、IRQ或程序中斷SWI時(shí),處理器2轉(zhuǎn)而執(zhí)行中斷服務(wù)例程。要么所有中斷能共用這個(gè)程序-此時(shí)處理器2的命令解釋器與控制部件401如果需要的話通過(guò)檢查寄存器之類(lèi)就能推斷出中斷的原因,要么可以有若干個(gè)對(duì)應(yīng)不同設(shè)備中斷FIQ、IRQ或程序中斷SWI的不同中斷服務(wù)例程。在中斷服務(wù)例程的開(kāi)始,向中斷開(kāi)始例程增加一個(gè)程序調(diào)用(功能調(diào)用),該調(diào)用中改變操作系統(tǒng)OS_A、0S_B的內(nèi)部狀態(tài),其中操作系統(tǒng)OS_A、OS_B中的數(shù)據(jù)通知中斷服務(wù)正在運(yùn)行。向中斷服務(wù)例程的轉(zhuǎn)移、子程序的執(zhí)行、狀態(tài)數(shù)據(jù)的研究以及其它相應(yīng)操作都是在命令解釋器與控制部件401的控制下進(jìn)行的,本說(shuō)明書(shū)中較早時(shí)說(shuō)明過(guò)解釋器與控制部件,另一方面,這也是本領(lǐng)域的技術(shù)人員已知的技術(shù)。隨后,執(zhí)行中斷處理程序的功能,這意味著命令解釋器與控制部件401執(zhí)行為已經(jīng)到達(dá)處理器2的中斷所確定的程序命令,這些程序命令最好存儲(chǔ)子存儲(chǔ)器17中。在中斷處理程序程序中,要研究中斷的原因并推斷中斷處理要求執(zhí)行第一操作系統(tǒng)OS_A還是第二操作系統(tǒng)OS_B的線程。如果中斷處理要求執(zhí)行第一操作系統(tǒng)OS_A的線程,中斷處理程序就將這個(gè)信息設(shè)置到第一操作系統(tǒng)的調(diào)度程序SCH_A。如果中斷處理要求執(zhí)行第二操作系統(tǒng)OS_B的線程,中斷處理程序就生成一個(gè)要在第一操作系統(tǒng)OS_A的各線程執(zhí)行之后執(zhí)行的被延遲服務(wù)例程DSR。這種被延遲服務(wù)例程DSR也能通過(guò)第一操作系統(tǒng)OS_A的運(yùn)行的線程來(lái)生成。這個(gè)被延遲服務(wù)例程DSR能通知第二操作系統(tǒng)OS_B的調(diào)度程序SCH_B中斷處理要求執(zhí)行第二操作系統(tǒng)OS_B中的某些線程。在有些情況中,中斷處理程序也可能不用被延遲服務(wù)例程DSR就將該數(shù)據(jù)設(shè)置到第二操作系統(tǒng)的調(diào)度程序SCH_B。在中斷服務(wù)例程中也有可能執(zhí)行其它操作,例如向緩沖器讀入數(shù)據(jù),其中數(shù)據(jù)是在應(yīng)用程序中該數(shù)據(jù)所涉及的線程處于執(zhí)行階段時(shí)被讀入的。在中斷程序的結(jié)尾增加了一個(gè)中斷結(jié)束功能請(qǐng)求,其中設(shè)置例如中斷服務(wù)例程已經(jīng)結(jié)束的信息。此外,該功能還返回關(guān)于在中斷服務(wù)中是否執(zhí)行了第一操作系統(tǒng)OS_A中的、從第一操作系統(tǒng)的調(diào)度程序SCH_A要求給予這些線程執(zhí)行時(shí)間的任何線程的信息。中斷服務(wù)例程結(jié)束后,處理器2的方式和第一操作系統(tǒng)OS_A的狀態(tài)改變。如果中斷處理曾導(dǎo)致對(duì)執(zhí)行第一操作系統(tǒng)OS_A的線程的需要,則下一個(gè)執(zhí)行的程序就是第一操作系統(tǒng)OS_A的調(diào)度程序,其中,將新的狀態(tài)(就緒)賦予中斷導(dǎo)致過(guò)對(duì)其采取措施(例如讀緩沖器中信息)的線程。第一操作系統(tǒng)OS_A的調(diào)度程序SCH_A按優(yōu)先級(jí)順序控制執(zhí)行第一操作系統(tǒng)OS_A的那些正在等待執(zhí)行的(處于就緒狀態(tài)的)線程。在第一操作系統(tǒng)OS_A的處于第一操作系統(tǒng)OS_A的中斷服務(wù)中或運(yùn)行中的線程中,在有些情況中有可能生成被延遲服務(wù)例程DSR,其中第二操作系統(tǒng)OS_B的線程的狀態(tài)被改變。被延遲服務(wù)例程DSR是在處理器2已經(jīng)執(zhí)行了第一操作系統(tǒng)OS_A的所有等待執(zhí)行的線程之后被處理的。處理了被延遲服務(wù)例程之后,進(jìn)一步執(zhí)行第二操作系統(tǒng)OS_B的調(diào)度程序例程,以便最好按優(yōu)先級(jí)順序來(lái)運(yùn)行第二操作系統(tǒng)OS_B的那些正在等待執(zhí)行的線程。在上述措施的執(zhí)行期間可能發(fā)生的新的中斷中,操作再一次被轉(zhuǎn)移到中斷處理,以后的操作按上述原則發(fā)生。在中斷之后發(fā)生的操作,以運(yùn)行具有當(dāng)時(shí)最高有效優(yōu)先級(jí)的操作的方式繼續(xù)。這受到例如中斷時(shí)刻處理器2運(yùn)行的階段的影響,也受中斷原因的影響。附圖6a至6i中展示了一些其它的情況,將在以后作更詳細(xì)的說(shuō)明。嵌入式系統(tǒng)1的一個(gè)例子是其中實(shí)現(xiàn)了移動(dòng)站功能和數(shù)據(jù)處理功能二者的通信設(shè)備,諸如個(gè)人數(shù)字助理PDA的功能。該通信設(shè)備的處理器2中使用兩個(gè)操作系統(tǒng)OS_A、OS_B。第一操作系統(tǒng)OS_A主要與移動(dòng)站的控制和使用有關(guān)。第二操作系統(tǒng)OS_B主要與數(shù)據(jù)處理功能的控制和使用有關(guān)。在圖6a至6h的示例性情形中,這些情形涉及所謂的普通中斷IRQ(中斷請(qǐng)求)。在按照本發(fā)明最佳實(shí)施例的這個(gè)通信設(shè)備1中也能采用圖6i的例子中所示的所謂快速中斷FIQ(快速中斷請(qǐng)求)??焖僦袛嗟膬?yōu)先級(jí)最好高于普通中斷IRQ的優(yōu)先級(jí)。此外,也可采用軟件中斷SWI,其優(yōu)先級(jí)最好低于普通中斷IRQ的優(yōu)先級(jí)。附圖6a至6i中所示的各階段在快速中斷FIQ和程序中斷SWI中也能改編,所以本說(shuō)明書(shū)中主要只討論普通中斷IRQ。被延遲服務(wù)例程是第二操作系統(tǒng)OS_B的一個(gè)特性,能用于例如不同線程之間的報(bào)文傳輸,需要的話,也能用于不同操作系統(tǒng)OS_A、OS_B之間的報(bào)文傳輸。被延遲服務(wù)例程DSR將第二操作系統(tǒng)OS_B的線程的狀態(tài)改變?yōu)榈却龍?zhí)行的狀態(tài)(就緒狀態(tài))。在第二操作系統(tǒng)OS_B中,被延遲服務(wù)例程DSR的優(yōu)先級(jí)高于各線程的優(yōu)先級(jí),這樣它們就能在第二操作系統(tǒng)的各線程運(yùn)行之前被處理。本例中的處理器2包含以下方式-用戶(hù)方式USER-特權(quán)方式SVC-不定方式UND-快速中斷方式FIQ-普通中斷方式IRQ-軟件中斷方式SWI。本發(fā)明的這個(gè)最佳實(shí)施例中將不定方式UND用作標(biāo)準(zhǔn)運(yùn)行方式,盡管其在本例中所用的處理器2中的缺省值的應(yīng)用是不定方式。圖6a表示的情形中,由于普通中斷,處理器2執(zhí)行第二操作系統(tǒng)OS_B下的線程THB1(方框601),它例如包含通信設(shè)備1的數(shù)據(jù)處理功能中的一個(gè)與由用戶(hù)啟動(dòng)的應(yīng)用程序有關(guān)的進(jìn)程。處理器2處于用戶(hù)方式USER。該普通中斷導(dǎo)致該方式轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,其中處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),此后運(yùn)行普通中斷的服務(wù)程序(方框603)。該中斷沒(méi)有導(dǎo)致需要運(yùn)行第一操作系統(tǒng)OS_A的線程,其中在中斷后沒(méi)有調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A。在該中斷中也沒(méi)有生成被延遲服務(wù)例程DSR。在中斷處理的結(jié)尾,調(diào)用普通中斷功能的結(jié)束符(方框604),在其中設(shè)置中斷已經(jīng)結(jié)束的信息。在該普通中斷的服務(wù)程序結(jié)束之后,將處理器2的方式變回用戶(hù)方式USER。執(zhí)行從第二操作系統(tǒng)OS_B被中斷的線程THB1繼續(xù)(方框605)。中斷的原因例如是打開(kāi)通信設(shè)備1的機(jī)蓋(未予示出),其中開(kāi)關(guān)S1指出機(jī)蓋的位置改變了狀態(tài),即打開(kāi)了,處理器2通過(guò)讀取與該開(kāi)關(guān)相連的標(biāo)識(shí)線20的邏輯狀態(tài)(0/1)就能檢查這個(gè)開(kāi)關(guān)S1的位置。在這個(gè)案例中機(jī)蓋的打開(kāi)沒(méi)有立即導(dǎo)致任何行動(dòng)。圖6b表示的情形中,由于普通中斷,處理器2正在運(yùn)行第一操作系統(tǒng)OS_A的空閑線程THA_IDLE(方框606)。在這種情形中,方式從不定方式UND轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后運(yùn)行普通中斷的服務(wù)程序。該中斷沒(méi)有導(dǎo)致需要運(yùn)行第一操作系統(tǒng)OS_A的線程,其中在中斷后沒(méi)有調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A。在該中斷中也沒(méi)有生成被延遲服務(wù)例程DSR。在中斷處理結(jié)束后,請(qǐng)求普通中斷功能的結(jié)束符(方框604),在其中設(shè)置中斷已經(jīng)結(jié)束的信息。在該普通中斷的服務(wù)程序結(jié)束之后,將處理器2的方式變回不定方式UND。執(zhí)行從空閑線程THA_IDLE繼續(xù)(方框605)。中斷IRQ的原因例如是,在通信設(shè)備1的機(jī)蓋打開(kāi)時(shí)用戶(hù)按下數(shù)據(jù)處理功能的鍵盤(pán)14的一個(gè)鍵。中斷處理程序檢查在這種情況下按下相應(yīng)的鍵對(duì)移動(dòng)站功能的運(yùn)行是否有任何影響,并證實(shí)沒(méi)有影響,該中斷沒(méi)有導(dǎo)致在移動(dòng)站功能中采取措施。圖6c表示的情形中,在發(fā)生一個(gè)普通中斷時(shí),處理器2正在運(yùn)行第二操作系統(tǒng)OS_B的線程THB1(方框601)。該線程例如包含通信設(shè)備1的數(shù)據(jù)處理功能中與由用戶(hù)啟動(dòng)的應(yīng)用程序有關(guān)的進(jìn)程。這種情形在圖8中通過(guò)有向示意圖也有表示。處理器2處于用戶(hù)方式USER。所以,方式轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后運(yùn)行普通中斷的服務(wù)程序(圖6c的方框603,圖8中的箭頭801和802)。該中斷導(dǎo)致了需要運(yùn)行第一操作系統(tǒng)OS_A的至少一個(gè)線程,但在中斷中沒(méi)有生成被延遲服務(wù)例程DSR。在中斷處理結(jié)束后(箭頭803),調(diào)用請(qǐng)求普通中斷功能的結(jié)束符(方框604),設(shè)置中斷已經(jīng)結(jié)束的信息。在該普通中斷的服務(wù)程序結(jié)束之后,將處理器2的方式變回不定方式UND,同時(shí)調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A,該調(diào)度程序如果需要的話為各線程設(shè)置新的狀態(tài)(圖6c的方框608,圖8中的箭頭804)。隨后,第一操作系統(tǒng)OS_A的正在等待執(zhí)行的線程(就緒方式的線程)被運(yùn)行(箭頭805至808)。然后,當(dāng)沒(méi)有線程等待運(yùn)行時(shí),將處理器2的方式變回用戶(hù)方式USER,執(zhí)行從第二操作系統(tǒng)OS_B被中斷的線程THB1繼續(xù)(圖6c的方框605,圖8中箭頭809、810和811)。在一個(gè)表示這種情形的例子中,通信設(shè)備1已經(jīng)收到一個(gè)未應(yīng)答的呼叫。所以,移動(dòng)站功能的顯示器10以及數(shù)據(jù)處理功能的顯示器15顯示一條表示有已接收、未應(yīng)答的呼叫的消息,例如正文“1missedcall”。用戶(hù)按下數(shù)據(jù)處理功能的回車(chē)鍵(未予示出),期間就產(chǎn)生一個(gè)普通中斷IRQ。在中斷處理中,能用來(lái)從移動(dòng)站功能的顯示器10刪除該正文的第一操作系統(tǒng)OS_A的線程被設(shè)置為等待運(yùn)行方式。中斷結(jié)束后,處理器2轉(zhuǎn)而運(yùn)行第一操作系統(tǒng)的調(diào)度程序SCH_A,其中,第一操作系統(tǒng)OS_A的線程能在已經(jīng)到達(dá)運(yùn)行方式后從移動(dòng)站功能的顯示器10刪除該正文。圖6d表示的情形中,當(dāng)發(fā)生普通中斷時(shí),處理器2正在運(yùn)行第二操作系統(tǒng)OS_B下的線程THB1(方框601)并被設(shè)置在用戶(hù)方式USER。所以,方式被轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后運(yùn)行普通中斷的服務(wù)程序(方框603)。該中斷導(dǎo)致了需要運(yùn)行第一操作系統(tǒng)OS_A的至少一個(gè)線程。此外,在中斷中,以及/或者在中斷之后運(yùn)行的第一操作系統(tǒng)OS_A的某線程中,生成了一個(gè)被延遲服務(wù)例程DSR。在中斷處理結(jié)束后,調(diào)用普通中斷功能的結(jié)束符(方框604),設(shè)置中斷已經(jīng)結(jié)束的信息。在普通中斷的服務(wù)程序結(jié)束之后,將處理器2的方式變回不定方式UND,調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A,該調(diào)度程序如果需要的話為各線程設(shè)置新的狀態(tài),控制第一操作系統(tǒng)OS_A的正在等待執(zhí)行的線程按照其調(diào)度過(guò)程執(zhí)行(方框608)。當(dāng)沒(méi)有第一操作系統(tǒng)OS_A線程還在等待運(yùn)行后,第二操作系統(tǒng)OS_B的被延遲服務(wù)例程DSR被處理,然后,將處理器2的方式變回用戶(hù)方式USER,執(zhí)行從第二操作系統(tǒng)OS_B的被中斷線程THB1繼續(xù)(方框605),這是因?yàn)?,被該狀態(tài)的被延遲服務(wù)例程改變了的第二操作系統(tǒng)OS_B的線程,優(yōu)先級(jí)比第二操作系統(tǒng)OS_B的被中斷線程THB1的低??梢耘e一個(gè)例子,情況是用戶(hù)已經(jīng)用數(shù)據(jù)處理功能的鍵盤(pán)14寫(xiě)了一條短消息(SM)。按下傳輸鍵時(shí)導(dǎo)致一個(gè)普通中斷IRQ。在中斷處理中,第一操作系統(tǒng)OS_A的一個(gè)或多個(gè)線程被設(shè)置為等待運(yùn)行方式,以便從緩沖器讀取該待傳輸?shù)南⒁约皞鬏?,而在?shù)據(jù)處理功能的顯示器15上則生成一個(gè)圖標(biāo),由其向用戶(hù)通知將有消息被傳輸。中斷結(jié)束后,處理器2轉(zhuǎn)而運(yùn)行第一操作系統(tǒng)的調(diào)度程序SCH_A,其中,第一操作系統(tǒng)OS_A的線程在運(yùn)行方式中傳輸該消息,然后,生成一個(gè)用來(lái)刪除該圖標(biāo)的被延遲服務(wù)例程DSR。隨后,第二操作系統(tǒng)的調(diào)度程序SCH_B將第二操作系統(tǒng)OS_B的被中斷線程THB1設(shè)置成運(yùn)行方式,因?yàn)槠鋬?yōu)先級(jí)在這個(gè)示例性情形中高于第二操作系統(tǒng)OS_B的圖標(biāo)刪除線程。以后這個(gè)線程到達(dá)運(yùn)行方式,從數(shù)據(jù)處理功能的顯示器15刪除該圖標(biāo)。圖6e表示的情形中,當(dāng)普通中斷到來(lái)時(shí),處理器2正在運(yùn)行第一操作系統(tǒng)OS_A的空閑線程THA_IDLE(方框606)并被設(shè)置為不定方式UND。所以,方式轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后運(yùn)行普通中斷的服務(wù)程序。該中斷導(dǎo)致需要運(yùn)行第一操作系統(tǒng)OS_A的至少一個(gè)線程。在該中斷和/或第一操作系統(tǒng)OS_A的線程中生成了一個(gè)被延遲服務(wù)例程DSR,這進(jìn)一步導(dǎo)致第二操作系統(tǒng)OS_B的一個(gè)或多個(gè)線程的狀態(tài)轉(zhuǎn)變成等待執(zhí)行(就緒)。在中斷結(jié)束后,調(diào)用普通中斷功能的結(jié)束符(方框604),在其中設(shè)置中斷已經(jīng)結(jié)束的信息。在該普通中斷的服務(wù)程序結(jié)束之后,改變處理器2的方式和第一操作系統(tǒng)OS_A的狀態(tài)。處理器2的方式變成不定方式UND,然后請(qǐng)求第一操作系統(tǒng)的調(diào)度程序SCH_A(方框608),它將各線程依次設(shè)置成運(yùn)行方式,即運(yùn)行第一操作系統(tǒng)OS_A的正在等待執(zhí)行的(處于就緒方式的)線程。在第一操作系統(tǒng)OS_A沒(méi)有正在等待執(zhí)行的線程后,就處理第二操作系統(tǒng)OS_B的被延遲服務(wù)例程(方框609),然后調(diào)用第二操作系統(tǒng)的調(diào)度程序SCH_B(方框610),它按第二操作系統(tǒng)OS_B的運(yùn)行順序-最好按優(yōu)先級(jí)順序,將正在等待執(zhí)行的第一個(gè)線程設(shè)置成運(yùn)行方式。然后,處理器2的方式被設(shè)置回用戶(hù)方式USER,運(yùn)行從第二操作系統(tǒng)OS_B的、此時(shí)具有最高優(yōu)先級(jí)的線程THB1繼續(xù)(方框605)。第二操作系統(tǒng)的調(diào)度程序SCH_B按其調(diào)度原則控制各線程的運(yùn)行。在示例性情形中,一條短消息到達(dá)了通信設(shè)備1,例證是移動(dòng)站功能的顯示器10上和數(shù)據(jù)處理功能的顯示器15上的圖標(biāo)。用戶(hù)按下移動(dòng)站功能的鍵盤(pán)9上的閱讀鍵(未予示出),引起一個(gè)普通中斷。在中斷處理中,要把第一操作系統(tǒng)OS_A的一個(gè)或多個(gè)線程設(shè)置為等待運(yùn)行方式,以便從移動(dòng)站功能的顯示器10刪除圖標(biāo)并在數(shù)據(jù)處理功能的顯示器15上顯示收到的消息。此外,還生成一個(gè)被延遲服務(wù)例程DSR,以便從數(shù)據(jù)處理功能的顯示器15刪除圖標(biāo)。處理器2在中斷后運(yùn)行第一操作系統(tǒng)OS_A的調(diào)度功能,處理被延遲服務(wù)例程DSR,然后轉(zhuǎn)而去運(yùn)行第二操作系統(tǒng)OS_B的調(diào)度功能,其中第二操作系統(tǒng)的線程在到達(dá)執(zhí)行之后從數(shù)據(jù)處理功能的顯示器15刪除圖標(biāo)。圖6f表示的情形中,當(dāng)普通中斷到來(lái)時(shí),處理器2執(zhí)行第二操作系統(tǒng)OS_B下的線程THB1(方框601)并被設(shè)置為用戶(hù)方式USER。所以,方式被轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后轉(zhuǎn)至普通中斷的服務(wù)程序(方框603)。該中斷導(dǎo)致了需要運(yùn)行第一操作系統(tǒng)OS_A的至少一個(gè)線程。此外,在中斷中,以及/或者在中斷之后運(yùn)行的第一操作系統(tǒng)OS_A的某線程中,生成了一個(gè)被延遲服務(wù)例程DSR,這進(jìn)一步導(dǎo)致對(duì)第二操作系統(tǒng)OS_B的各線程的執(zhí)行時(shí)間的重新設(shè)置。在中斷處理結(jié)束后,調(diào)用普通中斷功能的結(jié)束符(方框604),設(shè)置中斷已經(jīng)結(jié)束的信息。在普通中斷的服務(wù)程序結(jié)束之后,處理器2的方式和第一操作系統(tǒng)OS_A的狀態(tài)被改變。處理器2的方式變成不定方式UND,然后,調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A,該調(diào)度程序-如果需要的話-為線程設(shè)置新的狀態(tài)(方框608)。運(yùn)行第一操作系統(tǒng)OS_A的正在等待執(zhí)行的線程(處于就緒方式中的線程)。然后,當(dāng)沒(méi)有等待運(yùn)行的第一操作系統(tǒng)OS_A線程剩下時(shí),第二操作系統(tǒng)OS_B的被延遲服務(wù)例程DSR被處理(方框609),然后,調(diào)用第二操作系統(tǒng)OS_B的調(diào)度程序SCH_B(方框610),它將第二操作系統(tǒng)OS_B正在等待的、排在運(yùn)行順序中第一位的線程設(shè)置成要在運(yùn)行方式中執(zhí)行。在本例中,中斷處理導(dǎo)致被中斷線程THB1還不是要前進(jìn)到運(yùn)行方式的線程-相反卻是第二操作系統(tǒng)OS_B的另一個(gè)、其狀態(tài)變成等待運(yùn)行的線程THB2。將處理器2的方式變回用戶(hù)方式USER,然后處理器2轉(zhuǎn)而去運(yùn)行被設(shè)置成運(yùn)行方式的線程THB2(方框611)。被中斷線程THB1依次到達(dá)運(yùn)行方式(方框605)。作為上述的一個(gè)例子的情形中,用戶(hù)在用數(shù)據(jù)處理功能的鍵盤(pán)14寫(xiě)一條短消息并將充電器(未予示出)連接到通信設(shè)備1。這導(dǎo)致一個(gè)普通中斷IRQ。在中斷處理中,在移動(dòng)站功能的顯示器10上生成通知進(jìn)行充電的圖標(biāo)的第一操作系統(tǒng)OS_A的線程,被設(shè)置為等待運(yùn)行方式。此外,通過(guò)一個(gè)被延遲服務(wù)例程DSR,在數(shù)據(jù)處理功能的顯示器15上生成一個(gè)相應(yīng)的圖標(biāo)。圖6g表示的情形中,普通中斷到來(lái)時(shí),處理器2在運(yùn)行第二操作系統(tǒng)OS_B下的線程THB1(方框601),它例如是通信設(shè)備1的數(shù)據(jù)處理功能中的建立連接的應(yīng)用程序。處理器2處于不定方式UND。所以,將方式轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),此后運(yùn)行普通中斷的服務(wù)程序(方框603)。中斷沒(méi)有導(dǎo)致需要運(yùn)行第一操作系統(tǒng)OS_A的線程,其中在中斷后沒(méi)有調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A。在中斷處理結(jié)束后,調(diào)用普通中斷功能的結(jié)束符(方框604),在其中設(shè)置中斷已經(jīng)結(jié)束的信息。在普通中斷結(jié)束之后,處理器2的方式和第一操作系統(tǒng)OS_A的狀態(tài)改變。處理器2的方式變回不定方式UND。運(yùn)行從被中斷線程THB1繼續(xù)(方框613)。盡管在中斷中生成過(guò)第二操作系統(tǒng)OS_B的被延遲服務(wù)例程DSR,這些DSR都會(huì)在第一操作系統(tǒng)的所有運(yùn)行線程被執(zhí)行之前得到處理。例如用戶(hù)正在撥電話號(hào)碼時(shí),由于按鍵,產(chǎn)生一個(gè)普通中斷IRQ。在中斷處理中,按鍵被讀入存儲(chǔ)器17并在移動(dòng)站功能的顯示器10上顯示,然后中斷返回,等待下一個(gè)按鍵。圖6h表示的情形中,普通中斷到來(lái)時(shí),處理器2在運(yùn)行第二操作系統(tǒng)OS_B下的線程THB1(方框612),它例如是通信設(shè)備的數(shù)據(jù)處理功能中的建立連接的應(yīng)用程序。處理器2處于不定方式UND。所以,將方式轉(zhuǎn)變?yōu)槠胀ㄖ袛喾绞絀RQ,處理器2轉(zhuǎn)而運(yùn)行普通中斷功能的開(kāi)始符(方框602),然后運(yùn)行普通中斷的服務(wù)程序(方框603)。中斷導(dǎo)致需要運(yùn)行第一操作系統(tǒng)OS_A的至少一個(gè)線程。在中斷結(jié)束后,調(diào)用普通中斷功能的結(jié)束符(方框604),在其中設(shè)置中斷已經(jīng)結(jié)束的信息。在普通中斷的服務(wù)程序結(jié)束之后,改變處理器2的方式和第一操作系統(tǒng)OS_A的狀態(tài)。處理器2的方式變成不定方式UND,然后請(qǐng)求第一操作系統(tǒng)的調(diào)度程序SCH_A(方框608),如果需要,它為各線程設(shè)置新?tīng)顟B(tài)。隨后,按照優(yōu)先級(jí)順序,運(yùn)行第一操作系統(tǒng)OS_A的正在等待執(zhí)行的(處于就緒方式的)線程。在本例中,中斷導(dǎo)致第二線程THA2立即前去執(zhí)行(方框614),被中斷線程THA1可能要稍后才輪到去運(yùn)行(方框613)。盡管在中斷中形成過(guò)第二操作系統(tǒng)OS_B的被延遲服務(wù)例程,它們不會(huì)在第一操作系統(tǒng)OS_A的運(yùn)行線程被執(zhí)行之前就被運(yùn)行。例如用戶(hù)撥電話號(hào)碼后,按下聽(tīng)筒提起(handset-up)鍵(未予示出),引起一個(gè)普通中斷。中斷處理之后,第一操作系統(tǒng)的調(diào)度程序SCH_A將一個(gè)建立連接的線程設(shè)置成執(zhí)行。圖6i進(jìn)一步表示的情形中,當(dāng)普通中斷服務(wù)例程正在運(yùn)行時(shí)(方框615)發(fā)生一個(gè)快速中斷FIQ。處理器2處于普通中斷方式IRQ,于是轉(zhuǎn)為快速中斷方式FIQ并運(yùn)行快速中斷功能的開(kāi)始符(方框616),然后運(yùn)行快速中斷的服務(wù)程序(方框617)。在快速中斷處理結(jié)束后,調(diào)用快速中斷功能的結(jié)束符(方框618),設(shè)置快速中斷FIQ已經(jīng)結(jié)束的信息。在快速中斷的服務(wù)程序結(jié)束之后,將處理器2的方式變回普通中斷狀態(tài)IRQ,然后,運(yùn)行從被中斷的位置繼續(xù)(方框619)。作為這種情況的例子是,當(dāng)處理器2正在運(yùn)行鍵盤(pán)9、14的中斷處理時(shí),安裝在通信設(shè)備1中的--例如專(zhuān)用集成電路3中的定時(shí)器(未予示出)生成一個(gè)快速中斷FIQ。處理器2讀取定時(shí)器的值并將其存入存儲(chǔ)器17。然后,處理器2返回到鍵盤(pán)9、14的中斷處理。在處理器2的上述方式轉(zhuǎn)換中,處理器2最好開(kāi)始使用不同的寄存器,不必總要把數(shù)據(jù)轉(zhuǎn)移到臨時(shí)存儲(chǔ)單元。然而在有些中斷情況中,可能需要數(shù)據(jù)轉(zhuǎn)移,這在某種程度上會(huì)拖延中斷的處理。還有,有些用作處理器2的微處理器并不包含上述的所有方式,這些不同的方式可通過(guò)方式變量等指明。有時(shí)也可能需要確定對(duì)第二操作系統(tǒng)OS_B的響應(yīng)時(shí)間。所以,第一操作系統(tǒng)的調(diào)度程序SCH_A可以在為第二操作系統(tǒng)OS_B剩下的執(zhí)行時(shí)間會(huì)小于響應(yīng)時(shí)間所要求的時(shí)間的情況下提高第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)。這樣,第一操作系統(tǒng)OS_A的空閑線程THA_IDLE在其它非關(guān)鍵線程之前輪到運(yùn)行,導(dǎo)致轉(zhuǎn)而去運(yùn)行第二操作系統(tǒng)OS_B。這種提高優(yōu)先級(jí)的方法,例如是用一個(gè)被設(shè)置為在預(yù)定時(shí)間后中斷的定時(shí)器來(lái)實(shí)現(xiàn)的。如果當(dāng)定時(shí)器中斷到達(dá)時(shí)處理器2尚未到達(dá)第一操作系統(tǒng)OS_A的空閑線程THA_IDLE,就調(diào)用第一操作系統(tǒng)的調(diào)度程序SCH_A,由它來(lái)提高空閑線程THA_IDLE的優(yōu)先級(jí)。不過(guò)這里應(yīng)當(dāng)注意,這時(shí)最好在提高空閑線程THA_IDLE的優(yōu)先級(jí)后只在較短的時(shí)間內(nèi)保持有效,以便也定時(shí)地為第一操作系統(tǒng)OS_A的非關(guān)鍵線程提供執(zhí)行時(shí)間。空閑線程THA_IDLE的優(yōu)先級(jí)不能被提高到太高的水平,因?yàn)榈谝徊僮飨到y(tǒng)OS_A的關(guān)鍵線程必須得到執(zhí)行。這種調(diào)度也可以被稱(chēng)作交替式調(diào)度。附圖9和10表示上述交替式調(diào)度選擇方案的一個(gè)例子。圖9中描述的是一例情況的時(shí)序圖,這種情況是,要執(zhí)行第一操作系統(tǒng)0S_A中運(yùn)行的進(jìn)程的運(yùn)行線程THA1、THA2、THA3和第二操作系統(tǒng)OS_B的運(yùn)行線程THB1、THB2、THB3。圖10中為進(jìn)一步闡明交替式調(diào)度方式而描述了第一操作系統(tǒng)OS_A的一個(gè)進(jìn)程圖。在這個(gè)示意圖中出現(xiàn)了在第一操作系統(tǒng)OS_A中運(yùn)行的進(jìn)程的三個(gè)線程THA1、THA2、THA3和在第二操作系統(tǒng)OS_B的運(yùn)行的進(jìn)程的三個(gè)線程THB1、THB2、THB3,但是應(yīng)當(dāng)明白,可以有更多或更少的在操作系統(tǒng)OS_A、OS_B中運(yùn)行的線程。第一操作系統(tǒng)OS_A的第一線程THA1例如是電話應(yīng)用程序,具有相當(dāng)高的優(yōu)先級(jí)。第一操作系統(tǒng)OS_A的第三線程THA3例如是為用戶(hù)接口配備的。在第一操作系統(tǒng)OS_A中,第二線程THA2的優(yōu)先級(jí)低于第一線程THA1的優(yōu)先級(jí),第三線程THA3的優(yōu)先級(jí)低于第二線程THA2的優(yōu)先級(jí)。第二操作系統(tǒng)OS_B的第一線程THB1例如是用于通過(guò)接口部件16通信的程序。第二操作系統(tǒng)OS_B的第二線程THB2和第三線程THB3例如是一些PDA應(yīng)用程序-例如一個(gè)記事本應(yīng)用程序和一個(gè)日歷應(yīng)用程序。本例中,假設(shè)第二操作系統(tǒng)OS_B的第一線程THB1的優(yōu)先級(jí)高于第二操作系統(tǒng)OS_B的第二線程THB2的優(yōu)先級(jí),第二操作系統(tǒng)0S_B的第三線程THB3在這三個(gè)線程中優(yōu)先級(jí)最低。圖9中用較粗的線條表示線程的執(zhí)行。例如,在時(shí)刻T1,開(kāi)始輪到第一操作系統(tǒng)OS_A的第二線程THA2運(yùn)行。這由標(biāo)注號(hào)901表示。在稍后的時(shí)刻T2,開(kāi)始輪到第一操作系統(tǒng)OS_A的第三線程THA3運(yùn)行(902)。也假設(shè)第三線程THA3是第一操作系統(tǒng)OS_A的空閑線程THA_IDLE之前的最后一個(gè)線程。所以過(guò)了一會(huì)后,在時(shí)刻T3,開(kāi)始輪到第二操作系統(tǒng)OS_A的第一線程THB1運(yùn)行(903),檢查是否需要通過(guò)接口部件16通信。在稍后的時(shí)刻T4,開(kāi)始輪到第二操作系統(tǒng)OS_B的第二線程THB2運(yùn)行(904)。在時(shí)刻T5也為第二操作系統(tǒng)OS_B的第三線程THB3留下一些執(zhí)行時(shí)間(905)。本例中,在時(shí)刻T6輪到運(yùn)行的下一個(gè)線程(906)是第二操作系統(tǒng)OS_B的第三線程THB1。圖10中也表示了從時(shí)刻T7開(kāi)始的以上情況。線程THA1、THA2、THA3、調(diào)度程序SCH_A、中斷服務(wù)例程ISR、中斷向量和第一操作系統(tǒng)的其它服務(wù)在圖10中以方框表示。圖10中排列了各線程的優(yōu)先級(jí),位置最高的線程有最高的優(yōu)先級(jí)。第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)最低。在時(shí)刻T7,第一操作系統(tǒng)OS_A的調(diào)度程序SCH_A暫時(shí)改變第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)。這種情形在圖10中時(shí)刻T7的右邊表示。在時(shí)刻T11,第一操作系統(tǒng)OS_A的調(diào)度程序SCH_A將第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)改變回最低優(yōu)先級(jí)。第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)的改變例如可由定時(shí)器、由某個(gè)事件等處理。用戶(hù)例如按下第二接口UI2的某鍵。于是在時(shí)刻8又開(kāi)始輪到第一操作系統(tǒng)OS_A的第三線程THA3運(yùn)行(907)。調(diào)度程序SCH_A已經(jīng)提高了第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)。第一操作系統(tǒng)OS_A的第三線程THA3正在運(yùn)行時(shí),有經(jīng)接口部件16進(jìn)行傳輸?shù)男枰_@就引起一個(gè)中斷一因?yàn)榭臻e線程THA_IDLE的優(yōu)先級(jí)在這個(gè)時(shí)刻T9高于第一操作系統(tǒng)OS_A的第三線程THA3的優(yōu)先級(jí)。于是第一操作系統(tǒng)OS_A的第三線程THA3的執(zhí)行被中斷,開(kāi)始輪到第二操作系統(tǒng)OS_B的第一線程THB1運(yùn)行(908)。在第二操作系統(tǒng)OS_B的第一線程THB1的執(zhí)行之后,在時(shí)刻T10,繼續(xù)第一操作系統(tǒng)OS_A的第三線程THA3的執(zhí)行。本例中,第一操作系統(tǒng)OS_A的調(diào)度程序SCH_A在時(shí)刻T11將第一操作系統(tǒng)OS_A的空閑線程THA_IDLE的優(yōu)先級(jí)降回到最低水平。第一操作系統(tǒng)OS_A的第三線程THA3的執(zhí)行在時(shí)刻T12再次被中斷,因?yàn)橛型ㄖf(shuō)有更高優(yōu)先級(jí)的線程要執(zhí)行(910)。這個(gè)線程例如是第一操作系統(tǒng)OS_A的第二線程THA2。在時(shí)刻T13,第一操作系統(tǒng)OS_A的第二線程THA2被中斷,因?yàn)橛型ㄖf(shuō)有更高優(yōu)先級(jí)的線程-第一操作系統(tǒng)OS_A的第一線程THA1-要執(zhí)行(911)。在時(shí)刻T14,第一操作系統(tǒng)OS_A的第一線程THA1執(zhí)行后,第一操作系統(tǒng)OS_A的第二線程THA2的執(zhí)行繼續(xù)(912)。在時(shí)刻T15,第一操作系統(tǒng)OS_A的第二線程THA2的執(zhí)行完成。同時(shí)(時(shí)刻,T15),第二操作系統(tǒng)OS_B的第一線程THB1也變得運(yùn)行準(zhǔn)備就緒。然而,第一操作系統(tǒng)OS_A的第三線程THA3的執(zhí)行卻在時(shí)刻15繼續(xù)(913)。這與較早時(shí)在時(shí)刻T9的行為相反。第一操作系統(tǒng)OS_A的第三線程THA3的執(zhí)行在時(shí)刻15第一操作系統(tǒng)OS_A的第二線程THA2已經(jīng)執(zhí)行后繼續(xù)。第二操作系統(tǒng)OS_B的第一線程THB1在時(shí)刻T16開(kāi)始輪到運(yùn)行(914),服務(wù)于經(jīng)接口部件16的傳輸。表1進(jìn)一步總結(jié)了與中斷相聯(lián)系的從一種方式向另一種方式的轉(zhuǎn)換。第一列表示改變方式時(shí)處理器2所處的方式,第一行表示處理器2被轉(zhuǎn)換到的方式。表的其它方框表示導(dǎo)致各方式的變化的情況。各縮寫(xiě)就是本說(shuō)明書(shū)前文中所用的不同方式和中斷的縮寫(xiě)。<tablesid="table1"num="001"><table>USERUNDSVCIRQFIQUSER--------OS_B線程請(qǐng)求SWIIRQ中斷OS_B線程FIQ中斷OS_B線程UND從最后一個(gè)OS_A線程或DSR返回----DSR或空閑線程請(qǐng)求SWIIRQ中斷OS_A線程、DSR或空閑線程FIQ中斷OS_A線程、DSR或空閑線程SVC從快速SWI返回在慢SWI期間----IRQ中斷快速SWIFIQ中斷快速SWIIRQ如果不存在活動(dòng)的OS_A線程或DSR,從IRQ返回如果存在活動(dòng)的OS_A線程或DSR,從IRQ返回--------FIQ中斷IRQFIQ如果沒(méi)有活動(dòng)的OS_A線程或DSR,從FIQ返回如果活動(dòng)的OS_A線程或DSR,從FIQ返回----如果IRQ被中斷,從FIQ返回----</table></tables>表1下面的例子描述不同操作系統(tǒng)OS_A、OS_B中執(zhí)行的線程之間消息的傳輸。圖7a和7b以簡(jiǎn)化示意圖表示這種消息傳輸機(jī)制。消息驅(qū)動(dòng)器MD(messagedriver)是操作系統(tǒng)OS_A、OS_B公用的,也是消息隊(duì)列MQ1、MQ2公用的。第二操作系統(tǒng)OS_B的運(yùn)行線程THB1調(diào)用消息驅(qū)動(dòng)器MD,將所傳送消息(例如一條正文消息)和目標(biāo)線程THA1的符號(hào)作為參數(shù)傳輸(圖7a箭頭701)。消息驅(qū)動(dòng)器MD將該消息轉(zhuǎn)移到第一消息隊(duì)列MQ1(箭頭702)并最好生成一個(gè)軟件中斷(SWI),這個(gè)中斷激活一個(gè)基本如本說(shuō)明書(shū)前文據(jù)圖6所述的中斷處理-只不過(guò)該中斷是由軟件中斷SWI而不是普通中斷IRQ引起的。離開(kāi)中斷處理程序?qū)е录せ畹谝徊僮飨到y(tǒng)的調(diào)度程序SCH_A,目標(biāo)線程在由優(yōu)先級(jí)確定的時(shí)間被執(zhí)行(箭頭703)。這個(gè)目標(biāo)線程讀取第一消息隊(duì)列MQ1中的消息(箭頭704)并例如將該消息傳輸?shù)揭粋€(gè)無(wú)線電通道。在第一操作系統(tǒng)的應(yīng)用程序中,能執(zhí)行一個(gè)被延遲服務(wù)例程DSR,由此可能例如以下列方式(圖7b)將消息傳輸?shù)降诙僮飨到y(tǒng)OS_B的線程。在第二操作系統(tǒng)OS_B中,運(yùn)行線程THB2已經(jīng)生成了一個(gè)消息請(qǐng)求并一直等待著該消息(箭頭705)。該消息請(qǐng)求引起一個(gè)軟件中斷SWI,中斷處理程序檢查中斷的原因后斷定第二操作系統(tǒng)OS_B的線程THB2正在帶來(lái)來(lái)自第一操作系統(tǒng)OS_A的線程THA2的消息。中斷處理后,調(diào)用第一操作系統(tǒng)OS_A的調(diào)度程序SCH_A(706)。在輪到所希望的線程THA2運(yùn)行后,該線程生成一個(gè)消息并將其添加到第二消息隊(duì)列MQ2(箭頭707)。此外,線程THA2還生成一個(gè)被延遲服務(wù)例程DSR(箭頭708)。在運(yùn)行了第一操作系統(tǒng)OS_A的各線程后,這個(gè)被延遲服務(wù)例程DSR緊接著就被處理,其中由線程THA2添加的該被延遲服務(wù)例程DSR將第二操作系統(tǒng)OS_B的線程的狀態(tài)改變?yōu)榈却龍?zhí)行(就緒)(箭頭709)。第二操作系統(tǒng)OS_B的調(diào)度程序SCH_B按照其調(diào)度原則控制各線程的執(zhí)行。當(dāng)發(fā)過(guò)傳輸請(qǐng)求的線程THB2運(yùn)行時(shí)(710),它通過(guò)消息驅(qū)動(dòng)器MD的連接接口從第二消息隊(duì)列MQ2讀取消息。在實(shí)際實(shí)施例中,消息隊(duì)列MQ1、MQ2最好能按優(yōu)先級(jí)來(lái)配置。這意味著,高優(yōu)先級(jí)的接收線程的消息比較低優(yōu)先級(jí)的消息更快經(jīng)過(guò)隊(duì)列。另一種可選方案是,采用比本例中的第一MQ1和第二消息隊(duì)列MQ2更多的消息隊(duì)列??偠灾?,可以注意到,本發(fā)明能實(shí)現(xiàn)在一個(gè)處理器下運(yùn)行一個(gè)或多個(gè)操作系統(tǒng)OS_A、OS_B。一個(gè)目標(biāo)是使公用部件最少,也能在這種通信設(shè)備1中運(yùn)行現(xiàn)行技術(shù)水平的應(yīng)用程序。操作系統(tǒng)OS_A、OS_B的公用部件主要是中斷處理程序,中斷處理程序中形成了與操作系統(tǒng)OS_A、OS_B的聯(lián)系。在上面的例子中,消息驅(qū)動(dòng)器MD也是公用的。在實(shí)際的嵌入式相同1中,有可能為不同的操作系統(tǒng)OS_A、OS_B配置許多公用的中斷處理程序(中斷服務(wù)例程)。每次可以有對(duì)應(yīng)一種中斷的其中一個(gè)中斷處理程序是活動(dòng)的,即,例如對(duì)應(yīng)快速中斷FIQ的一個(gè),對(duì)應(yīng)普通中斷IRQ的一個(gè)和對(duì)應(yīng)軟件中斷SWI的一個(gè)。這樣就有可能將為該中斷配置的另一個(gè)中斷處理程序變?yōu)榛顒?dòng)的中斷處理程序。應(yīng)當(dāng)指出,兩個(gè)操作系統(tǒng)OS_A、OS_B在處理器2的系統(tǒng)中運(yùn)行也能以這樣的方式實(shí)現(xiàn),例如由第二操作系統(tǒng)OS_B的線程THB1、THB2、THB_IDLE來(lái)形成第一操作系統(tǒng)的線程,諸如空閑線程THA_IDLE或超級(jí)線程,其中與所有與第二操作系統(tǒng)OS_B有關(guān)的運(yùn)行線程THB1、THB2、THB_IDLE都在這個(gè)線程中執(zhí)行。以對(duì)應(yīng)的方式,有可能由第一操作系統(tǒng)OS_A的線程THA1、THA2、THA_IDLE來(lái)形成第二操作系統(tǒng)的線程,諸如空閑線程THB_IDLE或超級(jí)線程511,其中與所有與第一操作系統(tǒng)OS_A有關(guān)的運(yùn)行線程THA1、THA2、THA_IDLE都在這個(gè)線程中執(zhí)行。另一個(gè)可選方案是,第一操作系統(tǒng)OS_A的每個(gè)線程THA1、THA2、THA_IDLE以獨(dú)立于第二操作系統(tǒng)OS_B的超級(jí)線程511的形式形成,第二操作系統(tǒng)OS_B把這些線程作為單獨(dú)的超級(jí)線程(未予示出)來(lái)處理。如本說(shuō)明書(shū)前文所述,這些超級(jí)線程的響應(yīng)時(shí)間,通常比普通線程的響應(yīng)時(shí)間短得多。響應(yīng)時(shí)間的要求最高的任務(wù)仍然能得到運(yùn)行,方法是為它們生成例如與定時(shí)器的中斷處理程序相聯(lián)系的中斷處理,其中在轉(zhuǎn)而執(zhí)行這些任務(wù)時(shí)不必使用調(diào)度功能。就第一操作系統(tǒng)OS_A的每個(gè)線程THA1、THA2、THA_IDLE以第二操作系統(tǒng)OS_B中獨(dú)立的超級(jí)線程511的形式實(shí)現(xiàn)的情況來(lái)說(shuō),如果希望在第一操作系統(tǒng)OS_A的不同線程THA1、THA2、THA_IDLE之間傳輸數(shù)據(jù),就要求按照第二操作系統(tǒng)OS_B的信號(hào)傳輸。相反,當(dāng)?shù)谝徊僮飨到y(tǒng)OS_A的線程THA1、THA2、THA_IDLE是以一個(gè)超級(jí)線程511的形式實(shí)現(xiàn)的時(shí),數(shù)據(jù)傳輸就能通過(guò)使用第一操作系統(tǒng)OS_A的消息傳輸方法而以更簡(jiǎn)單的方式實(shí)現(xiàn)。本發(fā)明并不僅限于上述各實(shí)施例,可以在后附權(quán)利要求的范圍內(nèi)修改。權(quán)利要求1.一種包含至少一個(gè)用于運(yùn)行操作系統(tǒng)(OS_A、OS_B)的處理器(2)的嵌入式系統(tǒng)(1),特征在于,嵌入式系統(tǒng)(1)進(jìn)一步包含-用于在處理器(2)中運(yùn)行至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)的裝置(17、401、412);-包含第一組線程(THA1、THA2、THA-IDLE)的第一操作系統(tǒng)(OS_A);-包含第二組線程(THB1、THB2、THB_IDLE)的第二操作系統(tǒng)(OS_B);-用于向處理器(2)生成中斷(FIQ、IRQ、SWI)的裝置(nFIQ、nIRQ、nSWI);-檢查裝置(401、603、617),用于檢查已經(jīng)到達(dá)處理器(2)的中斷(FIQ、IRQ、SWI)影響哪個(gè)線程(THA1、THA2、THB1、THB2、THA_IDLE、THB_IDLE)的執(zhí)行;-傳輸裝置(401、412、603、609、617),用于將中斷數(shù)據(jù)傳輸給與影響處理器(2)所接收中斷(FIQ、IRQ、SWI)的線程(THA1、THA2、THB1、THB2、THA_IDLE、THB-IDLE)有關(guān)的操作系統(tǒng)(OS_A、OS_B)。2.按照權(quán)利要求1的嵌入式系統(tǒng)(1),特征在于,所述檢查裝置(401、603、617)包含至少一個(gè)、至少部分為所述至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)所公用的中斷處理程序(603、607)。3.按照權(quán)利要求1或2的嵌入式系統(tǒng)(1),特征在于,它包含移動(dòng)站功能和數(shù)據(jù)處理功能,所述至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)中,第一操作系統(tǒng)(OS_A)涉及移動(dòng)站功能的運(yùn)行,第二操作系統(tǒng)(OS_B)涉及數(shù)據(jù)處理功能的運(yùn)行。4.按照權(quán)利要求3的嵌入式系統(tǒng)(1),特征在于,包含至少一個(gè)至少部分涉及移動(dòng)站功能的用戶(hù)接口(UI1)和至少一個(gè)至少部分涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)。5.按照權(quán)利要求4的嵌入式系統(tǒng)(1),特征在于,涉及移動(dòng)站功能的用戶(hù)接口(UI1)和涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)包含至少部分公用的顯示器(10、15)。6.按照權(quán)利要求4或5的嵌入式系統(tǒng)(1),特征在于,涉及移動(dòng)站功能的用戶(hù)接口(UI1)和涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)包含至少部分公用的數(shù)據(jù)提供裝置(9、14)。7.按照權(quán)利要求1至6的任一項(xiàng)的嵌入式系統(tǒng)(1),特征在于,它包含用于在沒(méi)有第一操作系統(tǒng)(OS_A)的線程(THA1、THA2、THA_IDLE)正在運(yùn)行時(shí)將第一操作系統(tǒng)(OS_A)的執(zhí)行轉(zhuǎn)到第二操作系統(tǒng)(OS_B)的執(zhí)行的裝置(2,THA_IDLE)。8.按照權(quán)利要求1至7的任一項(xiàng)的嵌入式系統(tǒng)(1),特征在于,它包含用于在對(duì)處理器(2)的中斷(FIQ、IRQ、SWI)影響第一操作系統(tǒng)(OS_A)下的至少一個(gè)線程(THA1、THA2、THA_IDLE)的運(yùn)行時(shí)從執(zhí)行第二操作系統(tǒng)(OS_B)轉(zhuǎn)而運(yùn)行第一操作系統(tǒng)(OS_A)的裝置(2,SCH_A)。9.按照權(quán)利要求1至8的任一項(xiàng)的的嵌入式系統(tǒng)(1),特征在于,至少第一操作系統(tǒng)(OS_A)是實(shí)時(shí)操作系統(tǒng)。10.按照權(quán)利要求1至9的任一項(xiàng)的的嵌入式系統(tǒng)(1),特征在于,處理器(2)至少包含下列方式-用戶(hù)方式(USER方式);-特權(quán)方式(SVC方式);-不定方式(UND方式);-一個(gè)或多個(gè)中斷方式(FIQ方式、IRQ方式、SWI方式);并且安排第一操作系統(tǒng)(OS_A)至少部分地在不定方式(UND方式)中運(yùn)行,安排第二操作系統(tǒng)(OS_B)至少部分地在用戶(hù)方式(USER方式)中運(yùn)行,安排中斷處理程序(603、617)在某個(gè)中斷方式(FIQ方式、IRQ方式、SWI方式)中運(yùn)行。11.按照權(quán)利要求1至10的任一項(xiàng)的嵌入式系統(tǒng)(1),特征在于,第一組線程的線程中的一個(gè)線程(THA1、THA2、THA-IDLE)包含第二操作系統(tǒng)(OS_B)。12.按照權(quán)利要求2至10的任一項(xiàng)的的嵌入式系統(tǒng)(1),特征在于,它包含至少兩個(gè)用于至少一個(gè)中斷(FIQ、IRQ、SWI)的中斷服務(wù)例程,并包含用于從這至少兩個(gè)中斷服務(wù)例程中選擇一個(gè)與中斷(FIQ、IRQ、SWI)一起使用的裝置(2)。13.一種用于在嵌入式系統(tǒng)(1)的處理器(2)中執(zhí)行操作系統(tǒng)(OS_A、OS_B)的方法,特征在于,在該方法中-在所述處理器(2)中執(zhí)行至少兩個(gè)操作系統(tǒng)(OS_A、OS_B);-涉及第一操作系統(tǒng)(OS_A)時(shí),執(zhí)行第一組線程(THA1、THA2、THA_IDLE);-涉及第二操作系統(tǒng)(OS_B)時(shí),執(zhí)行第二組線程(THB1、THB2、THB_IDLE);-向處理器(2)生成中斷(FIQ、IRQ、SWI);-檢查已經(jīng)到達(dá)處理器(2)的中斷影響哪個(gè)線程(THA1、THA2、THB1、THB2、THA_IDLE、THB_IDLE)的執(zhí)行;-將處理器(2)所接收中斷(FIQ、IRQ、SWI)的信息傳輸給與影響處理器(2)所接收中斷(FIQ、IRQ、SWI)的線程(THA1、THA2、THB1、THB2、THA_IDLE、THB_IDLE)有關(guān)的操作系統(tǒng)(OS_A、OS_B)。14.按照權(quán)利要求13的方法,特征在于,在檢查處理器(2)所接收中斷(FIQ、IRQ、SWI)時(shí),至少使用一個(gè)至少部分為至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)所公用的中斷處理程序。15.按照權(quán)利要求13的方法,特征在于,在嵌入式系統(tǒng)(1)中,執(zhí)行移動(dòng)站功能和數(shù)據(jù)處理功能,所述至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)中,第一操作系統(tǒng)(OS_A)涉及移動(dòng)站功能的執(zhí)行,第二操作系統(tǒng)(OS_B)涉及數(shù)據(jù)處理功能的執(zhí)行。16.按照權(quán)利要求15的方法,特征在于,移動(dòng)站功能由第一用戶(hù)接口(UI1)使用,數(shù)據(jù)處理功能由第二用戶(hù)接口(UI2)使用。17.按照權(quán)利要求16的方法,特征在于,移動(dòng)站功能和數(shù)據(jù)處理功能在至少部分公用的顯示器(10、15)上顯示。18.按照權(quán)利要求16或17的方法,特征在于,為使用移動(dòng)站功能和數(shù)據(jù)處理功能,通過(guò)至少部分公用的裝置(9、14)來(lái)提供數(shù)據(jù)。19.按照權(quán)利要求13至18的任一項(xiàng)的方法,特征在于,在沒(méi)有第一操作系統(tǒng)(OS_A)的線程(THA1、THA2、THA_IDLE)正在運(yùn)行時(shí),進(jìn)行從第一操作系統(tǒng)(OS_A)的執(zhí)行到執(zhí)行第二操作系統(tǒng)(OS_B)的轉(zhuǎn)換。20.按照權(quán)利要求13至19的任一項(xiàng)的方法,特征在于,在處理器(2)所接收的中斷影響第一操作系統(tǒng)(OS_A)下的至少一個(gè)線程(THA1、THA2、THA-IDLE)的執(zhí)行時(shí),進(jìn)行從第二操作系統(tǒng)(OS_B)的執(zhí)行到執(zhí)行第一操作系統(tǒng)(OS_A)的轉(zhuǎn)換。21.按照權(quán)利要求13至20的任一項(xiàng)的方法,特征在于,至少第一操作系統(tǒng)(OS_A)是實(shí)時(shí)操作系統(tǒng)。22.按照權(quán)利要求13至21的任一項(xiàng)的方法,特征在于,在第一組線程的一個(gè)線程(THA1、THA2、THA_IDLE)中執(zhí)行第二操作系統(tǒng)(OS_B)。23.按照權(quán)利要求22的方法,特征在于,為第一組線程的每個(gè)線程(THA1、THA2、THA-IDLE)確定優(yōu)先級(jí),為了增加第二操作系統(tǒng)(OS_B)的執(zhí)行時(shí)間,可以提高其中執(zhí)行第二操作系統(tǒng)(OS_B)的線程的優(yōu)先級(jí)。24.一種包含至少一個(gè)用于運(yùn)行操作系統(tǒng)(OS_A、OS_B)的處理器(2)的通信設(shè)備(1),特征在于,通信設(shè)備(1)進(jìn)一步包含-用于在處理器(2)中運(yùn)行至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)的裝置(17、401、412);-包含第一組線程(THA1、THA2、THA-IDLE)的第一操作系統(tǒng)(OS_A);-包含第二組線程(THB1、THB2、THB_IDLE)的第二操作系統(tǒng)(OS_B);-用于向處理器(2)生成中斷(FIQ、IRQ、SWI)的裝置(nFIQ、nIRQ、nSWI);-檢查裝置(401、603、617),用于檢查已經(jīng)到達(dá)處理器(2)的中斷(FIQ、IRQ、SWI)影響哪個(gè)線程(THA1、THA2、THB1、THB2、THA_IDLE、THB_IDLE)的執(zhí)行;-傳輸裝置(401、412、603、609、617),用于將中斷數(shù)據(jù)傳輸給與影響處理器(2)所接收中斷(FIQ、IRQ、SWI)的線程(THA1、THA2、THB1、THB2、THA_IDLE、THB_IDLE)有關(guān)的操作系統(tǒng)(OS_A、OS_B)。25.按照權(quán)利要求24的通信設(shè)備(1),特征在于,檢查裝置(401、603、617)包含至少一個(gè)、至少部分為至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)所公用的中斷處理程序(603、607)。26.按照權(quán)利要求24或25的通信設(shè)備(1),特征在于,它包含移動(dòng)站功能和數(shù)據(jù)處理功能,這至少兩個(gè)操作系統(tǒng)(OS_A、OS_B)中,第一操作系統(tǒng)(OS_A)涉及移動(dòng)站功能的運(yùn)行,第二操作系統(tǒng)(OS_B)涉及數(shù)據(jù)處理功能的運(yùn)行。27.按照權(quán)利要求26的通信設(shè)備(1),特征在于,包含至少一個(gè)至少部分涉及移動(dòng)站功能的用戶(hù)接口(UI1)和至少一個(gè)至少部分涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)。28.按照權(quán)利要求27的通信設(shè)備(1),特征在于,涉及移動(dòng)站功能的用戶(hù)接口(UI1)和涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)包含至少部分公用的顯示器(10、15)。29.按照權(quán)利要求27或28的通信設(shè)備(1),特征在于,涉及移動(dòng)站功能的用戶(hù)接口(UI1)和涉及數(shù)據(jù)處理功能的用戶(hù)接口(UI2)包含至少部分公用的數(shù)據(jù)提供裝置(9、14)。30.按照權(quán)利要求24至29的任一項(xiàng)的通信設(shè)備(1),特征在于,它包含用于在沒(méi)有第一操作系統(tǒng)(OS_A)的線程(THA1、THA2、THA_IDLE)正在運(yùn)行時(shí)將第一操作系統(tǒng)(OS_A)的執(zhí)行轉(zhuǎn)到第二操作系統(tǒng)(OS_B)的執(zhí)行的裝置(2,THA_IDLE)。31.按照權(quán)利要求24至30的任一項(xiàng)的通信設(shè)備(1),特征在于,它包含用于在對(duì)處理器(2)的中斷(FIQ、IRQ、SWI)影響第一操作系統(tǒng)(OS_A)下的至少一個(gè)線程(THA1、THA2、THA_IDLE)的運(yùn)行時(shí)從執(zhí)行第二操作系統(tǒng)(OS_B)轉(zhuǎn)而運(yùn)行第一操作系統(tǒng)(OS_A)的裝置(2,TH1_SCH_A)。32.按照權(quán)利要求24至31的任一項(xiàng)的的通信設(shè)備(1),特征在于,至少第一操作系統(tǒng)(OS_A)是實(shí)時(shí)操作系統(tǒng)。33.按照權(quán)利要求24至32的任一項(xiàng)的的通信設(shè)備(1),特征在于,處理器(2)至少包含下列方式-用戶(hù)方式(USER方式);-特權(quán)方式(SVC方式);-不定方式(UND方式);-一個(gè)或多個(gè)中斷方式(FIQ方式、IRQ方式、SWI方式);并且安排第一操作系統(tǒng)(OS_A)至少部分地在不定方式(UND方式)中運(yùn)行,安排第二操作系統(tǒng)(OS_B)至少部分地在用戶(hù)方式(USER方式)中運(yùn)行,安排中斷處理程序(603、617)在某個(gè)中斷方式(FIQ方式、IRQ方式、SWI方式)中運(yùn)行。34.按照權(quán)利要求24至33的任一項(xiàng)的通信設(shè)備(1),特征在于,第一組線程的線程中的一個(gè)線程(THA1、THA2、THA_IDLE)包含第二操作系統(tǒng)(0S_B)。全文摘要一種包含至少一個(gè)用于運(yùn)行操作系統(tǒng)(OS-A、OS-B)的處理器(2)的嵌入式系統(tǒng)(1)。嵌入式系統(tǒng)(1)進(jìn)一步包含:用于在處理器(2)中運(yùn)行至少兩個(gè)操作系統(tǒng)(OS-A、OS-B)的裝置(17、401、412);包含第一組線程(THA1、THA2、THA-IDLE)的第一操作系統(tǒng)(OS-A);包含第二組線程(THB1、THB2、THB-IDLE)的第二操作系統(tǒng)(OS-B);用于向處理器(2)生成中斷(FIQ、IRQ、SWI)的裝置(nFIQ、nIRQ、nSWI);用于檢查已經(jīng)到達(dá)處理器(2)的中斷(FIQ、IRQ、SWI)影響哪個(gè)線程(THA1、THA2、THB1、THB2、THA-IDLE、THB-IDLE)的執(zhí)行的裝置(401、603、617);用于將中斷數(shù)據(jù)傳輸給與影響處理器(2)所接收中斷(FIQ、IRQ、SWI)的線程(THA1、THA2、THB1、THB2、THA-IDLE、THB-IDLE)有關(guān)的操作系統(tǒng)(OS-A、OS-B)的裝置(401、412、603、609、617)。文檔編號(hào)G06F9/48GK1294706SQ99804263公開(kāi)日2001年5月9日申請(qǐng)日期1999年1月21日優(yōu)先權(quán)日1998年1月21日發(fā)明者R·倫凱,V·薩里寧,J·坎托拉,J·萊斯克萊,K·萊姆皮寧,A·普爾霍寧申請(qǐng)人:諾基亞移動(dòng)電話有限公司