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

嵌入式sram操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法

文檔序號:6556521閱讀:94來源:國知局
專利名稱:嵌入式sram操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法
技術領域
本發(fā)明涉及嵌入式系統(tǒng)進程調(diào)度領域,特別是涉及一種嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法。
背景技術
在計算機系統(tǒng)中,可能同時有數(shù)百個批處理作業(yè)存放在磁盤的作業(yè)隊列中,或者有數(shù)百個終端與主機相連接。如何從這些作業(yè)中挑選作業(yè)進入主存運行、如何在進程之間分配處理器時間,無疑是操作系統(tǒng)資源管理中的一個重要問題。這一涉及處理機分配的問題,稱之為處理機調(diào)度。
我們經(jīng)常遇到兩個或多個進程在邏輯上均可以運行的情況。當有多個進程就緒時,操作系統(tǒng)必須決定先運行哪一個。操作系統(tǒng)中作出這種決定的部分稱作調(diào)度程序(Scheduler)。
早期以磁帶上的卡片映像作為輸入的批處理系統(tǒng)時代的調(diào)度算法很簡單依次運行磁帶上的下一個作業(yè)。對于分時系統(tǒng),則調(diào)度算法要復雜一些即使在個人電腦上,也可能有若干用戶啟動的進程競爭CPU,更不要說還有后臺作業(yè),例如網(wǎng)絡或收發(fā)電子郵件的精靈進程。
一個好的處理機調(diào)度應當考慮很多方面,其中可能有公平確保每個進程獲得合理的CPU份額。
有效使CPU百分之百地忙碌。
響應時間使交互用戶的響應時間盡可能短。
周轉(zhuǎn)時間使批處理用戶等待輸出的時間盡可能短。
吞吐量使每小時處理的作業(yè)數(shù)最多。
對這些目標稍加思考便會發(fā)現(xiàn)其中有矛盾之處??梢宰C明任何一個偏向某些類型作業(yè)的調(diào)度算法必將損害另一些作業(yè)。畢竟可利用的CPU時間是有限的。
調(diào)度程序必須面對的另一個麻煩是每個進程都不一樣,而且不可預測。有些進程花費很多時間等待I/O,而另一些進程在允許的條件下將連續(xù)使用CPU達幾個小時。為了保證不讓進程運行得太久,幾乎所有的計算機都內(nèi)置一個電子定時器或時鐘,它將定期地發(fā)出中斷。在許多計算機上,操作系統(tǒng)能夠根據(jù)需要將時鐘頻率設置成任意值。每發(fā)生一次時鐘中斷,操作系統(tǒng)都將運行,并決定當前進程是否應繼續(xù)運行,還是它已經(jīng)占用了足夠長的CPU時間,應該暫停讓其他進程運行。
允許將邏輯上可運行的進程暫時掛起的策略稱作可剝奪調(diào)度(PreemptiveScheduling)。運行直到結(jié)束的調(diào)度方式稱作非剝奪調(diào)度(NonpreemptiveScheduling)。進程可在任意時刻被不加警告地掛起,以便讓另一個進程運行。這導致了競爭條件以及防止競爭條件的信號量、管程、消息或其他復雜的方法。另一方面,允許一個進程運行它所希望的時間意味著一個計算圓周率小數(shù)點后邊十億位的進程將使其他進程永遠得不到服務。
所以盡管非剝奪調(diào)度簡單且易于實現(xiàn),但它通常不適于具有多個競爭用戶的通用系統(tǒng)。另一方面,對于專用系統(tǒng),如一個數(shù)據(jù)庫服務器,主進程在收到請求時啟動一個子進程并讓其運行直到結(jié)束或阻塞則是很合理的。
因此通常對于不同的任務進程,會采用不同的調(diào)度方法。作為嵌入式SRAM操作系統(tǒng),其特點是操作系統(tǒng)位于SRAM中,由于SRAM其物理特性與通常的操作系統(tǒng)所處得SDRAM和其他存儲器有較大差別,因此也需要采用建立在SRAM基礎的調(diào)度方法。
比較各種介質(zhì)memory的通常性能參數(shù),得到各種Memeory對比性能如表

