收藏 分享(赏)

嵌入式作业系统(embedded os)的特性.doc

上传人:weiwoduzun 文档编号:1887377 上传时间:2018-08-28 格式:DOC 页数:5 大小:30.50KB
下载 相关 举报
嵌入式作业系统(embedded os)的特性.doc_第1页
第1页 / 共5页
嵌入式作业系统(embedded os)的特性.doc_第2页
第2页 / 共5页
嵌入式作业系统(embedded os)的特性.doc_第3页
第3页 / 共5页
嵌入式作业系统(embedded os)的特性.doc_第4页
第4页 / 共5页
嵌入式作业系统(embedded os)的特性.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、嵌入式作業系統施吉昇教授嵌入式系統暨無線網路實驗室國立台灣大學資訊網路與多媒體研究所嵌入式系統(Embedded Systems)近年來在國內產官學界受到相當多的重視,同時也有許多相關的研究及產品開發計畫正在進行。嵌入式系統大致可分為四個主要的部分:啟動載入程式(Boot Loader) 、核心(Kernel ) 、根檔案系統(Root File System)以及應用程式(Applications) 。一般是藉由燒錄器將核心、檔案系統或是程式燒入 ROM 中來運作。由於嵌入式系統所擁有的系統資源有限,如何能在有限的資源條件限制下,達到最終目標並發揮最佳的效能,是嵌入式系統在開發過程中最大的挑

2、戰;而嵌入式作業系統是嵌入式系統能否有效發揮效能的重要角色。國內有愈來愈多廠商採用嵌入式作業系統(Embedded Operating System)作為開發消費性電子產品的核心技術,但自行開發的廠商並不多。在本文中我們將介紹數個在業界及學界受到相當重視和使用的嵌入式作業系統。常見的嵌入式作業系統與系統發展工具C/OS-II1992 年由 Jean J. Labrosse 所發表的 C/OS 即時暨嵌入式作業系統是一個具有高度可移植性、可製成唯讀記憶體(ROM) 、可擴充、可中斷、即時以及多工的核心程式。C/OS-II 不但通過了美國 FAA(Federal Aviation Administ

3、ration)的認證,且被商用飛機使用於 RTCA DO178B 的航空裝置。直至目前為止,C/OS-II(含其前身 C/OS)已經被數以百計的商用產品所採用。C/OS-II 擁有著高度的移植性(portability ) ,可基於不同的硬體架構而使用不同的 port,而作業系統本身完全不需要作任何程式碼的更動,目前網路上已經存在為數眾多的 port 可供免費下載。 C/OS-II 作業系統可以控制 63 個應用程式執行緒,而且提供了號誌(semaphore) 、事件旗號(event flag) 、訊息序列(message queue) 、新增/刪除工作及更改工作優先權等服務函式。可信賴度(R

4、eliability)是 C/OS-II 架構所注重的焦點,簡潔而仔細撰寫的原始碼直接提升了系統的可得性(Availability )及可信賴度。其原始碼幾乎百分之九十九符合 MISRA( Motor Industry Software Reliability Association)的程式撰寫格式,任何程式設計師皆可輕易地更改以及維護 C/OS-II。eCoseCos 是 Embedded Configurable Operating System 的簡稱,eCos 目的在提供消費性電子產品(consumer electronics) 、電信通訊、車用電腦以及其他嵌入式應用的即時作業系統。它

5、是一個開放原始碼的嵌入式作業系統,完全支援 GNU的開放原始碼發展工具(GNU open source development tools) 。極富彈性的設計可以讓使用者自行訂製合適的作業系統:依據硬體需求,規畫出最好的即時執行效率以及最佳化的資源使用。組態系統(configuration system)是 eCos 的一項重要技術革新,這個組態系統允許程式開發員將專案的需求加進即時元件中,無論是功能或是應用實作部份。在傳統的嵌入式作業系統中並沒有如此的彈性,往往專案會被限制在僅能使用系統提供的功能而已。組態系統讓專案開發員可以創造出專為該專案所使用的即時系統,也讓 eCos 可以更為廣泛地應

