亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

嵌入式sram操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法

文檔序號:6556492閱讀:206來源:國知局
專利名稱:嵌入式sram操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式操作系統(tǒng)技術(shù)領(lǐng)域,尤其是涉及一種嵌入式SRAM操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法。
背景技術(shù)
對每一個現(xiàn)代操作系統(tǒng)而言,其基本任務(wù)之一就是進程管理。操作系統(tǒng)需要為進程分配資源;實現(xiàn)進程間共享和交換信息;保護進程資源;以及實現(xiàn)進程間同步,為此,操作系統(tǒng)需要為每一個進程維護一個特定的數(shù)據(jù)結(jié)構(gòu)用于描述該進程的狀態(tài)和資源占用情況,從而實現(xiàn)對進程的管理和控制。
進程狀態(tài)的認定直接影響到進程描述與控制的復(fù)雜度。而人們對進程狀態(tài)的認定也是一個隨著對計算機系統(tǒng)本身的認識并結(jié)合進程管理與控制的需要來逐漸細化的。
操作系統(tǒng)為了管理和控制進程,它必須知道進程的位置和進程屬性,后者包括進程的標識、狀態(tài)信息和控制信息。
進程位置。談到進程的位置就必須了解進程的物理形式。一說到某個進程我們就自然而然地將它和一段程序以及和這段程序相關(guān)的數(shù)據(jù)聯(lián)系起來;同時,操作系統(tǒng)執(zhí)行該進程時需要維持一個或多個堆棧用于跟蹤過程調(diào)用以及過程間參數(shù)調(diào)用;最后,操作系統(tǒng)為了控制和管理該進程需要維護一系列與該進程相關(guān)的信息。操作系統(tǒng)所維護的這些信息通常被稱為進程控制塊(Process ControlBlock)。與進程相關(guān)的程序、數(shù)據(jù)、堆棧和進程控制塊信息統(tǒng)稱為進程映像。
進程映像如何在計算機系統(tǒng)中存儲,和操作系統(tǒng)的內(nèi)存管理機制有關(guān)。現(xiàn)代操作系統(tǒng)的內(nèi)存管理基于分段或分頁或者兩者的綜合。一般而言,進程映像總是有一部分駐留在物理內(nèi)存中,而其它部分則存放在外圍設(shè)備中。僅就進程的定位而言,操作系統(tǒng)會在物理內(nèi)存中維護一個主進程表,其中的各個條目包含一個指向一個進程映像的指針,從而標明進程位置。
進程標識。在幾乎所有的操作系統(tǒng)中進程標識都是一個唯一的數(shù)值型標識。這個標識可以作為在操作系統(tǒng)運行環(huán)境中進程的“身份證”,根據(jù)它,不僅可以找到對應(yīng)的進程映像,而且還可以在內(nèi)存管理、I/O管理、文件系統(tǒng)管理等方面派上用場。這就好比,我們的身份證作為唯一標識可以作為我們身份的認定,而且在外出旅行、銀行信貸、房產(chǎn)按揭等方面派上用場。
另外每個進程內(nèi)部仍然需要維護一些其它的標識,比如說創(chuàng)建它的父進程的標識、使用它的用戶標識等等,這些信息有助于進程的管理和控制中。
進程狀態(tài)信息。進程運行時的寄存器信息就構(gòu)成了進程狀態(tài)信息。當某個運行中的進程被暫時停止時,相應(yīng)的進程狀態(tài)信息需要作某些必要的處理,以便進程恢復(fù)運行時能夠恢復(fù)到暫停之前的狀態(tài)從而能夠繼續(xù)正常運行。
進程控制信息。進程控制信息也就是前面所提到的進程控制塊中所包含的信息,它是操作系統(tǒng)用于控制和協(xié)調(diào)各個運行進程所需要的額外信息。
做為嵌入式SRAM操作系統(tǒng),其進程是實現(xiàn)于SRAM中,而不是通常的處于內(nèi)存當中,同時,它主要用于嵌入式系統(tǒng),對進程實時的要求也不相同,因此,嵌入式SRAM操作系統(tǒng)需要其特定的進程狀態(tài)和轉(zhuǎn)換方法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種嵌入式SRAM操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法。
本發(fā)明解決技術(shù)問題所采用的技術(shù)方案是1)根據(jù)在嵌入式SRAM操作系統(tǒng)運行時,進程的狀態(tài)和所處的位置,由于進程大部分時間處于SRAM中運行,其定義不同的進程狀態(tài)為●創(chuàng)建態(tài)對應(yīng)于進程剛剛被創(chuàng)建和進入到SRAM中的狀態(tài);●運行態(tài)進程占有處理器正在運行;●就緒態(tài)進程位于SRAM中,具備運行條件,等待系統(tǒng)分配處理器以便運行;●阻塞態(tài)進程位于SRAM中,不具備運行條件,正在等待某個事件的完成;●就緒換出態(tài)和阻塞換出態(tài)由于SRAM空間不足,進程將被交換出SRAM,進入到SDRAM中去,暫時不參與進程調(diào)度;●退出態(tài)進程結(jié)束,退出SRAM,以后不再執(zhí)行。
2)進程狀態(tài)轉(zhuǎn)換的具體方式如下在嵌入式SRAM操作系統(tǒng)中,系統(tǒng)內(nèi)核位于SRAM中,系統(tǒng)對進程的管理是基于SRAM的,以下所有的進程狀態(tài),除換入和換出外,均位于SRAM中,而不是位于SDRAM中。
空NULL—→創(chuàng)建態(tài)執(zhí)行一個程序,創(chuàng)建一個子進程;創(chuàng)建態(tài)—→就緒態(tài)嵌入式SRAM操作系統(tǒng)完成了進程創(chuàng)建的必要操作,并且當前系統(tǒng)的性能和SRAM的容量均允許,提交到就緒態(tài)隊列;
創(chuàng)建態(tài)—→就緒換出態(tài)考慮到系統(tǒng)當前資源狀況和性能要求,可以決定新建的進程將被置換到SDRAM上,成為就緒換出態(tài);就緒換出態(tài)—→就緒態(tài)當SRAM中沒有就緒態(tài)進程,或者就緒換出態(tài)進程具有比就緒態(tài)進程更高的優(yōu)先級,系統(tǒng)將把就緒換出態(tài)進程轉(zhuǎn)換成就緒態(tài);就緒態(tài)—→就緒換出態(tài)嵌入式SRAM操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把就緒態(tài)進程將被對換出去成為就緒換出態(tài);就緒態(tài)—→運行態(tài)嵌入式SRAM操作系統(tǒng)在就緒態(tài)進程隊列里面選中一個進程,在處理器中運行;運行態(tài)—→退出態(tài)當一個進程到達了自然結(jié)束點,或是出現(xiàn)了無法克服的錯誤,或是被操作系統(tǒng)所終結(jié),或是被其他有終止權(quán)的進程所終結(jié);運行態(tài)—→就緒換出態(tài)當一個具有較高優(yōu)先級的阻塞換出態(tài)進程的等待事件結(jié)束后,它需要搶占了中心處理器,,而此時SRAM空間有不夠,從而可能導(dǎo)致正在運行的進程轉(zhuǎn)化為就緒換出態(tài)。另外處于運行態(tài)的進程也可以自己掛起自己;退出態(tài)—→空NULL完成善后操作,退出執(zhí)行;就緒態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→阻塞換出態(tài)如果當前不存在就緒進程,那么至少有一個阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);阻塞換出態(tài)—→就緒換出態(tài)引起進程等待的事件發(fā)生之后,相應(yīng)的阻塞換出態(tài)進程將轉(zhuǎn)換為就緒換出態(tài);阻塞換出態(tài)—→阻塞態(tài)當一個進程等待一個事件時,原則上時不需要把它調(diào)入SRAM的,但是當一個進程退出后,SRAM已經(jīng)有了一大塊自由空間,而某個阻塞換出態(tài)進程具有較高的優(yōu)先級并且操作系統(tǒng)已經(jīng)得知導(dǎo)致它阻塞的事件即將結(jié)束,此時便發(fā)生了這一狀態(tài)變化。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是(1)實時性。本發(fā)明充分利用了在嵌入式SRAM操作系統(tǒng)中,對于快速存儲器SRAM的運用,結(jié)合了其特點,在SRAM中進行進程的狀態(tài)轉(zhuǎn)換,有效提高了系統(tǒng)實時性。
(2)高效性。本發(fā)明的進程狀態(tài)定義提供了對于在SRAM和SDRAM之間進行換入換出的支持,有力的支持了嵌入式SRAM操作系統(tǒng)對于高效率的要求。


