劉丹
(上海市貿(mào)易學(xué)校 計算機教研室,中國 上海200000)
在21世紀的今天,物聯(lián)網(wǎng)技術(shù)發(fā)展迅速,并被廣泛應(yīng)用到工業(yè)控制的各個領(lǐng)域之中,正在成為工業(yè)革命和工業(yè)改造的主導(dǎo)技術(shù)力量。這都是在產(chǎn)生和發(fā)展了實時操作系統(tǒng)之后,才成為現(xiàn)實的。一臺或幾臺計算機只有在實時操作系統(tǒng)的統(tǒng)一組織和合理調(diào)度之下,才能組成一個實時控制系統(tǒng),才能實現(xiàn)對復(fù)雜的工業(yè)過程的實時控制。而它又是在一般操作系統(tǒng)(簡稱為OS)基礎(chǔ)上發(fā)展起來的,要設(shè)計實時OS,應(yīng)首先掌握OS的一般原理,運用設(shè)計OS的基本方法和技巧,結(jié)合實時OS的結(jié)構(gòu)特點加以具體實現(xiàn)。
本文將在介紹OS有關(guān)概念的基礎(chǔ)上,對實時OS進行詳細分析,以使我們從實時OS出發(fā),來解剖Z-80系統(tǒng)監(jiān)控程序,掌握Z-80微機工業(yè)實時控制系統(tǒng)的實時OS的設(shè)計方法和技巧,并進一步展開系統(tǒng)應(yīng)用程序設(shè)計的討論。
實時系統(tǒng)是能及時響應(yīng)外部發(fā)生的隨機事件,并以足夠快的速度完成對事件的處理的計算機應(yīng)用系統(tǒng)。所謂外部事件是指與計算機相連接的設(shè)備(探測設(shè)備,控制對象,鍵盤等)提出的服務(wù)要求,如數(shù)據(jù)采集,情報檢索,控制器輸出等。
由此可見,實時系統(tǒng)具有如下特點:
例如,雇員上下班排隊打卡時,計算機須在幾秒鐘內(nèi)捕獲卡片上的數(shù)據(jù),如果在下一張卡片插入時未獲取數(shù)據(jù),該數(shù)據(jù)就會丟失。同樣,要求的各種輸出也須在一定時間完成。這一時間總和叫系統(tǒng)響應(yīng)時間,范圍一般從幾毫秒到幾秒,縮短響應(yīng)時間是設(shè)計實時系統(tǒng)的關(guān)鍵。
一個實時系統(tǒng)的負荷可能很不均勻,但必須滿足一定峰值負荷要求。例如,實時雇員考勤系統(tǒng),早晚上下班時,該系統(tǒng)頻繁工作,從打卡機捕獲和處理數(shù)據(jù)的能力須滿足雇員上下班記錄出勤情況要求。
由于輸入數(shù)據(jù)由系統(tǒng)本身捕獲,因此,該數(shù)據(jù)只有在系統(tǒng)中才有效,而且只能通過系統(tǒng)來訪問。因此實時系統(tǒng)的可靠性至關(guān)重要。
總之,設(shè)計實時系統(tǒng)要考慮:響應(yīng)時間、吞吐率、暫存時間、多任務(wù)計算、優(yōu)先級、運行時間、任務(wù)同步與關(guān)鍵任務(wù)計算、可靠性參數(shù)等。
計算機在發(fā)展初期,是沒有OS的,計算機操作過程用人工來控制,程序員把編好的程序和數(shù)據(jù),通過輸入介質(zhì)把程序一道道地輸入到計算機中,每輸入一道程序,便啟動一次計算機運行,并在程序員控制下,不斷干預(yù)計算機的執(zhí)行過程,直到程序完成。這種操作過程顯然不適于多道程序并行處理,自動,連續(xù)工作,且要求及時對瞬態(tài)過程做出反應(yīng)的工業(yè)實時控制系統(tǒng)。
OS的出現(xiàn),使計算機實現(xiàn)了操作過程管理的自動化,充分發(fā)揮了計算機的高效能和高速處理能力,使計算機的適應(yīng)性愈來愈強,應(yīng)用范圍愈來愈廣,其OS也隨之愈來愈復(fù)雜。目前OS按其處理功能已分成三大分支,即批處理OS;分時OS和實時OS。同一臺計算機,因配置的OS不同而具有不同的功能。因此,OS的出現(xiàn),使我們在計算機硬件系統(tǒng)的基礎(chǔ)上獲得了一個功能更強,應(yīng)用范圍更廣的計算機。這在物聯(lián)網(wǎng)技術(shù)發(fā)展迅猛的時代尤其重要。
計算機系統(tǒng)的OS,因其資源的不同而有很大差異,人們根據(jù)OS的具體功能把他分為三類。
2.1.1 批處理OS:是指提高計算機效率和處理能力,操作實用方便,減少人工干預(yù)的一種OS。但他在用戶對計算結(jié)果進行分析判斷乃至反復(fù)修改方案的過程是十分不便的,因此,人們又提出了分時OS。
2.1.2 分時OS:為了即充分利用現(xiàn)代計算機的高速處理能力,依靠分時OS把計算機運行處理的時間分割成為各個終端作業(yè)服務(wù)的獨立單元,計算機輪流為各個終端設(shè)備的作業(yè)服務(wù),在計算機的數(shù)據(jù)處理和情報收集網(wǎng)絡(luò)系統(tǒng)中主要是應(yīng)用了上述的分時OS。
在上述的分時OS中,僅要求計算機在允許的時間內(nèi)能及時響應(yīng)終端的請求便可。但在工業(yè)實時控制系統(tǒng)中,要求必須對外來信息快速響應(yīng)和處理,否則,就會出現(xiàn)信息丟失的后果。于是,人們又發(fā)展了實時OS。
OS是一組系統(tǒng)資源的管理程序,依靠它來實現(xiàn)對處理機的管理、存儲管理、設(shè)備管理、信息管理、中斷管理等五個功能。計算機的實時OS同樣要具備這五個功能,現(xiàn)分述如下:
2.2.1 處理機管理:首先必須考慮如何來使用計算機,在工業(yè)實時控制系統(tǒng)中,計算機的控制對象不可能是單一的,例如一個車床控制系統(tǒng)中,要有兩套驅(qū)動步進電機,要有鍵盤,顯示器等外設(shè),對于其中每一個具體的控制對象都存在著何時和怎樣使用處理機的問題,所以處理機管理要解決調(diào)度問題。
2.2.2 存儲管理:OS中的存儲管理技術(shù)隨著計算機系統(tǒng)功能的不斷擴大,而不斷提高,目前已由初期的簡單的靜態(tài)發(fā)展成動態(tài)分配,由實際存儲發(fā)展為虛擬存儲空間。其方法大致有靜態(tài)、動態(tài)地址分配、動態(tài)頁面內(nèi)存管理這三種。
2.2.3 設(shè)備管理:設(shè)備管理是OS中所具有的基本功能。實時系統(tǒng)要及時地接受和處理實時信息,并在規(guī)定時間里對實時工作的設(shè)備發(fā)出控制信息,而不出現(xiàn)信息丟失的現(xiàn)象,就必須依靠OS來保證計算機和實時設(shè)備能在靈活的被控狀態(tài)下并行工作。這就要求實時OS具有:對外設(shè)實施監(jiān)督并記錄其工作狀態(tài)、對外設(shè)實行并行運行的管理、對使用外設(shè)信息(包括啟動,中斷,結(jié)束等)進行輸入與輸出操作的功能。
2.2.4 信息管理:計算機要處理大量的信息,那些暫時還未采集傳送和處理操作的信息,就暫時存在便于檢索的儲存區(qū)域內(nèi),以備即時之需。因此,文件系統(tǒng)是實時OS質(zhì)量的重要內(nèi)容。
2.2.5 中斷管理功能:是實時OS進行實時管理的具體手段和方法,因此,微機的工業(yè)實時控制系統(tǒng)是在中斷管理下進行工作的。
中斷管理系統(tǒng)要求硬件應(yīng)設(shè)置中斷監(jiān)視和響應(yīng)裝置,軟件應(yīng)設(shè)置靈活的中斷處理程序。一般地實時系統(tǒng)中的各種中斷可按其優(yōu)先級別由高到低分為機器中斷、程序中斷、時鐘中斷、外部設(shè)備中斷這四種。
通過以上說明,計算機的工業(yè)實時控制系統(tǒng)依靠實時OS的管理才能實現(xiàn),雖然實時OS因計算機不同而不同,但任何計算機的工業(yè)實時控制系統(tǒng)都不能缺少實時OS,而且,實時OS的功能愈強愈完善,該系統(tǒng)用戶使用起來愈方便,愈可靠。下面結(jié)合Z-80系列微機系統(tǒng)監(jiān)控程序分析如何建立微機工業(yè)實時控制系統(tǒng)的實時OS,并在此基礎(chǔ)上,展開應(yīng)用程序設(shè)計的討論。
Z-80監(jiān)控程序雖然較低級,但它們是一種OS??稍谙到y(tǒng)中用來對整個系統(tǒng)通電或復(fù)位后進行初始引導(dǎo),以便系統(tǒng)進入運行狀態(tài);用來鍵入接受或保存機器編碼的源程序;用來監(jiān)控執(zhí)行,調(diào)式或修改源程序,以及顯示相應(yīng)儲存單元或緩沖寄存器的內(nèi)容。Z-80監(jiān)控程序這些具體作用是通過:RAM區(qū)和使用子程序塊及表格、監(jiān)控程序的地址表、監(jiān)控程序總體結(jié)構(gòu)出發(fā)及復(fù)位、初始引導(dǎo)程序、更新顯示程序、鍵盤分析處理程序的管理程序來實現(xiàn)的
Z-80系統(tǒng)監(jiān)控程序還具有處理保存用戶程序的功能,依靠它來把用戶程序轉(zhuǎn)儲于外部磁帶或固化到EPROM中,使用時,便可順序裝入內(nèi)存RAM進行運行。
因為Z-80單板機的工業(yè)實時控制系統(tǒng)和Z-80單板機系統(tǒng)有很大的差別。在進行系統(tǒng)管理程序的設(shè)計過程中,如何最大限度地開發(fā)系統(tǒng)的軟件,硬件資源,是設(shè)計工作中必須認真考慮的一個重要問題,現(xiàn)有資源利用好,系統(tǒng)程序的工作量可相應(yīng)減少,功能也可相應(yīng)提高。
綜上所述,首先設(shè)計實時系統(tǒng)一定要考慮響應(yīng)時間、吞吐率、暫存時間、多任務(wù)計算、優(yōu)先級、運行時間、任務(wù)同步與關(guān)鍵任務(wù)計算、可靠性參數(shù)等特征。其次明確計算機的實時OS也要具備OS的實現(xiàn)對處理機的管理,存儲管理,設(shè)備管理、信息管理,中斷管理這五個功能。最后討論了一下將Z-80微型計算機應(yīng)用到工業(yè)實時控制系統(tǒng)中去,組成一個以Z-80微機為核心的工業(yè)實時控制系統(tǒng)。
以上只是提出如何在深入了解實時多任務(wù)OS的基礎(chǔ)上如何實現(xiàn)微機工業(yè)實時控制系統(tǒng)的一些想法,具體實現(xiàn),本篇不再敘述。
[1]Y.柏克.多微機處理口系統(tǒng)[M].西安交通大學(xué)出版社,1986.
[2]袁由光.實時系統(tǒng)中的可靠性技術(shù)[M].清華大學(xué)出版社,1995.