【單片機到嵌入式之路】序列之7:操作系統(tǒng)基本概念你知道多少?
本節(jié)我們將從實時操作系統(tǒng)來講解,主要是從下面3個方面進行講解:
本文引用地址:http://2s4d.com/article/276732.htm1.操作系統(tǒng)的分類
2.實時操作系統(tǒng)
3.嵌入式實時操作系統(tǒng)的基本概念
一、操作系統(tǒng)分類:
目前廣泛使用的操作系統(tǒng)有三個:
A.多道批處理操作系統(tǒng)
B.分時操作系統(tǒng)
C.實時操作系統(tǒng)
這三種系統(tǒng)雖然都很重要,但是我們接觸最多的是實時操作系統(tǒng),所以下面重點將介紹實時操作系統(tǒng)。
二、實時操作系統(tǒng):
1.實時操作系統(tǒng)具有如下特點:
a) 異步的事件響應
b) 切換時間和中斷延遲時間確定
c) 優(yōu)先級中斷和調度
d) 搶占式調度
e) 內存鎖定
f) 連續(xù)文件
g) 同步
實時操作系統(tǒng)總的來說是事件驅動的,能對來自外界的作用和信號在限定的時間范圍內做出響應。它強調的是實時性、可靠性和靈活性,與實時應用軟件相結合成為有機的整體起著核心作用,由它來管理和協(xié)調各項工作,為應用軟件提供良好的運行軟件環(huán)境及開發(fā)環(huán)境。
從實時系統(tǒng)的應用特點來看實時操作系統(tǒng)可以分為兩種:
a.一般實時操作系統(tǒng)
b.嵌入式實時操作系統(tǒng)
2.實時操作系統(tǒng)的特點
一般實時操作系統(tǒng)應用于實時處理系統(tǒng)的上位機和實時查詢系統(tǒng)等實時性較弱的實時系統(tǒng),并且提供了開發(fā)、調試、運用一致的環(huán)境
嵌入式實時操作系統(tǒng)應用于實時性要求較高的實時控制系統(tǒng),而且應用程序的開發(fā)過程是通過交叉開發(fā)來完成的,即開發(fā)環(huán)境與運行環(huán)境是一致。嵌入式實時操作系統(tǒng)具有規(guī)模小(一般在幾K~幾十K內)、可固化使用實時性強(在毫秒或微秒數量級上)的特點。
三、嵌入式實時操作系統(tǒng)的基本概念
下面主要認識一下幾個嵌入式實時操作系統(tǒng)的基本概念,這也是學習操作系統(tǒng)的基礎。
1、前后臺系統(tǒng):對基于芯片的開發(fā)來說,應用程序一般是一個無線循環(huán),可稱為前臺系統(tǒng)或超循環(huán)系統(tǒng)。
2、操作系統(tǒng):是計算機中最基本的程序。操作系統(tǒng)負責計算機系統(tǒng)中全部軟硬件資源的分配與回收、控制與協(xié)調等并發(fā)的活動;操作系統(tǒng)提供用戶接口,是用戶獲得良好的工作環(huán)境;操作系統(tǒng)為用戶擴展新的系統(tǒng)功能提供軟件平臺。
3、實時操作系統(tǒng)(RTOS):實時操作系統(tǒng)是一般在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,用戶的應用程序是運行于RTOS之上的各個任務,RTOS根據各個任務的要求,進行資源(包括存儲器、外設等)管理、消息管理、任務調度、異常處理等工作。在RTOS支持的系統(tǒng)中,每個任務均有一個優(yōu)先級,RTOS根據各個任務的優(yōu)先級,動態(tài)地切換各個任務,保證對實時性的要求。
4、代碼臨界區(qū):也稱為臨界區(qū),指處理時不可分割的代碼,運行這些代碼不允許被打斷。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入(這不是絕對的,如果中斷不調用任何包含臨界區(qū)的代碼,也不訪問任何臨界區(qū)使用的共享資源,這個中斷可能可以執(zhí)行)。為確保臨界區(qū)代碼的執(zhí)行,在進入臨界區(qū)之前要關中斷,而臨界區(qū)代碼執(zhí)行完成以后要立即開中斷。
5、資源:程序運行時可使用的軟、硬件環(huán)境統(tǒng)稱為資源。資源可以是輸入設備。也可以是一個變量、一個結構或一個數組等。
6、共享資源:可以被一個以上的任務使用的資源。為了防止數據被破壞,每個任務在與共享資源打交道時,必須獨占該資源,這叫做互斥。
7、任務:一個任務也稱作一個線程,是一個簡單的程序,該程序可以認為CPU完全屬于該程序自己。實時應用程序的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的??臻g。
8、任務切換:當多任務內核決定運行另外的任務時,它保證正在運行任務的當前狀態(tài),即CPU寄存器中的全部內容。這些內容保存在任務的當前狀態(tài)保存區(qū),也就是任務自己的棧區(qū)之中。入棧工作完成以后,就把下一個將要運行的任務的當前狀態(tài)從任務的棧中重裝如CPU的寄存器,并開始下一個任務的運行,這個過程就稱任務切換。做任務切換所需要的時間取決于CPU有多少寄存器要入棧。
9、內核:多任務系統(tǒng)中,內核負責管理各個任務,或者說為每個任務分配CPU時間,并且負責任務之間的通信。內核提供的基本服務是任務切換。使用實時內核可以大大簡化應用系統(tǒng)的設計,是因為實時內核允許將應用分成若干個任務,由實時內核來管理它們。內核提供必不可少的系統(tǒng)服務,如信號量、消息隊列、延時等。
10、調度:調度是內核的主要職責之一。調度就是決定該輪到哪個任務運行了。通過優(yōu)先級來實行調度(非占先式還是占先式)。
11、非占先式內核:要求每個任務自我放棄CPU的所有權。非占先式調度法也稱作合作型多任務,各個任務彼此合作共享一個CPU。異步事件還是由中斷服務來處理。中斷服務可以使一個高優(yōu)先級的任務由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務以后控制權還是回到原來被中斷了的那個任務,知道該任務主動放棄CPU的使用權時,那個高優(yōu)先級的任務才能獲得CPU的使用權。
12、占先式內核:當系統(tǒng)響應時間很重要時,要使用占先式內核。因此絕大多數商業(yè)上銷售的實時內核都是占先式內核。最高優(yōu)先級的任務一旦就緒,總能得到CPU的控制權。當一個運行著的任務使一個比它優(yōu)先級高的任務進入了就緒狀態(tài),當前任務的CPU使用權就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務立刻得到了CPU的控制權。如果是中斷服務子程序使一個高優(yōu)先級的任務進入就緒態(tài),中斷完成時,中斷了的任務被掛起,優(yōu)先級高的那個任務開始運行。
13、任務優(yōu)先級:任務的優(yōu)先級是表示任務被調度的優(yōu)先程度。每個任務都具有優(yōu)先級。任務越重要,賦予的優(yōu)先級應越高,越容易被調度而進入運行態(tài)。
14、中斷:中斷是一種硬件機制,用于通知CPU有個異步事件發(fā)生了。中斷一旦被識別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉到專門的子程序,稱為中斷服務子程序(ISR)。中斷服務子程序做事件處理,處理完成后,程序回到:
A. 在前后臺系統(tǒng)中,程序回到后臺程序;
B.對非占先式內核而言,程序回到被中斷了的任務;
C.對占先式內核而言,讓進入就緒態(tài)的優(yōu)先級最高的任務開始運行。
15、時鐘節(jié)拍: 時鐘節(jié)拍是特定的周期性中斷。這個中斷可以看作是系統(tǒng)心臟的脈動。中斷之間的時間間隔取決于不同應用,一般在10ms到200ms之間。時鐘的節(jié)拍式中斷使得內核可以將任務延時若干個整數時鐘節(jié)拍,以及當任務等待事件發(fā)生時,提供等待超時的依據。時鐘節(jié)拍率越快,系統(tǒng)的額外開銷就越大。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)51單片機相關文章:51單片機教程
單片機相關文章:單片機教程
linux相關文章:linux教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
評論