第一章        嵌入式實時作業系統的基本概念

作業系統是系統軟體,在計算機硬體與計算機應用程式之間提供應用程式介面(API),提高應用程式的效率。

嵌入式系統是計算機系統,需要作業系統的支援,此作業系統為嵌入式作業系統。

1.1    嵌入式實時作業系統的基本概念

1.1.1         什麼是計算機作業系統

1.      計算機的構成:中央微處理器(CPU)、儲存器介面外設à計算機的硬體系統

2.      裸機:只由硬體構成的計算機

3.      計算機系統 =硬體+軟體

計算機硬體:相當於人的肌肉、骨骼等看得見摸得著的實體。

計算機軟體:相當於人頭腦中儲存的思想、方法等看不見摸不著的東西。



作業系統:完成計算機硬體資源的排程和分配、資訊的儲存和保護以及併發活動的協調和控制。

1.1.2         作業系統的作用和功能

1.      作業系統的作用

作業系統是計算機硬體系統和應用程式之間的介面。

計算機作業系統是計算機硬體的軟體包裝,提供便於使用的虛擬計算機,它還是計算機硬體系統資源的管理者

2.      作業系統的功能

(管理計算機資源)

處理器的管理:中斷的管理;排程處理器的工作

儲存的管理

裝置的管理

檔案的管理

網路和通訊的管理

提供使用者介面

1.2    嵌入式系統和嵌入式作業系統

1.2.1         嵌入式系統的基本概念

1.      嵌入式系統是對物件進行自動控制而使其具有智慧化並可嵌入物件體系中的專用計算機系統。

2.      三要素:嵌入式、專用性、計算機系統

3.      技術要求和技術發展方向

計算機系統:

技術要求:高速、海量的數值計算

技術發展方向:匯流排速度的提升、儲存容量的擴大

         嵌入式系統:

              技術要求:物件的智慧化控制能力

              技術發展方向:嵌入效能、控制能力、控制的可靠性

4.      嵌入式系統的發展歷程

微型計算機時代à微控制器時代à微控制器階段à單片系統階段

5.      嵌入式系統的特點

l  構成:集軟硬體為一體,可獨立工作的計算機系統

l  外觀:“可程式設計”的電子“器件”

l  功能:有“智慧”的控制器

硬體部分:處理器/微處理器、儲存器及外設和I/O埠、圖形控制器

          (儲存介質:EPROM、EEPROM、快閃記憶體)

軟體部分:作業系統軟體和應用軟體

          (作業系統:實時性;應用軟體:專門性

嵌入式計算機系統和通用性計算機系統相比:

Ø  專用型強:面向某個特定應用;

Ø  可裁剪性好:可根據需求進行裁剪,達到精簡的配置;

Ø  實時性與可靠性好:嵌入式系統中的軟體固化在儲存器晶片或單片系統的儲存器中,加上嵌入式作業系統,可快速響應外部事件,提高系統可靠性;

Ø  功耗低:嵌入式系統的軟體一般不儲存於磁碟等載體中,而是固化在儲存器晶片或單片系統的儲存器中。

1.2.2         嵌入式作業系統

1.      什麼是嵌入式作業系統

執行在嵌入式硬體平臺上

對整個系統及其所操作的部件、裝置等資源進行統一協調、指揮和控制

2.      與普通作業系統相比(硬體特點、應用環境的多樣性、開發手段的特殊性)

微型化:晶片內部儲存器容量不大,一般不配置外存,電源的容量較小,外設的多樣化使其佔用的資源較少

可裁剪性:嵌入式系統執行的硬體平臺多種多樣,要求各個功能模組可由使用者選擇使用

實時性:嵌入式系統廣泛應用於生產過程控制、資料採集、傳輸通訊等場合,要求系統能快速響應外部事件

高可靠性:嵌入式系統廣泛應用於軍事武器、航空航天、交通運輸、重要的生產裝置領域,要求其具有高可靠性

易移植性:嵌入式作業系統可在不做大量修改的情況在穩定地執行在不同的硬體平臺上。

3.      嵌入式作業系統的分類


嵌入式系統使用的作業系統大多是實時性作業系統

4.      實時作業系統

1)        定義:作業系統使計算機及時響應外部事件的請求,並控制所有實時裝置與實時任務協調執行,並在規定時間內完成對事件的處理。

2)        基本要求:邏輯或功能正確時間正確

3)        分類:(時間正確的程度)

硬實時作業系統:系統在嚴格時間內完成實時任務

軟實時作業系統:完成任務時間要求不嚴格,對計算超時具有一定的容忍度

1.2.3         實時作業系統需要滿足的條件

l  多工系統

l  任務的切換時間與系統的任務數無關

l  中斷延遲時間可預知並儘可能短

1.      多工

將任務分解成多個小任務,當一個任務需要等待I/O時,交出CPU的使用權,讓CPU執行其他任務,提高CPU的利用率,減少任務完成的時間。

現在的實時性系統都是多工系統。

2.      核心的型別

多工實時作業系統的核心可分為可剝奪型和不可剝奪型。

可剝奪型:CPU總是執行多個任務中執行級別最高的那個任務(實時性較好)

不可剝奪型(合作型多工核心):優先級別高的最先獲得CPU的使用權

目前大多數實時性作業系統都是可剝奪型核心。

3.      任務的切換時間

排程器進行任務切換所用的時間不能受應用程式中其他因素的影響。

4.      中斷延遲、

CPU響應中斷到CPU轉向中斷服務程式之間所用的時間為中斷延時。

1.2.4         嵌入式系統的任務及嵌入式實時作業系統

1.      嵌入式系統的任務

嵌入式系統完成的是一個裝置或裝置的控制任務,典型任務應該是一個無限迴圈結構。



嵌入式實時作業系統:

管理系統資源和多個任務;

具有高可靠性和良好的可裁剪性;

為應用程式提供執行平臺和實時服務。

2.      嵌入式實時作業系統

嵌入式作業系統提供三個服務:

記憶體管理(動態記憶體)

多工管理

外圍資源管理


3.      嵌入式作業系統的現狀

常見的嵌入式作業系統:

WindRiver公司:VxWorks、pSOS

微軟公司:Windows CE

QNX公司:QNX OS

Plam、WinCE、EPOC

免費的、原始碼開放的:μC/OS-Ⅱ、μCLinux

1.3    嵌入式實時作業系統μC/OS-Ⅱ簡介

μC/OS-Ⅱ使用C語言和組合語言編寫的,使用者只要做很少的工作就可以把它移植到各類8位、16位和32位嵌入式處理器上。

μC/OS-Ⅱ體系結構