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時間,並負責任務之間通訊。分為不可剝奪型內核於可剝奪型內核;
優先權反轉:優先權反轉問題是即時系統中出現最多的問題。共享資源的分配可導致優先順序低的任務先運行,優先順序高的任務後運行。解決的辦法是使用「優先權繼承」演算法來暫時改變任務優先級,以遏制優先權反轉。
(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影片教學》
以上是linux是分時作業系統嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!