欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法

文檔序號:6556457閱讀:217來源:國知局
專利名稱:Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及Java操作系統(tǒng),尤其是涉及一種Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法。
背景技術(shù)
實(shí)時(shí)操作系統(tǒng)RTOS(REAL-TIME OPERATING SYSTEM)是操作系統(tǒng)的一個(gè)重要分支。它應(yīng)屬于操作系統(tǒng)的研究范疇。實(shí)時(shí)操作系統(tǒng)與通用操作系統(tǒng)有共同的一面,但在功能、性能、安全保密及環(huán)境適應(yīng)能力等方面,還有其獨(dú)特的一面。
實(shí)時(shí)操作系統(tǒng)是指具有實(shí)時(shí)特性,能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng),它可將系統(tǒng)中的各種設(shè)備有機(jī)地聯(lián)系在一起并控制它們完成既定的任務(wù)。
實(shí)時(shí)操作系統(tǒng)的首要任務(wù)是利用一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率。
實(shí)時(shí)操作系統(tǒng)的一個(gè)重要特點(diǎn)就是要滿足對時(shí)間的限制和要求。在實(shí)時(shí)系統(tǒng)中,時(shí)間就是生命,這與通用操作系統(tǒng)有顯著的差別。
除個(gè)別系統(tǒng)外,實(shí)時(shí)操作系統(tǒng)都就是多道程序的操作系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法。
本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下一種支持Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法1)Java操作系統(tǒng)中實(shí)時(shí)任務(wù)的定義,即一個(gè)作業(yè)中可以并行執(zhí)行的程序段,而這些程序段一般具有實(shí)時(shí)特性,通過如下的結(jié)構(gòu)定義I、標(biāo)識號,用來標(biāo)識任務(wù),起到任務(wù)名的作用。它的取值范圍為0~255,兩個(gè)任務(wù)不能有相同的非零標(biāo)識號,但唯獨(dú)標(biāo)識號為零的任務(wù)可以有多個(gè);II、實(shí)時(shí)任務(wù)的狀態(tài),包括(1)運(yùn)行狀態(tài)任務(wù)獲得處理機(jī),正在運(yùn)行;(2)就緒狀態(tài)只要獲得處理機(jī),任務(wù)即可運(yùn)行;(3)掛起狀態(tài)由于某種原因,任務(wù)即使得到處理機(jī)也無法繼續(xù)執(zhí)行,只有待此種原因撤銷后,任務(wù)才有獲得處理機(jī)的權(quán)利;(4)潛伏狀態(tài)任務(wù)建立之前和撤銷以后的狀態(tài);
III、實(shí)時(shí)任務(wù)的優(yōu)先級,就緒任務(wù)取得處理機(jī)的先后次序是由任務(wù)的優(yōu)先級來規(guī)定的,任務(wù)的優(yōu)先級反映了它想獲得其執(zhí)行結(jié)果的急切程度。任務(wù)調(diào)度程序總是挑選優(yōu)先級最高的任務(wù)運(yùn)行,任務(wù)優(yōu)先級范圍為0~255,其中0優(yōu)先級為最高,不同任務(wù)可以有相同的優(yōu)先級;IV、任務(wù)控制塊,即任務(wù)的所有外部特性信息集中在一起,便稱為任務(wù)控制塊TCB,Task Control Block,依據(jù)描寫任務(wù)外部特性的信息,任務(wù)系統(tǒng)實(shí)現(xiàn)對任務(wù)的控制和管理;任務(wù)控制塊是表征任務(wù)存在的唯一實(shí)體。當(dāng)任務(wù)系統(tǒng)收回了任務(wù)的任務(wù)控制塊后,任務(wù)就被撤銷了,當(dāng)建立一個(gè)新任務(wù)時(shí),任務(wù)系統(tǒng)為它分配一個(gè)空的任務(wù)控制塊,并填入此任務(wù)有關(guān)的外部特性信息,如啟動地址、任務(wù)標(biāo)識號、優(yōu)先級等,這時(shí)任務(wù)便存在于系統(tǒng)之中;同樣,任務(wù)系統(tǒng)對于各個(gè)任務(wù)進(jìn)行調(diào)度、控制和管理,也都是根據(jù)每個(gè)任務(wù)的任務(wù)控制塊進(jìn)行的;V、任務(wù)控制塊隊(duì)列,用戶作業(yè)內(nèi)的任務(wù)數(shù)由用戶指定,系統(tǒng)裝配程序根據(jù)任務(wù)數(shù)來分配任務(wù)控制塊空間;系統(tǒng)將處地就緒、運(yùn)行和掛起狀態(tài)的所有任務(wù)的任務(wù)控制塊借助于任務(wù)控制塊中的連接字串成一個(gè)鏈,稱為就緒隊(duì)列或活動鏈。該隊(duì)列的首地址一般存于用戶作業(yè)的作業(yè)控制表中;2)實(shí)時(shí)任務(wù)的調(diào)度方法Java操作系統(tǒng)中對實(shí)時(shí)任務(wù)進(jìn)行調(diào)度可以保證各任務(wù)都能按其要求執(zhí)行,充分發(fā)揮全部資源的系統(tǒng)效率,即利用系統(tǒng)的現(xiàn)有配置,使其資源的利用率盡量提高。系統(tǒng)資源不僅包括計(jì)算機(jī)系統(tǒng)的系統(tǒng)資源,還包括實(shí)時(shí)控制系統(tǒng)的其他設(shè)備和資源等;Java操作系統(tǒng)中使用了多任務(wù)調(diào)度方法,在發(fā)生下列事件時(shí),多任務(wù)調(diào)度程序掃視就緒隊(duì)列,挑選一個(gè)任務(wù)投入運(yùn)行(1)任何一個(gè)任務(wù)的狀態(tài)發(fā)生變化;(2)任務(wù)優(yōu)先級發(fā)生變化;(3)操作系統(tǒng)又將中央處理機(jī)控制權(quán)交給任務(wù)調(diào)度程序;Java操作系統(tǒng)中采用最高優(yōu)先級第一的調(diào)度方法。任務(wù)調(diào)度程序從就緒隊(duì)列鏈?zhǔn)组_始掃視,選擇就緒任務(wù)中優(yōu)先級最高的任務(wù)投入運(yùn)行,由于就緒隊(duì)列中任務(wù)控制塊是按優(yōu)先級高低順序排列的,因此被掃視的第一個(gè)就緒任務(wù)必定有最高的優(yōu)先級。為了使相同優(yōu)先級的就緒任務(wù)有輪流得到處理機(jī)控制權(quán)的機(jī)會,多任務(wù)系統(tǒng)對它們采取了循環(huán)調(diào)度的策略,即將選中投入運(yùn)行任務(wù)的任務(wù)控制塊從就緒隊(duì)列上原來位置移到同一優(yōu)先級任務(wù)控制塊的最末尾。這樣,當(dāng)任務(wù)調(diào)度程序下次掃視就緒隊(duì)列時(shí),此任務(wù)的任務(wù)控制塊已成為同優(yōu)先級任務(wù)任務(wù)控制塊中的最后一個(gè),從而也最后得到處理機(jī);Java操作系統(tǒng)中在封鎖中斷狀態(tài)下工作,就緒隊(duì)列上任務(wù)控制塊是程序的操作對象,各控制塊中信息不允許在調(diào)度進(jìn)行過程中發(fā)生變化,故進(jìn)入程序立即封鎖中斷,以保證多任務(wù)調(diào)度程序執(zhí)行過程中不會被打斷;然后依次掃描就緒隊(duì)列上各任務(wù)控制塊,若發(fā)現(xiàn)處于就緒狀態(tài)的任務(wù),根據(jù)同優(yōu)先級任務(wù)循環(huán)調(diào)度原則,選出當(dāng)前的活動任務(wù)控制塊,調(diào)度程序負(fù)責(zé)恢復(fù)投入運(yùn)行任務(wù)的現(xiàn)場,這包括有關(guān)狀態(tài)字、指令計(jì)數(shù)器和各寄存器內(nèi)容。
本發(fā)明具有的有益效果是1)系統(tǒng)的正確性系統(tǒng)的正確性是系統(tǒng)存在的基礎(chǔ),是Java操作系統(tǒng)中首要的和必須保證的。
2)系統(tǒng)的實(shí)時(shí)性系統(tǒng)的實(shí)時(shí)性是由系統(tǒng)響應(yīng)時(shí)間的長短來標(biāo)志的。系統(tǒng)響應(yīng)時(shí)間應(yīng)該有一個(gè)上限,即系統(tǒng)的每次響應(yīng)時(shí)間都不會超過該數(shù)值。
Java操作系統(tǒng)中能保證在規(guī)定的響應(yīng)時(shí)間內(nèi)響應(yīng)并處理異步事件的請求。
3)高度的可靠性Java操作系統(tǒng)中可靠性包括兩個(gè)方面的內(nèi)容一是在正常情況下系統(tǒng)正確地連續(xù)工作媽連續(xù)性;二是在異常情況下系統(tǒng)能及時(shí)正確處置,保證完成任務(wù)或最重要的任務(wù),即系統(tǒng)的可保護(hù)性。
4)系統(tǒng)的安全性Java操作系統(tǒng)本身有防護(hù)信息泄露和防止信息破壞的能力。通過備份和后援存儲的方法實(shí)現(xiàn)。
5)任務(wù)處理的隨機(jī)性Java操作系統(tǒng)有及時(shí)處理隨機(jī)事件的能力。在任一時(shí)刻,系統(tǒng)都不應(yīng)丟失信息和降低實(shí)時(shí)性。
6)輸入/輸出的復(fù)雜性在實(shí)時(shí)控制系統(tǒng)中,輸入/輸出設(shè)備數(shù)量可能較多,類型各異,因而相應(yīng)的Java操作系統(tǒng)計(jì)算機(jī)通道和接口可能有同步型的、異步型的和通用或特殊型的,它們傳輸速度可從每秒幾個(gè)二進(jìn)位到每秒幾萬個(gè)二進(jìn)位數(shù),甚至更高。