附圖是本發(fā)明的進程狀態(tài)轉(zhuǎn)換圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步的說明。
一種嵌入式SRAM操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法,其具體實施方法如下1)根據(jù)在嵌入式SRAM操作系統(tǒng)運行時,進程的狀態(tài)和所處的位置,由于進程大部分時間處于SRAM中運行,其定義不同的進程狀態(tài)為●創(chuàng)建態(tài)對應(yīng)于進程剛剛被創(chuàng)建和進入到SRAM中的狀態(tài);●運行態(tài)進程占有處理器正在運行;●就緒態(tài)進程位于SRAM中,具備運行條件,等待系統(tǒng)分配處理器以便運行;●阻塞態(tài)進程位于SRAM中,不具備運行條件,正在等待某個事件的完成;●就緒換出態(tài)和阻塞換出態(tài)由于SRAM空間不足,進程將被交換出SRAM,進入到SDRAM中去,暫時不參與進程調(diào)度;●退出態(tài)進程結(jié)束,退出SRAM,以后不再執(zhí)行。
進程控制不僅包括對進程創(chuàng)建過程的控制而且還包括對進程狀態(tài)切換的控制。另外,出于對操作系統(tǒng)某些關(guān)鍵數(shù)據(jù)如進程控制模塊等的保護,進程的執(zhí)行模式分為兩種,即擁有更高權(quán)限的內(nèi)核執(zhí)行模式和擁有較低權(quán)限的用戶執(zhí)行模式。從而進程控制就增加了對進程執(zhí)行模式切換的控制。
進程控制信息如下表所示