分析上表數(shù)據(jù),SDRAM功耗遠比SRAM和flash的功耗高,所以常規(guī)嵌入式操作系統(tǒng)實際上是使用功耗很大的SDRAM作為嵌入式系統(tǒng)的唯一主存。我們發(fā)現(xiàn)若能讓內(nèi)核代碼在SRAM或者支持XIP的flash作為指令內(nèi)存,那么將大大提高系統(tǒng)的速度,降低系統(tǒng)的功耗。
相比基于目前常見的桌面計算機硬件配置和普通桌面操作系統(tǒng)的情況下,嵌入式SRAM操作系統(tǒng)是基于移動終端設備的嵌入式SRAM存儲器的一種特別應用(具體性能對比請參見上表),嵌入式SRAM存儲器對操作運行的限制或其特殊性主要表現(xiàn)是在SRAM的情況下,其響應時間要遠比在SDRAM情況下快,由硬件支持的SRAM的操作與SDRAM的操作也并不一致,這樣,嵌入式SRAM操作系統(tǒng)的調(diào)度方式由于面臨不同的條件,必然要采用與通常的系統(tǒng)不同的實現(xiàn)方法。
由于目前在非嵌入式領域,其CPU運算速度足以滿足需要,但是嵌入式系統(tǒng)往往要求更高的響應速度。因此,僅有嵌入式系統(tǒng)的CPU具有SRAM可操作的特性,并且能夠在移動終端設備中得到了應用。本發(fā)明是立足于嵌入式移動設備的需要而為嵌入式SRAM操作系統(tǒng)實現(xiàn)了其進程調(diào)度方法。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法。
本發(fā)明解決其技術問題采用的技術方案如下嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法,包括以下步驟(1)記錄進程的狀態(tài)將被加入就緒隊列的進程信息錄入該進程的進程控制塊內(nèi),并裝載到SRAM中,由于SRAM的容量較小,如果SRAM的容量不足,則在進程控制塊中添加SRAM容量不足導致的進程狀態(tài)為掛起的信息;(2)時間比率計算跟蹤各個進程自創(chuàng)建以來已使用的CPU時間,計算實際獲得CPU時間和應獲得CPU時間之比;(3)進程選擇處理器讀取進程控制塊中記錄的進程信息,選擇實際獲得CPU時間和應獲得CPU時間之比低的進程,同時該進程必須是處于SRAM當中;如果比率相同,則根據(jù)進程控制塊中記錄的到達次序,選擇首先到達的服務;(4)處理器分配將被選中的進程信息送入處理器相應的寄存器中,使其占用處理器運行;(5)收回處理器將處理器有關寄存器內(nèi)容送入該進程的進程控制塊內(nèi)相應單元,寫入到進程控制塊在SRAM中的位置,并將此次進程執(zhí)行時間與進程控制塊內(nèi)執(zhí)行時間單元的內(nèi)容相加,計算新的執(zhí)行時間后寫入執(zhí)行時間單元,如果執(zhí)行時間達到了處理器允許的時間長度,從而使該進程讓出處理器,進程位于SRAM中的進程控制塊的狀態(tài)被改寫。
作為本發(fā)明的一種改進,所述錄入進程控制塊內(nèi)的進程信息包括標識信息,用于唯一地標識一個進程;現(xiàn)場信息,用于保留進程在運行時存放在處理器現(xiàn)場中的各種信息,和控制信息,用于管理和調(diào)度一個進程。
本發(fā)明的有益的效果是該方法對處于操作系統(tǒng)中的進程公平,并向用戶做出明確的性能保證,同時該方法有效利用當進程位于SRAM中時,當進程對于CPU的使用率較高時,SRAM對于進程調(diào)度響應速度快的特點。本發(fā)明的方法可以防止那些很少使用外圍設備的進程過長的占用處理器而使得要使用外圍設備的那些進程沒有機會去啟動外圍設備。


