一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)

一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)

ID:34542499

大?。?30.84 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-03-07

一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)_第1頁(yè)
一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)_第2頁(yè)
一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)_第3頁(yè)
一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)_第4頁(yè)
資源描述:

《一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、軟件產(chǎn)業(yè)I990年I1月·開(kāi)發(fā)與應(yīng)用·一個(gè)多任務(wù)實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)中科院成都計(jì)算機(jī)應(yīng)用研究所時(shí)建摘要擻機(jī)應(yīng)用系統(tǒng)的功能日益復(fù)雜.沿用常規(guī)的順序程序加中斷的軟件設(shè)計(jì)虧法在解決并發(fā)赴理、定時(shí)操作、程序結(jié)構(gòu)自愛(ài)是活性等方面的問(wèn)題時(shí)已經(jīng)越來(lái)越目難,引凡歲任務(wù)實(shí)時(shí)操作系統(tǒng)勢(shì)在必扦。即使是使用功能比較簡(jiǎn)單的多任務(wù)實(shí)時(shí)操作系妻t-通過(guò)它所提供的應(yīng)用程序開(kāi)愛(ài)環(huán)境,也能十分有效地解決上述問(wèn)題.提高程序質(zhì)量,簡(jiǎn)l化程序設(shè)計(jì)。本文在分析多任務(wù)實(shí)時(shí)操作系統(tǒng)PAXSfi32的基礎(chǔ)上,介紹了一種簡(jiǎn)_蔓有效并具有普遍意衛(wèi)的多任務(wù)實(shí)時(shí)捶作系繾的實(shí)現(xiàn)。節(jié).結(jié)梅見(jiàn)表】所示。一、引言表1

2、TCB的結(jié)構(gòu)PAXSG32是一種適于IBMPC系列微機(jī)的多任字節(jié)解釋寧節(jié)解釋務(wù)實(shí)時(shí)操作系統(tǒng)。它有效地利用了Pc軟件的三十0任務(wù)號(hào)(031)6—9起始堆棧指針層次,即DOS層、B]OS層和機(jī)器層.來(lái)實(shí)現(xiàn)時(shí)鐘管】任勞狀態(tài)1O一13當(dāng)前的堆棧指針2-5任務(wù)的起始地址1一15系統(tǒng)時(shí)鐘參照理,任務(wù)淵度和通訊文件系統(tǒng)和輸入輸出等.建立PAX給每個(gè)任務(wù)分配了512字節(jié)的堆??臻g,了實(shí)時(shí)多任務(wù)應(yīng)用程序的開(kāi)發(fā)環(huán)境。PAX由以下四用來(lái)保護(hù)任務(wù)運(yùn)行現(xiàn)場(chǎng)(即切換處各寄存器內(nèi)容)。個(gè)可由開(kāi)發(fā)者選擇和剪裁的模塊組成:在任務(wù)啟動(dòng)首次運(yùn)行時(shí),其棧頂?shù)刂繁环湃隩CB的1.內(nèi)轅提供任務(wù)

3、餌度和與應(yīng)用程序的接口起始堆棧指針項(xiàng)中}當(dāng)任務(wù)停止運(yùn)行時(shí),其現(xiàn)場(chǎng)被壓——系統(tǒng)原語(yǔ)。PAX采用分時(shí)輪轉(zhuǎn)方式,可并發(fā)地入自己的堆棧,并把堆棧指針?lè)湃隩CB的當(dāng)前堆棧馬E動(dòng)32個(gè)任務(wù)。時(shí)間片為55毫秒。指針項(xiàng)中。系統(tǒng)時(shí)鐘參照用于記錄任務(wù)涉及的時(shí)間2PC設(shè)備驅(qū)動(dòng)模塊它是外設(shè)與pAX的接信息.如喚醒時(shí)刻。任務(wù)建立后處于五種狀卷之一:口,支持顯示器、鍵盤(pán)、打印機(jī)和中斷緩沖方式的異運(yùn)行志、就緒態(tài)、中斷態(tài)、睡眠態(tài)和終止態(tài)。圖l展示步通訊等設(shè)備了任務(wù)狀態(tài)轉(zhuǎn)變及其條件。3.軟件工具包提供中斷向量管理等功能。d.初始化任務(wù)TASKO用于初始化隊(duì)x下運(yùn)行的各任務(wù),引導(dǎo)PAX