附圖是實(shí)時(shí)任務(wù)的調(diào)度方法示意圖。
具體實(shí)施方法下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的說明。
一種支持Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法1)Java操作系統(tǒng)中實(shí)時(shí)任務(wù)的定義,即一個(gè)作業(yè)中可以并行執(zhí)行的程序段,而這些程序段一般具有實(shí)時(shí)特性,通過如下的結(jié)構(gòu)定義I、標(biāo)識號,用來標(biāo)識任務(wù),起到任務(wù)名的作用。它的取值范圍為0~255,兩個(gè)任務(wù)不能有相同的非零標(biāo)識號,但唯獨(dú)標(biāo)識號為零的任務(wù)可以有多個(gè)。
II、實(shí)時(shí)任務(wù)的狀態(tài),包括(1)運(yùn)行狀態(tài)任務(wù)獲得處理機(jī),正在運(yùn)行。
(2)就緒狀態(tài)只要獲得處理機(jī),任務(wù)即可運(yùn)行。
(3)掛起狀態(tài)由于某種原因,任務(wù)即使得到處理機(jī)也無法繼續(xù)執(zhí)行,只有待此種原因撤銷后,任務(wù)才有獲得處理機(jī)的權(quán)利。
(4)潛伏狀態(tài)任務(wù)建立之前和撤銷以后的狀態(tài)。
III、實(shí)時(shí)任務(wù)的優(yōu)先級,就緒任務(wù)取得處理機(jī)的先后次序是由任務(wù)的優(yōu)先級來規(guī)定的,任務(wù)的優(yōu)先級反映了它想獲得其執(zhí)行結(jié)果的急切程度。任務(wù)調(diào)度程序總是挑選優(yōu)先級最高的任務(wù)運(yùn)行。任務(wù)優(yōu)先級范圍為0~255,其中0優(yōu)先級為最高,不同任務(wù)可以有相同的優(yōu)先級。
IV、任務(wù)控制塊,即任務(wù)的所有外部特性信息集中在一起,便稱為任務(wù)控制塊TCB,Task Control Block。依據(jù)描寫任務(wù)外部特性的信息,任務(wù)系統(tǒng)實(shí)現(xiàn)對任務(wù)的控制和管理。
TCB是表征任務(wù)存在的唯一實(shí)體。當(dāng)任務(wù)系統(tǒng)收回了任務(wù)的TCB后,任務(wù)就被撤銷了,當(dāng)建立一個(gè)新任務(wù)時(shí),任務(wù)系統(tǒng)為它分配一個(gè)空的TCB,并填入此任務(wù)有關(guān)的外部特性信息,如啟動地址、任務(wù)標(biāo)識號、優(yōu)先級等,這時(shí)任務(wù)便存在于系統(tǒng)之中。同樣,任務(wù)系統(tǒng)對于各個(gè)任務(wù)進(jìn)行調(diào)度、控制和管理,也都是根據(jù)每個(gè)任務(wù)的任務(wù)控制塊進(jìn)行的。總之,任務(wù)控制塊是任務(wù)的標(biāo)志,任務(wù)系統(tǒng)根據(jù)任務(wù)控制塊而感知任務(wù)的存在,各種任務(wù)調(diào)用命令的操作對象就是任務(wù)的任務(wù)控制塊。
任務(wù)控制塊TCB也是用戶任務(wù)與操作系統(tǒng)交換信息的通信區(qū)。當(dāng)用戶任務(wù)向系統(tǒng)申請系統(tǒng)資源,如內(nèi)存儲區(qū)、輸入輸出設(shè)備時(shí),需將有關(guān)申請請求的內(nèi)容填入任務(wù)控制塊TCB之中。然后再提交給系統(tǒng),而系統(tǒng)在完成用戶提出的某些申請或操作后,也是將有關(guān)返回信息送入任務(wù)的任務(wù)控制塊,而由任務(wù)從任務(wù)控制塊中獲取信息。
任務(wù)控制塊的主要內(nèi)容包括用戶任務(wù)的運(yùn)行現(xiàn)場信息,任務(wù)本身的外部特性信息和管理任務(wù)控制塊的有關(guān)信息三部分。其內(nèi)容如下表所示。