圖1是本發(fā)明過程的示意圖;圖2是進程控制塊的示意圖;圖3是進程狀態(tài)隊列的示意圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步的說明。
一種嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法,附圖1是本發(fā)明實施過程的整體示意圖,其具體實施方法如下1)記錄進程的狀態(tài)在進程被創(chuàng)建進入就緒態(tài),或者從其他狀態(tài)進入到就緒狀態(tài),它們會被加入到一個就緒隊列,對于每一個,記錄進程的狀態(tài),這個信息一般記錄在一個進程的進程控制塊內(nèi);每一個進程都有一個也只有一個SRAM進程控制塊Process Control Block,簡稱SPCB,是嵌入式SRAM操作系統(tǒng)用于記錄和刻劃進程狀態(tài)及有關信息的數(shù)據(jù)結(jié)構(gòu),也是操作系統(tǒng)掌握進程的唯一資料結(jié)構(gòu),它包括了進程執(zhí)行時的情況,以及進程讓出處理器后所處的狀態(tài)、斷點等信息。一般說,SPCB包含三類信息標識信息,用于唯一地標識一個進程,常常分由用戶使用的外部標識符和被系統(tǒng)使用的內(nèi)部標識號,幾乎所有操作系統(tǒng)中進程都被賦予一個唯一的、內(nèi)部使用的數(shù)值型的進程號,操作系統(tǒng)的其他控制表可以通過進程號來交叉引用進程控制表。常用的標識信息包括進程標識符、父進程的標識符、用戶進程名等;現(xiàn)場信息,用于保留一個進程在運行時存放在處理器現(xiàn)場中的各種信息,任何一個進程在讓出處理器時必須把此時的處理器現(xiàn)場信息保存到進程控制塊中,而當該進程重新恢復運行時也應恢復處理器現(xiàn)場,常用的現(xiàn)場信息包括通用寄存器的內(nèi)容、控制寄存器(如PSW寄存器)的內(nèi)容、用戶堆棧指針、系統(tǒng)堆棧指針等;控制信息,用于管理和調(diào)度一個進程。常用的控制信息包括進程的調(diào)度相關信息,如狀態(tài)、等待事件或等待原因、優(yōu)先級、采用的進程調(diào)度算法、隊列指引元等;進程間通信相關信息,如消息隊列指針、信號量;進程在二級存儲器內(nèi)的地址;資源的占用和使用信息,如已進程占用CPU的時間、進程已執(zhí)行的時間總和;進程特權(quán)信息,如在內(nèi)存訪問和處理器狀態(tài)方面的特權(quán)。資源清單,包括進程所需全部資源、已經(jīng)分得的資源;此外,對于針對SRAM容量較小的特點,位于SRAM中的進程必然不能過多,因此,需要在進程的SPCB中記錄下當前SRAM的容量,掛起原因,尤其是由于SRAM容量不足導致的某些進程被掛起或者是換出SRAM進入SDRAM;SPCB是嵌入式SRAM操作系統(tǒng)中最為重要的數(shù)據(jù)結(jié)構(gòu),每個SPCB包含了操作系統(tǒng)管理所需的所有進程信息,SPCB的集合事實上定義了一個操作系統(tǒng)的當前狀態(tài),進程控制塊使用或修改權(quán)僅屬于操作系統(tǒng)程序,包括調(diào)度程序、資源分配程序、中斷處理程序、性能監(jiān)視和分析程序等,有了SPCB位于SRAM中的進程才能被調(diào)度執(zhí)行,如圖2。
2)時間比率計算為了實現(xiàn)所作的保證,系統(tǒng)跟蹤各個進程自創(chuàng)建以來已經(jīng)使用了多少CPU時間,然后它計算各個進程應獲得的CPU時間,即自創(chuàng)建以來的時間除以已登錄的總進程數(shù)n(一個用戶可能有多個進程)。由于各個進程實際獲得的CPU時間已知,所以很容易計算出實際獲得的CPU時間和應獲得的CPU時間之比;由此可以提供性能保證,如有n個進程的登錄,則將獲得CPU處理能力的1/n。類似的,如果在一個有n個進程運行的用戶系統(tǒng)中,每個進程將獲得CPU處理能力的1/n,從而對于每個進程,保證其必然能夠得到對應的處理器時間。
3)進程選擇對于每個進入到就緒隊列的進程,它的SPCB中都記錄了該進程的詳細信息,處理器在調(diào)度之前,讀取進程SPCB中記錄的進程信息,對于實際獲得的CPU時間和應獲得的CPU時間之比比率低的進程,將被選擇出來;如果比率相同,讀取進程SPCB中記錄的進程到達次序的條目,從而判斷出進程到達的次序,選擇首先到達的服務;同時,由于在嵌入式SRAM操作系統(tǒng)中,進程是在SRAM中進行調(diào)度,因此需要判斷SPCB中,該進程是否位于SPCB中,如果位于SPCB中才能夠被選中。
一般說來,處于同一狀態(tài),例如就緒態(tài)的所有進程控制塊是連接在一起的,這樣的數(shù)據(jù)結(jié)構(gòu)稱為進程隊列,簡稱隊列,對于等待態(tài)的進程隊列可以進一步細分,每一個進程按等待的原因進入相應的隊列;當發(fā)生的某個事件使一個進程的狀態(tài)發(fā)生變化時,這個進程就要退出所在的某個隊列而排入到另一個隊列中去;一個進程從一個所在的隊列中退出的上作稱為出隊,相反,一個進程排入到一個指定的隊列中的工作稱為入隊;處理器調(diào)度中負責入隊和出隊工作的功能模塊稱為隊列管理模塊,簡稱隊列管理,如圖3。
4)處理器分配把選中進程的進程控制塊內(nèi)有關現(xiàn)場的信息,送入處理器相應的寄存器中,從而讓它占用處理器運行;
5)收回處理器將處理器有關寄存器內(nèi)容送入該進程的進程控制塊內(nèi)的相應單元,并且將此次進程執(zhí)行的時間與該進程的進程控制塊內(nèi)的執(zhí)行時間單元的內(nèi)容相加,計算出新的執(zhí)行之間,并寫入到該進程的進程控制塊內(nèi)的執(zhí)行時間單元從而使該進程讓出處理器,如果執(zhí)行時間達到了處理器允許的時間長度,從而使該進程讓出處理器。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的具體實施例子。顯然,本發(fā)明不限于以上實施例子,還可以有許多變形。本領域的普通技術人員能從本發(fā)明公開的內(nèi)容直接導出或聯(lián)想到的所有變形,均應認為是本發(fā)明的保護范圍。
權(quán)利要求
1.一種嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法,包括以下步驟(1)記錄進程的狀態(tài)將被加入就緒隊列的進程信息錄入該進程的進程控制塊內(nèi),并裝載到SRAM中,由于SRAM的容量較小,如果SRAM的容量不足,則在進程控制塊中添加SRAM容量不足導致的進程狀態(tài)為掛起的信息;(2)時間比率計算跟蹤各個進程自創(chuàng)建以來已使用的CPU時間,計算實際獲得CPU時間和應獲得CPU時間之比;(3)進程選擇處理器讀取進程控制塊中記錄的進程信息,選擇實際獲得CPU時間和應獲得CPU時間之比低的進程,同時該進程必須是處于SRAM當中;如果比率相同,則根據(jù)進程控制塊中記錄的到達次序,選擇首先到達的服務;(4)處理器分配將被選中的進程信息送入處理器相應的寄存器中,使其占用處理器運行;(5)收回處理器將處理器有關寄存器內(nèi)容送入該進程的進程控制塊內(nèi)相應單元,寫入到進程控制塊在SRAM中的位置,并將此次進程執(zhí)行時間與進程控制塊內(nèi)執(zhí)行時間單元的內(nèi)容相加,計算新的執(zhí)行時間后寫入執(zhí)行時間單元,如果執(zhí)行時間達到了處理器允許的時間長度,從而使該進程讓出處理器,進程位于SRAM中的進程控制塊的狀態(tài)被改寫。
2.根據(jù)權(quán)利要求1所述的嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法,其特征在于,所述錄入進程控制塊內(nèi)的進程信息包括標識信息,用于唯一地標識一個進程;現(xiàn)場信息,用于保留進程在運行時存放在處理器現(xiàn)場中的各種信息,和控制信息,用于管理和調(diào)度一個進程。
全文摘要
本發(fā)明涉及嵌入式系統(tǒng)進程調(diào)度領域,旨在提供一種嵌入式SRAM操作系統(tǒng)進程帶性能保證調(diào)度的實現(xiàn)方法。該方法包括記錄進程的狀態(tài)、時間比率計算、進程選擇、處理器分配和收回處理器的步驟。該方法對處于操作系統(tǒng)中的進程公平,并向用戶做出明確的性能保證,同時該方法有效利用當進程位于SRAM中時,當進程對于CPU的使用率較高時,SRAM對于進程調(diào)度響應速度快的特點。本發(fā)明的方法可以防止那些很少使用外圍設備的進程過長的占用處理器而使得要使用外圍設備的那些進程沒有機會去啟動外圍設備。
文檔編號G06F9/46GK1851653SQ20061005088
公開日2006年10月25日 申請日期2006年5月23日 優(yōu)先權(quán)日2006年5月23日
發(fā)明者陳天洲, 謝斌, 胡威, 趙懿 申請人:浙江大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1