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