6、用在各個領域。好的組態也讓eCos 可以使用最少的資源,節省不必要的模組。也因為如此,eCos 可以說是一個元件架構(component architecture) ,它提供了一個標準機制使得 eCos 可以更為延展、選擇所需要的即時元件,不論是 eCos 的標準元件或是其他開發者發展的元件。eCos 可以架構在各種硬體架構上,包含了 16、32、64 位元硬體、主要處理器單元(Main Processor Unit,MPU ) 、微控制器單元(Micro Controller Unit,MCU)和數位訊號處理器( Digital Signal Processor,DSP )等。其可攜性來自於

7、將 eCos 核心、函式庫及即時元件等放置在硬體抽象層(HAL ,Hardware Abstraction Layer)之上,如果要移植到其他硬體架構,只要把 HAL 和相關的裝置驅動程式修改替換即可。Embedded Linux通常我們稱使用於嵌入式系統內的 Linux 為 Embedded Linux,雖然以往大多數 Linux 系統運行在 PC 平台上,但因其原始碼開放免費、可擴充性、可設定性、模組與結構化設計並且可長期執行的能力,故近來也漸漸成為嵌入式系統的可靠主力嵌入式作業系統。一個功能完備的 Linux 核心約需 1MB,然而一個有網路功能及 Web 伺服器功能的 Linux 核心

8、大約只需 500KB。另一方面,Linux 已被移植到大多數的微處理器上執行,因此產品開發者只需專注於專屬硬體的驅動程式撰寫及應用程式開發。一般開發主機上以 PC 為主,一般可在其上直接安裝 Linux 為開發系統或是在 Windows 作業系統上安裝 Cygwin,接著下載 Linux 核心的原始碼及 GNU的 Tool-chain,並把 Tool-chain 編譯成 cross-compiler(通常網路上都能下載已經編譯好給各種不同目標 CPU 的二元檔)能將 Linux 核心原始碼編譯成目標板上CPU 能執行的機器碼。在啟動載入程式的選擇上就非常多,如UBOOT、LILO、PMON 都

9、是常強大且免費的套件,而根檔案系統方面,一般都會實作 RAM 磁碟以儲存系統程式及系統檔案,並且啟動 Flash 磁碟以儲存系統運作過程中需要記錄的資料,不會因系統重開機而消失,然而要支援 Flash磁碟,目前主流的解決方案是 MTD 及 JFFS2 套件來建立 Flash 記憶體的虛擬磁碟分割,以支援 Linux 的虛擬磁碟系統(Virtual File System),使一般 Linux 上的應用程式能夠直接要 Flash 磁碟作存取資料的動作,達到透明化(Transparency)的目的。至於系統程式的製作上,目前大多使用 BusyBox 這個套件。有一點特別值得一提的是 Linux 受

10、到 GPL (General Public License)授權的保護,只要在自己的程式中引用部份的 GPL 程式,就必須受到 GPL 的制約,也就是必須公開自己程式的原始碼,因此若此原始碼關乎公司的重要機密,則必須特別留意 GPL 的版權問題。uClinuxuClinux 由 Linux 核心 2.0 衍生而來,是一個專為沒有記憶體管理單元(Memory Management Unit,MMU)的微處理器(microcontroller)所開發的作業系統。由於沒有記憶體管理單元,多工處理(multitasking)變得相當不容易達成;大部份使用 uClinux 的應用程式不需要多工處理。除此

