linux與rtos的區別:rtos是即時作業系統,是多任務、有執行緒優先權、多種中斷等級的系統,能在規定時間內做出快速反應;而linux是分時操作系統,是可以擁有多個使用者的作業系統,linux也可以透過設定核心修改成即時系統。
本教學操作環境:linux7.3系統、Dell G3電腦。
RTOS是即時作業系統;Linux是時分系統,不過可以透過設定核心改成即時系統
即時作業系統
英文稱Real Time Operating System,簡稱RTOS。
1、即時作業系統定義
即時作業系統(RTOS)是指當外界事件或資料產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致運行的操作系統。因而,提供及時響應和高可靠性是其主要特徵。即時作業系統有硬實時和軟實時之分,硬實時要求在規定的時間內必須完成操作,這是在操作系統設計時保證的;軟實時則只要按照任務的優先級,盡可能快地完成操作即可。我們通常使用的作業系統在經過一定改 變之後就可以變成即時作業系統。
即時作業系統是保證在一定時間限制內完成特定功能的作業系統。例如,可以為確保生產線上的機器人能取得某個物 體而設計一個作業系統。在「硬」即時作業系統中,如果無法在允許時間內完成使物體可達的運算,作業系統將因錯誤而結束。在「軟」即時作業系統中,生產線仍然 能繼續工作,但產品的輸出會因產品不能在允許時間內到達而減慢,這使機器人有短暫的不生產現象。有些即時作業系統是為特定的應用設計的,有些是通用的。一些通用目的的作業系統稱自己為即時作業系統。但某種程度上,大部分通用目的的作業系統,如微軟的Windows NT或IBM的OS/390有即時系統的特性。這就是說,即使一個作業系統不是嚴格的即時系統,它們也能解決一部分即時應用問題。
2、即時作業系統的特徵
1)多任務;
2)有執行緒優先權
3)多種中斷等級
小的嵌入式作業系統經常需要即時作業系統,核心要滿足即時作業系統的要求。
3、即時作業系統的相關概念
(1)基本概念
程式碼臨界段:指處理時不可分割的程式碼。一旦這部分程式碼開始執行則不允許中斷打入;
資源:任何為任務所佔用的實體;
共享資源:可以被一個以上任務使用的資源;
任務:也稱作一個線程,是一個簡單的程式。每個任務被賦予一定的優先權,有它自己的一套CPU暫存器和自己的堆疊空間。典型地,每個任務都是一個無限的循環,每個任務都處於以下五個狀態:休眠態,就緒態,運行態,掛起態,被中斷態;
任務切換:將正在運行任務的當前狀態(CPU寄存器中的全部內容)保存在任務自己的棧區,然後把下一個將要運行的任務的當前狀態從該任務的棧中重新裝入CPU的寄存器,並開始下一個任務的運作;
核心:負責管理各個任務,為每個任務分配CPU時間,並負責任務之間通訊。分為不可剝奪型核心於可剝奪型核心;
調度:核心的主要職責之一,決定輪到哪個任務運行。一般基於優先調度法;
(2)關於優先順序的問題
任務優先:分為優先順序不可改變的靜態優先權和優先權可改變的動態優先權;
優先權反轉:優先權反轉問題是即時系統中出現最多的問題。共享資源的分配可導致優先順序低的任務先運行,優先順序高的任務後運行。解決的辦法是使用「優先權繼承」演算法來暫時改變任務優先級,以遏制優先權反轉。
(3)互斥
雖然共享資料區簡化了任務之間的資訊交換,但是必須保證每個任務在處理共享共享資料時的排他性。使其滿足互斥條件的一般方法有:關中斷,使用測試並置位指令(TAS),禁止做任務切換,利用信號量。
因為採用即時作業系統的意義就在於能夠及時處理各種突發的事件,即處理各種中斷,因而衡量嵌入式即時作業系統的最主要、最具代表性的效能指標參數無疑應該是中斷回應時間了。中斷回應時間通常被定義為:
中斷回應時間=中斷延遲時間 儲存CPU狀態的時間 此核心的ISR進入函數的執行時間[2]。
中斷延遲時間=MAX(關中斷的最長時間,最長指令時間) 開始執行ISR的第一條指令的時間[2]。
分時作業系統
英文:Time-sharing Operating System
釋義:讓一台電腦同時為幾個、幾十個甚至幾百個用戶服務的一種作業系統。把電腦與許多終端使用者連接起來,分時作業系統將系統處理機時間與記憶體空 間按一定的時間間隔,輪流切換給各終端使用者的程式使用。由於時間間隔很短,每個使用者的感覺就像他獨佔電腦一樣。分時操作系統的特點是可有效增加資源的 使用率。例如UNIX系統就採用剝奪式動態優先的CPU調度,並有力地支援分時操作。
產生分時系統是為了滿足使用者需求所形成的一種新型 OS 。它與多道批次系統之間,有著截然不同的效能差異。使用者的需求具體表現在以下幾個方面: 人—機交互共享主機便於用戶上機
# 分時系統的基本思想
時間片:是把電腦的系統資源(尤其是CPU時間)進行時間上的分割,每個時間段稱為一個時間片,每個使用者依序輪流使用時間片。
分時技術:把處理機的運作時間分成很短的時間片,並依照時間片輪流把處理機分給各聯機作業使用。
分時作業系統:是一種連線的多用戶互動的作業系統。一般採用時間片輪轉的方式使一台電腦為多個終端機服務。對每個使用者能保證足夠快的回應時間,並提供互動會話能力。
設計目標: 對使用者的請求及時回應,並在可能條件下盡量提高系統資源的使用率。
工作方式:
一台主機連接了若干個終端;每個終端有一個使用者在使用;互動式地向系統提出命令請求;系統接受每個使用者的命令;採用時間片輪轉方式處理服務請求;並透過互動方式在終端機上向使用者顯示結果;使用者根據上步結果發出下道指令
分時系統實作中的關鍵問題:及時接收。及時處理。
特徵:
互動性:使用者與系統進行人機對話。
多路性:多用戶同時在各自終端上使用同一CPU。
獨立性:使用者可彼此獨立操作,互不干擾,互不混淆。
及時性:使用者在短時間內可得到系統的及時回答。
影響反應時間的因素:終端數目多少、時間片的大小、資訊交換量、資訊交換速度。
相關推薦:《Linux影片教學》
以上是linux與rtos有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!