2)進程狀態(tài)轉(zhuǎn)換的具體方式,結(jié)合圖1,實施如下在嵌入式SRAM操作系統(tǒng)中,系統(tǒng)內(nèi)核位于SRAM中,系統(tǒng)對進程的管理是基于SRAM的,以下所有的進程狀態(tài),除換入和換出外,均位于SRAM中,而不是位于SDRAM中。
進程創(chuàng)建的原因可能是多方面的,比如說,有新的批處理任務(wù)移交給操作系統(tǒng)完成;有一個新的用戶登陸系統(tǒng);需要提供一項新的服務(wù);現(xiàn)有進程派生出來的子進程等等。但是一旦操作系統(tǒng)決定需要創(chuàng)建一個新進程,它需要完成一系列操作賦予新進程一個唯一的標識;給其進程映像分配足夠的存儲空間;初始化其進程控制塊;設(shè)置某些外部關(guān)系連接,比如說,出于調(diào)度的需要,該進程需要放入一個(準備)就緒的進程鏈表中,因此在它被創(chuàng)建時需要反映這些外部關(guān)系。
空NULL—→創(chuàng)建態(tài)執(zhí)行一個程序,創(chuàng)建一個子進程;創(chuàng)建態(tài)—→就緒態(tài)嵌入式SRAM操作系統(tǒng)完成了進程創(chuàng)建的必要操作,并且當前系統(tǒng)的性能和SRAM的容量均允許,提交到就緒態(tài)隊列;創(chuàng)建態(tài)—→就緒換出態(tài)考慮到系統(tǒng)當前資源狀況和性能要求,可以決定新建的進程將被置換到SDRAM上,成為就緒換出態(tài);就緒換出態(tài)—→就緒態(tài)當SRAM中沒有就緒態(tài)進程,或者就緒換出態(tài)進程具有比就緒態(tài)進程更高的優(yōu)先級,系統(tǒng)將把就緒換出態(tài)進程轉(zhuǎn)換成就緒態(tài);就緒態(tài)—→就緒換出態(tài)嵌入式SRAM操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把就緒態(tài)進程將被對換出去成為就緒換出態(tài);就緒態(tài)—→運行態(tài)嵌入式SRAM操作系統(tǒng)在就緒態(tài)進程隊列里面選中一個進程,在處理器中運行;運行態(tài)—→退出態(tài)當一個進程到達了自然結(jié)束點,或是出現(xiàn)了無法克服的錯誤,或是被操作系統(tǒng)所終結(jié),或是被其他有終止權(quán)的進程所終結(jié);運行態(tài)—→就緒換出態(tài)當一個具有較高優(yōu)先級的阻塞換出態(tài)進程的阻塞事件結(jié)束后,它需要搶占了中心處理器,,而此時SRAM空間有不夠,從而可能導(dǎo)致正在運行的進程轉(zhuǎn)化為就緒換出態(tài)。另外處于運行態(tài)的進程也可以自己掛起自己
退出態(tài)—→空NULL完成善后操作,退出執(zhí)行;就緒態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→阻塞換出態(tài)如果當前不存在就緒進程,那么至少有一個阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);阻塞換出態(tài)—→就緒換出態(tài)引起進程阻塞的事件發(fā)生之后,相應(yīng)的阻塞換出態(tài)進程將轉(zhuǎn)換為就緒換出態(tài);阻塞換出態(tài)—→阻塞態(tài)當一個進程等待一個事件時,原則上時不需要把它調(diào)入SRAM的,但是當一個進程退出后,SRAM已經(jīng)有了一大塊自由空間,而某個阻塞換出態(tài)進程具有較高的優(yōu)先級并且操作系統(tǒng)已經(jīng)得知導(dǎo)致它阻塞的事件即將結(jié)束,此時便發(fā)生了這一狀態(tài)變化。
進程狀態(tài)的切換需要操作系統(tǒng)對要切換狀態(tài)的進程順序完成以下動作I、保存處理器上下文,這其中包括它的程序計數(shù)器和其它寄存器的內(nèi)容;II、刷新其進程控制塊的相關(guān)內(nèi)容,這其中包括進程狀態(tài)信息,也有其它一些相關(guān)信息比如狀態(tài)切換的原因等等;III、將該進程的進程控制塊轉(zhuǎn)移到相應(yīng)的新的隊列中;IV、如果有必要,比如,當該進程處于運行態(tài)時,操作系統(tǒng)需要根據(jù)某個算法,選擇下一個進程來取代該進程。
權(quán)利要求
1.一種嵌入式SRAM操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法,其特征在于1)根據(jù)在嵌入式SRAM操作系統(tǒng)運行時,進程的狀態(tài)和所處的位置,由于進程大部分時間處于SRAM中運行,其定義不同的進程狀態(tài)為●創(chuàng)建態(tài)對應(yīng)于進程剛剛被創(chuàng)建和進入到SRAM中的狀態(tài);●運行態(tài)進程占有處理器正在運行;●就緒態(tài)進程位于SRAM中,具備運行條件,等待系統(tǒng)分配處理器以便運行;●阻塞態(tài)進程位于SRAM中,不具備運行條件,正在等待某個事件的完成;●就緒換出態(tài)和阻塞換出態(tài)由于SRAM空間不足,進程將被交換出SRAM,進入到SDRAM中去,暫時不參與進程調(diào)度;●退出態(tài)進程結(jié)束,退出SRAM,以后不再執(zhí)行。2)進程狀態(tài)轉(zhuǎn)換的具體方式如下在嵌入式SRAM操作系統(tǒng)中,系統(tǒng)內(nèi)核位于SRAM中,系統(tǒng)對進程的管理是基于SRAM的,以下所有的進程狀態(tài),除換入和換出外,均位于SRAM中,而不是位于SDRAM中??誑ULL—→創(chuàng)建態(tài)執(zhí)行一個程序,創(chuàng)建一個子進程;創(chuàng)建態(tài)—→就緒態(tài)嵌入式SRAM操作系統(tǒng)完成了進程創(chuàng)建的必要操作,并且當前系統(tǒng)的性能和SRAM的容量均允許,提交到就緒態(tài)隊列;創(chuàng)建態(tài)—→就緒換出態(tài)考慮到系統(tǒng)當前資源狀況和性能要求,可以決定新建的進程將被置換到SDRAM上,成為就緒換出態(tài);就緒換出態(tài)—→就緒態(tài)當SRAM中沒有就緒態(tài)進程,或者就緒換出態(tài)進程具有比就緒態(tài)進程更高的優(yōu)先級,系統(tǒng)將把就緒換出態(tài)進程轉(zhuǎn)換成就緒態(tài);就緒態(tài)—→就緒換出態(tài)嵌入式SRAM操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把就緒態(tài)進程將被對換出去成為就緒換出態(tài);就緒態(tài)—→運行態(tài)嵌入式SRAM操作系統(tǒng)在就緒態(tài)進程隊列里面選中一個進程,在處理器中運行;運行態(tài)—→退出態(tài)當一個進程到達了自然結(jié)束點,或是出現(xiàn)了無法克服的錯誤,或是被操作系統(tǒng)所終結(jié),或是被其他有終止權(quán)的進程所終結(jié);運行態(tài)—→就緒換出態(tài)當一個具有較高優(yōu)先級的阻塞換出態(tài)進程的等待事件結(jié)束后,它需要搶占了中心處理器,,而此時SRAM空間有不夠,從而可能導(dǎo)致正在運行的進程轉(zhuǎn)化為就緒換出態(tài)。另外處于運行態(tài)的進程也可以自己掛起自己;退出態(tài)—→空NULL完成善后操作,退出執(zhí)行;就緒態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→退出態(tài)嵌入式SRAM操作系統(tǒng)允許父進程終結(jié)子進程;阻塞態(tài)—→阻塞換出態(tài)如果當前不存在就緒進程,那么至少有一個阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);操作系統(tǒng)根據(jù)當前資源狀況和性能要求,也可以決定把阻塞態(tài)進程將被對換出去成為阻塞換出態(tài);阻塞換出態(tài)—→就緒換出態(tài)引起進程等待的事件發(fā)生之后,相應(yīng)的阻塞換出態(tài)進程將轉(zhuǎn)換為就緒換出態(tài);阻塞換出態(tài)—→阻塞態(tài)當一個進程等待一個事件時,原則上時不需要把它調(diào)入SRAM的,但是當一個進程退出后,SRAM已經(jīng)有了一大塊自由空間,而某個阻塞換出態(tài)進程具有較高的優(yōu)先級并且操作系統(tǒng)已經(jīng)得知導(dǎo)致它阻塞的事件即將結(jié)束,此時便發(fā)生了這一狀態(tài)變化。
全文摘要
本發(fā)明公開了一種嵌入式SRAM操作系統(tǒng)進程實現(xiàn)和進程狀態(tài)轉(zhuǎn)換的方法。在嵌入式SRAM操作系統(tǒng)中,分成靜態(tài)隨機存儲器SRAM,Static RandomAccess Memory,和同步動態(tài)隨機存儲器SDRAM,Synchronous dynamic RandomAccess Memory兩個存儲層次,進程可以從SRAM中被換出到SDRAM中,定義原子化的七個不同的進程狀態(tài)創(chuàng)建態(tài)、運行態(tài)、就緒態(tài)、阻塞態(tài)、就緒換出、阻塞換出、退出態(tài),根據(jù)設(shè)定的進程狀態(tài)切換條件,嵌入式SRAM操作系統(tǒng)中的進程進行明確的狀態(tài)切換,以適應(yīng)運行時的環(huán)境。本發(fā)明的方法結(jié)合了嵌入式SRAM操作系統(tǒng)特點,為該系統(tǒng)提供了靈活的任務(wù)調(diào)度的基礎(chǔ)。
文檔編號G06F9/48GK1825287SQ200610050118
公開日2006年8月30日 申請日期2006年3月31日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者陳天洲, 胡威, 沙峰, 連毅 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1