11、之外,在其系統上執行的應用程式及原始碼都重新撰寫成為較輕便的版本,故可把 uClinux視為一個非常非常小的 Linux 核心 2.0。它保有了 Linux 作業系統的特性如:穩定、優越的網路功能(包含了完整的 TCP/IP 堆疊) 、以及強大的檔案系統支援。uClinux 使用一般的 Linux API,其核心小於 512 KB,加上工具也僅約 900KB。MiniDoochunMiniDoochun 1.0 版(迷你豆漿嵌入式 Linux 作業系統)是從 Doochun Linux(豆漿 Linux)延伸出來的子計畫,是一個用來快速開發嵌入式系統原形的框架(framework) 。Mini

12、doochun 實際上只有提供一個預設的根檔案系統(Root File System) ,以及一些自動化的流程。使用者只要把編譯好的核心(Kernel)和嵌入式應用程式( Applications)放進這個預設框架內,執行“make”指令,就可以在 10 分鐘以內得到一個可以試驗的嵌入式系統軟體元件。目前 MiniDoochun 採用 BusyBox 為基本架構,使用 syslinux 為載入程式,利用簡易的 Makefile 及 Shell script 即可順利安裝於 4MB 以下的 DOM(Disk On Module)中,對嵌入式系統的初學者來說,是一套極易上手的系統。ArtOSArt

13、OS 為 Another real-time Operating System 的簡稱,是一套由台灣大學資訊工程所,嵌入式系統暨無線網路實驗室所開發出來的即時核心(Real-Time Kernel) 。ArtOS 即時核心的體積小,兼具有可縮放(scalable)的特性,故能以最小的核心滿足所需的功能,最精簡的版本僅需 24Kb;並具有多工執行(multi-tasking ) 、可佔先排程(preemptive) 、可製成唯讀記憶體(ROMable )等特性。ArtOS 核心對硬體有著高度的移植性(portability) ,核心的絕大部份由ANSI C 撰寫,其他與微處理器相關的程式碼( m

14、icroprocessor-specific code)由組合語言撰寫。這個部分被獨立出來成為 port,對於不同的硬體(target hardware)需要使用專為其撰寫的 port。ArtOS 只要搭配不同的 port,即可移植至不同的微處理器上運作;可移植到大部份微處理器,只要該處理器提供堆疊指標(stack pointer)以及能夠把暫存器的內容推進/ 取出(push/pop)堆疊,還有所使用的 C 語言編譯器必須提供 in-line assembly 或 language extensions 使得在 C 程式中可以決定容許插斷與否(enable/disable interrupt)

15、 。Port 部份的介面設計與 COS-II 的 port 相容,可以直接使用 COS-II 的 port。因此,雖然是新開發的作業系統,已經有為數眾多經測試為可靠的 port 可以使用。ArtOS 可以產生、刪除、排程 15 個應用程式 (總共可支援 16 個,保留一個給系統閒置時使用) ,每個應用程式有獨一無二的優先權(priority ) ;提供 8 個號誌(semaphore)以達到應用程式的同步(synchronization) ;8 個訊息序列(message queue)與總數達 64 個訊息來完成應用程式間的溝通。目前 ArtOS已在 x86、8051、與 ARM 920T 的

16、平台上執行過,已進入穩定測試階段。結語除了以上所提的嵌入式作業系統外,國內亦有產學界同好致力開發的嵌入式作業系統,例如:翔威國際通過由經濟部主導之產品開發計畫,以開發嵌入式作業系統的核心軟體為主要目標。在嵌入式系統的開發過程中,因不同的硬體平台有不同的特性,因此如果要將一套嵌入式作業系統運用在某個硬體平台上,常需花費大量的人力和時間來做作業系統移植的動作。如果能夠以國家的力量來推動開放原始碼的即時暨嵌入式作業系統移植工作,對於嵌入式系統相關產業,將有莫大的幫助。感謝在此感謝台灣大學嵌入式系統暨無線網路實驗室同仁的協助完成此文, 特別感謝張原豪、洪嘉梅、彭念劬。參考資料http:/www.ucos-http:/ecos.sourceware.org/http:/www.uclinux.orghttp:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报