V、任務(wù)控制塊隊(duì)列,用戶作業(yè)內(nèi)的任務(wù)數(shù)由用戶指定,系統(tǒng)裝配程序根據(jù)任務(wù)數(shù)來分配任務(wù)控制塊空間。
系統(tǒng)將處地就緒、運(yùn)行和掛起狀態(tài)的所有任務(wù)的任務(wù)控制塊借助于任務(wù)控制塊中的連接字串成一個(gè)鏈,稱為就緒隊(duì)列或活動鏈。該隊(duì)列的首地址一般存于用戶作業(yè)的作業(yè)控制表中。
2)實(shí)時(shí)任務(wù)的調(diào)度方法,如

中的流程圖所示。
Java操作系統(tǒng)中對實(shí)時(shí)任務(wù)進(jìn)行調(diào)度可以保證各任務(wù)都能按其要求執(zhí)行,充分發(fā)揮全部資源的系統(tǒng)效率,即利用系統(tǒng)的現(xiàn)有配置,使其資源的利用率盡量提高。系統(tǒng)資源不僅包括計(jì)算機(jī)系統(tǒng)的系統(tǒng)資源,還包括實(shí)時(shí)控制系統(tǒng)的其他設(shè)備和資源等。
Java操作系統(tǒng)中使用了多任務(wù)調(diào)度方法,在發(fā)生下列事件時(shí),多任務(wù)調(diào)度程序掃視就緒隊(duì)列,挑選一個(gè)任務(wù)投入運(yùn)行(1)任何一個(gè)任務(wù)的狀態(tài)發(fā)生變化;(2)任務(wù)優(yōu)先級發(fā)生變化;(3)操作系統(tǒng)又將中央處理機(jī)控制權(quán)交給任務(wù)調(diào)度程序。
Java操作系統(tǒng)中采用最高優(yōu)先級第一的調(diào)度方法。任務(wù)調(diào)度程序從就緒隊(duì)列鏈?zhǔn)组_始掃視,選擇就緒任務(wù)中優(yōu)先級最高的任務(wù)投入運(yùn)行,由于就緒隊(duì)列中任務(wù)控制塊是按優(yōu)先級高低順序排列的,因此被掃視的第一個(gè)就緒任務(wù)必定有最高的優(yōu)先級。為了使相同優(yōu)先級的就緒任務(wù)有輪流得到處理機(jī)控制權(quán)的機(jī)會,多任務(wù)系統(tǒng)對它們采取了循環(huán)調(diào)度的策略,即將選中投入運(yùn)行任務(wù)的任務(wù)控制塊從就緒隊(duì)列上原來位置移到同一優(yōu)先級任務(wù)控制塊的最末尾。這樣,當(dāng)任務(wù)調(diào)度程序下次掃視就緒隊(duì)列時(shí),此任務(wù)的任務(wù)控制塊已成為同優(yōu)先級任務(wù)任務(wù)控制塊中的最后一個(gè),從而也最后得到處理機(jī)。
Java操作系統(tǒng)中在封鎖中斷狀態(tài)下工作,就緒隊(duì)列上任務(wù)控制塊是程序的操作對象,各控制塊中信息不允許在調(diào)度進(jìn)行過程中發(fā)生變化,故進(jìn)入程序立即封鎖中斷,以保證多任務(wù)調(diào)度程序執(zhí)行過程中不會被打斷。
然后依次掃描就緒隊(duì)列上各任務(wù)控制塊,若發(fā)現(xiàn)處于就緒狀態(tài)的任務(wù),根據(jù)同優(yōu)先級任務(wù)循環(huán)調(diào)度原則,選出當(dāng)前的活動任務(wù)控制塊,調(diào)度程序負(fù)責(zé)恢復(fù)投入運(yùn)行任務(wù)的現(xiàn)場,這包括有關(guān)狀態(tài)字、指令計(jì)數(shù)器和各寄存器內(nèi)容。
Java操作系統(tǒng)中,實(shí)時(shí)任務(wù)命令根據(jù)對象的不同分為任務(wù)調(diào)用命令和系統(tǒng)調(diào)用命令。
任務(wù)調(diào)用命令是為用戶編制實(shí)時(shí)多任務(wù)操作系統(tǒng)所提供的各種命令。它是以命令字及參數(shù)的形式給出的。
任務(wù)調(diào)用命令概括地說分為五類;改變?nèi)蝿?wù)狀態(tài)命令、任務(wù)間信息通信命令、用戶實(shí)時(shí)鐘和系統(tǒng)實(shí)時(shí)鐘命令、定時(shí)任務(wù)命令和實(shí)時(shí)設(shè)備命令。
I、改變?nèi)蝿?wù)狀態(tài)命令改變?nèi)蝿?wù)狀態(tài)命令分為任務(wù)的建立命令、任務(wù)的撤銷命令、改變?nèi)蝿?wù)優(yōu)先級命令、掛起命令、任務(wù)的解掛命令、延遲命令等幾類。
任務(wù)的建立命令(TASK)主要完成在多任務(wù)系統(tǒng)中建立一個(gè)新任務(wù),在整個(gè)用戶作業(yè)輸入到系統(tǒng)后,系統(tǒng)認(rèn)為只有一個(gè)任務(wù)(首任務(wù)),其他任務(wù)必須通過首任務(wù)建立新的任務(wù)。通過任務(wù)建立命令時(shí),可建立一個(gè)實(shí)時(shí)多任務(wù)系統(tǒng)。
撤銷任務(wù)命令(KILL)就是把使用KILL的任務(wù)變?yōu)闈摲鼱顟B(tài)。KILL是撤銷當(dāng)前的任務(wù)。AKILL是撤銷當(dāng)前任務(wù)及撤銷參數(shù)所指定的優(yōu)先級。
改變?nèi)蝿?wù)的優(yōu)先級(PRI)即動態(tài)更改任務(wù)優(yōu)先級。
任務(wù)的掛起命令(SUSP)強(qiáng)制性地通過掛起命令把用戶作業(yè)掛起,掛起后,永遠(yuǎn)不能成為就緒狀態(tài),不能運(yùn)行。在實(shí)時(shí)系統(tǒng)中用戶作業(yè)可以自行掛起。
任務(wù)的解掛命令(ARIDY)解掛已掛起的命令使之變?yōu)榫途w狀態(tài)。參數(shù)中要給出優(yōu)先級。
任務(wù)延遲命令(DELAY)將當(dāng)前執(zhí)行的任務(wù)推遲一定的時(shí)間以后再變?yōu)轭A(yù)備狀態(tài)。
II、任務(wù)間信息通信的命令用戶任務(wù)之間信息通信的命令主要完成兩個(gè)任務(wù)信息的通信,并可實(shí)現(xiàn)任務(wù)之間的同步。
其中包括以下幾類傳送信息命令(XMT)當(dāng)前正在執(zhí)行的任務(wù)把一個(gè)非0的信息字插入指令的內(nèi)存地址中。發(fā)出傳送命令信息字的任務(wù)變?yōu)榫途w狀態(tài)。XMT必須與REC配合用。
接收信息命令(REC)將其它的任務(wù)傳送到指定地址的內(nèi)容取出,同時(shí)將其內(nèi)容清0。在接收信息時(shí),首先看發(fā)送信息地址內(nèi)容是否為0,若不為0,取走,REC變?yōu)榫途w狀態(tài);若為0,則把REC任務(wù)掛起等待。當(dāng)發(fā)傳送命令時(shí),看是否等待,有則解掛,使REC變?yōu)榫途w狀態(tài)。
同步傳送信息命令(XMTW)完成信息傳送狀態(tài)后,不是變?yōu)榫途w狀態(tài),而是變?yōu)閽炱鸬却隣顟B(tài),REC需檢查XMTW是否掛起,若掛起,使之變?yōu)榫途w狀態(tài)。所謂同步狀態(tài),指同時(shí)處于就緒狀態(tài)而被處理機(jī)調(diào)度。
III、用戶實(shí)時(shí)鐘和系統(tǒng)實(shí)時(shí)鐘命令用戶實(shí)時(shí)鐘受系統(tǒng)實(shí)時(shí)鐘驅(qū)動時(shí)鐘,可按用戶指定間隔提供中斷。用戶鐘中斷處理程序是由用戶作業(yè)自己編制的。
系統(tǒng)實(shí)時(shí)鐘指計(jì)算機(jī)內(nèi)部硬件的時(shí)鐘,每一周期中斷一次。
用戶實(shí)時(shí)鐘和系統(tǒng)實(shí)時(shí)鐘命令包括定義用戶實(shí)時(shí)鐘命令(DUCLK)、取消用戶實(shí)時(shí)命令(RUCLK)、檢測實(shí)時(shí)鐘頻率(GRHZ)。
IV、定時(shí)任務(wù)命令(QTSK)就是使一個(gè)任務(wù)按用戶的要求,按一定周期建立任務(wù)并重復(fù)執(zhí)行該任務(wù)。
其參數(shù)要給出定時(shí)要求任務(wù)本身的信息任務(wù)的標(biāo)識號、任務(wù)優(yōu)先級、任務(wù)起始地址等。
定時(shí)信息執(zhí)行任務(wù)次數(shù),第一次執(zhí)行的時(shí)間、間隔時(shí)間。
V、實(shí)時(shí)設(shè)備命令實(shí)時(shí)設(shè)備命令就是實(shí)現(xiàn)對實(shí)時(shí)設(shè)備的管理為用戶提供的接口命令。例如登陸用戶設(shè)備(IDEF)、刪除用戶設(shè)備(IRMV)。
本Java操作系統(tǒng)軟件已經(jīng)向中華人民共和國版權(quán)局申請計(jì)算機(jī)軟件著作權(quán)登記。
權(quán)利要求
1.一種支持Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法,其特征在于1)Java操作系統(tǒng)中實(shí)時(shí)任務(wù)的定義,即一個(gè)作業(yè)中可以并行執(zhí)行的程序段,而這些程序段一般具有實(shí)時(shí)特性,通過如下的結(jié)構(gòu)定義I、標(biāo)識號,用來標(biāo)識任務(wù),起到任務(wù)名的作用。它的取值范圍為0~255,兩個(gè)任務(wù)不能有相同的非零標(biāo)識號,但唯獨(dú)標(biāo)識號為零的任務(wù)可以有多個(gè);II、實(shí)時(shí)任務(wù)的狀態(tài),包括(1)運(yùn)行狀態(tài)任務(wù)獲得處理機(jī),正在運(yùn)行;(2)就緒狀態(tài)只要獲得處理機(jī),任務(wù)即可運(yùn)行;(3)掛起狀態(tài)由于某種原因,任務(wù)即使得到處理機(jī)也無法繼續(xù)執(zhí)行,只有待此種原因撤銷后,任務(wù)才有獲得處理機(jī)的權(quán)利;(4)潛伏狀態(tài)任務(wù)建立之前和撤銷以后的狀態(tài);III、實(shí)時(shí)任務(wù)的優(yōu)先級,就緒任務(wù)取得處理機(jī)的先后次序是由任務(wù)的優(yōu)先級來規(guī)定的,任務(wù)的優(yōu)先級反映了它想獲得其執(zhí)行結(jié)果的急切程度。任務(wù)調(diào)度程序總是挑選優(yōu)先級最高的任務(wù)運(yùn)行。任務(wù)優(yōu)先級范圍為0~255,其中0優(yōu)先級為最高,不同任務(wù)可以有相同的優(yōu)先級;IV、任務(wù)控制塊,即任務(wù)的所有外部特性信息集中在一起,便稱為任務(wù)控制塊TCB,Task Control Block。依據(jù)描寫任務(wù)外部特性的信息,任務(wù)系統(tǒng)實(shí)現(xiàn)對任務(wù)的控制和管理;任務(wù)控制塊是表征任務(wù)存在的唯一實(shí)體。當(dāng)任務(wù)系統(tǒng)收回了任務(wù)的任務(wù)控制塊后,任務(wù)就被撤銷了,當(dāng)建立一個(gè)新任務(wù)時(shí),任務(wù)系統(tǒng)為它分配一個(gè)空的任務(wù)控制塊,并填入此任務(wù)有關(guān)的外部特性信息,如啟動地址、任務(wù)標(biāo)識號、優(yōu)先級等,這時(shí)任務(wù)便存在于系統(tǒng)之中。同樣,任務(wù)系統(tǒng)對于各個(gè)任務(wù)進(jìn)行調(diào)度、控制和管理,也都是根據(jù)每個(gè)任務(wù)的任務(wù)控制塊進(jìn)行的;V、任務(wù)控制塊隊(duì)列,用戶作業(yè)內(nèi)的任務(wù)數(shù)由用戶指定,系統(tǒng)裝配程序根據(jù)任務(wù)數(shù)來分配任務(wù)控制塊空間;系統(tǒng)將處地就緒、運(yùn)行和掛起狀態(tài)的所有任務(wù)的任務(wù)控制塊借助于任務(wù)控制塊中的連接字串成一個(gè)鏈,稱為就緒隊(duì)列或活動鏈。該隊(duì)列的首地址一般存于用戶作業(yè)的作業(yè)控制表中;2)實(shí)時(shí)任務(wù)的調(diào)度方法Java操作系統(tǒng)中對實(shí)時(shí)任務(wù)進(jìn)行調(diào)度可以保證各任務(wù)都能按其要求執(zhí)行,充分發(fā)揮全部資源的系統(tǒng)效率,即利用系統(tǒng)的現(xiàn)有配置,使其資源的利用率盡量提高。系統(tǒng)資源不僅包括計(jì)算機(jī)系統(tǒng)的系統(tǒng)資源,還包括實(shí)時(shí)控制系統(tǒng)的其他設(shè)備和資源;Java操作系統(tǒng)中使用了多任務(wù)調(diào)度方法,在發(fā)生下列事件時(shí),多任務(wù)調(diào)度程序掃視就緒隊(duì)列,挑選一個(gè)任務(wù)投入運(yùn)行(1)任何一個(gè)任務(wù)的狀態(tài)發(fā)生變化;(2)任務(wù)優(yōu)先級發(fā)生變化;(3)操作系統(tǒng)又將中央處理機(jī)控制權(quán)交給任務(wù)調(diào)度程序;Java操作系統(tǒng)中采用最高優(yōu)先級第一的調(diào)度方法。任務(wù)調(diào)度程序從就緒隊(duì)列鏈?zhǔn)组_始掃視,選擇就緒任務(wù)中優(yōu)先級最高的任務(wù)投入運(yùn)行,由于就緒隊(duì)列中任務(wù)控制塊是按優(yōu)先級高低順序排列的,因此被掃視的第一個(gè)就緒任務(wù)必定有最高的優(yōu)先級。為了使相同優(yōu)先級的就緒任務(wù)有輪流得到處理機(jī)控制權(quán)的機(jī)會,多任務(wù)系統(tǒng)對它們采取了循環(huán)調(diào)度的策略,即將選中投入運(yùn)行任務(wù)的任務(wù)控制塊從就緒隊(duì)列上原來位置移到同一優(yōu)先級任務(wù)控制塊的最末尾。這樣,當(dāng)任務(wù)調(diào)度程序下次掃視就緒隊(duì)列時(shí),此任務(wù)的任務(wù)控制塊已成為同優(yōu)先級任務(wù)任務(wù)控制塊中的最后一個(gè),從而也最后得到處理機(jī);Java操作系統(tǒng)中在封鎖中斷狀態(tài)下工作,就緒隊(duì)列上任務(wù)控制塊是程序的操作對象,各控制塊中信息不允許在調(diào)度進(jìn)行過程中發(fā)生變化,故進(jìn)入程序立即封鎖中斷,以保證多任務(wù)調(diào)度程序執(zhí)行過程中不會被打斷;然后依次掃描就緒隊(duì)列上各任務(wù)控制塊,若發(fā)現(xiàn)處于就緒狀態(tài)的任務(wù),根據(jù)同優(yōu)先級任務(wù)循環(huán)調(diào)度原則,選出當(dāng)前的活動任務(wù)控制塊,調(diào)度程序負(fù)責(zé)恢復(fù)投入運(yùn)行任務(wù)的現(xiàn)場,這包括有關(guān)狀態(tài)字、指令計(jì)數(shù)器和各寄存器內(nèi)容。
全文摘要
本發(fā)明公開了一種支持Java操作系統(tǒng)中實(shí)時(shí)任務(wù)調(diào)度的實(shí)現(xiàn)方法,Java操作系統(tǒng)中實(shí)時(shí)任務(wù)的定義,通過標(biāo)識號、實(shí)時(shí)任務(wù)的狀態(tài)、實(shí)時(shí)任務(wù)的優(yōu)先級、任務(wù)控制塊、任務(wù)控制塊隊(duì)列來標(biāo)識定義;Java操作系統(tǒng)中對實(shí)時(shí)任務(wù)使用了多任務(wù)調(diào)度方法和采用最高優(yōu)先級第一的調(diào)度方法,在封鎖中斷狀態(tài)下工作。從而可以在多個(gè)Java程序并發(fā)的場合下大幅度節(jié)省系統(tǒng)資源,提高進(jìn)程并發(fā)效率,本發(fā)明對嵌入式系統(tǒng)環(huán)境,尤其是面向嵌入式系統(tǒng)的Java操作系統(tǒng),有重大意義。
文檔編號G06F9/46GK1794183SQ200610049139
公開日2006年6月28日 申請日期2006年1月17日 優(yōu)先權(quán)日2006年1月17日
發(fā)明者陳天洲, 戴鴻君, 黃彧 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
济宁市| 湘潭县| 重庆市| 澄迈县| 饶河县| 广丰县| 房山区| 壶关县| 会泽县| 体育| 普格县| 辛集市| 中江县| 镇安县| 城固县| 大悟县| 阜南县| 扶绥县| 晋江市| 庆元县| 苏尼特左旗| 凯里市| 津市市| 扎兰屯市| 调兵山市| 泰州市| 洪洞县| 奇台县| 富锦市| 五莲县| 申扎县| 兰考县| 白银市| 宁夏| 崇信县| 沐川县| 临桂县| 娄底市| 洱源县| 安龙县| 永德县|