4、。并提供了可供用戶(hù)開(kāi)發(fā)的定時(shí)操作接口。這些模塊可作為織木式程序設(shè)計(jì)的構(gòu)件,生成結(jié)構(gòu)較復(fù)雜的微機(jī)多任務(wù)實(shí)時(shí)應(yīng)用系統(tǒng)。以F論述PAX內(nèi)核的實(shí)覡。這是本系統(tǒng)的精華.具有普墻意義,易于移植到其它類(lèi)型的微機(jī)或單板帆中囤】任務(wù)狀態(tài)的轉(zhuǎn)換任務(wù)狀態(tài)字節(jié)的位映象見(jiàn)表2,其中禁止位是二、PAX操作系統(tǒng)的內(nèi)核供開(kāi)發(fā)者調(diào)試程序時(shí)使用的。內(nèi)梭由四部分組成,E任務(wù)調(diào)度、實(shí)時(shí)時(shí)鐘處理表2任務(wù)狀態(tài)字節(jié)程序SYSRTI、系統(tǒng)原譜和任務(wù)控制塊組:位模式解蒂I(mǎi).任務(wù)控制塊TCB10000000任務(wù)執(zhí)行(被手動(dòng)地)禁【卜任務(wù)是獨(dú)立地被PAX請(qǐng)度的各個(gè)程序。為跟蹤00100000該TCB未被

5、指報(bào)(空TCB)00010000任務(wù)被中斯(時(shí)阿片耗盡)這些并發(fā)執(zhí)行前程序,PAX為每個(gè)任務(wù)建立一個(gè)任00000100任務(wù)睡眠(SY,f~Lp或6Y.RPER調(diào)用)務(wù)控制塊任務(wù)管理實(shí)質(zhì)就是TCB的管理32個(gè)任00000010任務(wù)從睡眠狀態(tài)赦喚醒務(wù)的TCB按J4霽序排列蜩成1"CB塑TCB為十六字·開(kāi)發(fā)與應(yīng)用·2o軟件產(chǎn)業(yè)1990年11月0o0o00oi任務(wù)就緒權(quán)定時(shí)硬件中斷,即中斷類(lèi)型8.用于系統(tǒng)計(jì)時(shí)。其2.任務(wù)調(diào)度中斷服務(wù)程序除更新系統(tǒng)日歷時(shí)鐘計(jì)數(shù)外,還弓f發(fā)PAX的任務(wù)謂度采用分時(shí)輪轉(zhuǎn)方式,選定一十一個(gè)類(lèi)型1c中斷.供應(yīng)用程序開(kāi)發(fā)者使用。BIOS

6、使可供運(yùn)行的任務(wù)若沒(méi)有可供運(yùn)行的任務(wù),則CPU類(lèi)型1c中斷向量指向一條IRET(中斷返回)指令.暫停.等待時(shí)鐘中斷。實(shí)現(xiàn)調(diào)度算法使用了下面的內(nèi)不執(zhí)行任何操作。通過(guò)重定向該中斷向量使可利用存變量(見(jiàn)表3)。這個(gè)55毫秒的定時(shí)中斷。PAX也正是通過(guò)改變類(lèi)表3任務(wù)管理所使用的存儲(chǔ)變量型1c的中斷向量.使指向?qū)崟r(shí)時(shí)鐘處理程序SYSR-字節(jié)變量名解釋n來(lái)實(shí)現(xiàn)分時(shí)功能,中斷超時(shí)的任務(wù)見(jiàn)躅40—3未甩d一5SCTIME系統(tǒng)的當(dāng)前對(duì)捌6SLICE給任務(wù)分配的時(shí)間片數(shù)翼一!●

7、7EDT

8、允許(O)或禁止(1)任務(wù)切換aCTNO當(dāng)前可供發(fā)出的號(hào)碼(0~255)9CBST

9、NO當(dāng)前正被服務(wù)的號(hào)碼AVARA程序變量BVARB程序變量CVARC程序變量善D未用E-FCTCBA當(dāng)前任務(wù)的TCB的地址利用PAX的系統(tǒng)原語(yǔ).如睡眠、隊(duì)列、允許或禁止任務(wù)切換等.開(kāi)發(fā)者可實(shí)現(xiàn)任務(wù)之間的協(xié)調(diào)技術(shù).如信號(hào)燈、信箱、隊(duì)列和臨界區(qū)等。用信號(hào)燈可實(shí)現(xiàn)任務(wù)問(wèn)的同步I用隊(duì)列或信箱可實(shí)現(xiàn)任務(wù)之同的信息變換}用臨界區(qū)能實(shí)現(xiàn)任務(wù)對(duì)不可共享資源的互斥訪問(wèn)。圈2自身終止程序圖5建立一十作業(yè)圈3任_軎調(diào)度程序(2)啟動(dòng)/躊止一個(gè)任務(wù)SYSSTR/SYSKIL3.實(shí)時(shí)時(shí)鐘處理程序SYSRTISYSSTR啟動(dòng)任務(wù)使之處于就緒狀態(tài).即夸PC系列及其兼容機(jī)產(chǎn)生一個(gè)5

10、5毫秒的高優(yōu)先TCB中的任務(wù)狀?yuàn)^為就緒。相反,SYSKIL把任務(wù)狀軟件產(chǎn)業(yè)1990年l1月21·開(kāi)發(fā)與應(yīng)用·

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。