RTOS的必備特性
隨著信息家電的普及,智能化、網絡化將會無所不在,所有這些都離不開嵌入式軟件,而在嵌入式軟件只中最核心的莫過于RTOS(Real Time Operating System,實時操作系統(tǒng))。我們都非常熟悉Windows這樣的操作系統(tǒng),但卻不一定熟悉嵌入式系統(tǒng)中常用的RTOS。如今,微軟已經推出了Windows的嵌入式版本——Windows CE。而風靡一時的Linux也在嵌入式系統(tǒng)中扮演著重要角色。這樣看來,傳統(tǒng)桌面操作系統(tǒng)和嵌入式操作系統(tǒng)的界線似乎也在淡化。事實究竟如何呢?讓我們來聽聽在嵌入式軟件領域頗有造詣的專家是怎么說的。用于嵌入式環(huán)境的操作系統(tǒng)RTOS與桌面操作系統(tǒng)有很多本質的不同。這些不同的特性導致產品開發(fā)的不同結果。
嵌入式環(huán)境給人的第一印象就是占用空間小。所以,普通的Linux或者Windows操作系統(tǒng)要變成嵌入式操作系統(tǒng),首先就是要進行裁剪。然而,與桌面環(huán)境相比,嵌入式環(huán)境對于操作系統(tǒng)系統(tǒng)要求不僅僅是“小”,二者在設計要求上有著本質的不同。這些不同主要體現在可裁剪性、實時性和可靠性等三個方面。
隨機應變——可裁剪性
從硬件環(huán)境來看,桌面操作系統(tǒng)具有標準化的CPU、存儲和I/O架構,而嵌入式環(huán)境中的RTOS的硬件環(huán)境只有標準化的CPU,沒有標準化的存儲、I/O和顯示器架構。
從應用環(huán)境來看,桌面操作系統(tǒng)面向復雜多變的應用,而RTOS面向單一設備的單一應用。
從開發(fā)界面來看,桌面操作系統(tǒng)試圖給開發(fā)人員提供一個“黑箱”,讓開發(fā)人員通過一系列標準的系統(tǒng)調用來使用操作系統(tǒng)中的功能,而嵌入式試圖為開發(fā)人員提供一個“白箱”,讓開發(fā)人員可以自主控制系統(tǒng)的所有資源。
總之,桌面操作系統(tǒng)的研究開發(fā)指導思想是盡可能在不改變自身的前提下具有廣泛的適應性。也就是說:不論應用環(huán)境怎么變化,最好都不要對自身內部產生什么影響,也不要求自身做太多的變化。反過來,應用于嵌入式環(huán)境的RTOS,在研發(fā)的時候就必須立足于改變自身、開放自身,讓開發(fā)人員可以根據硬件環(huán)境和應用環(huán)境的不同而對操作系統(tǒng)進行靈活的裁剪和配置,因為對于任何一個具體的嵌入式設備,它的功能是確定的,因此只要從原有操作系統(tǒng)中把這個特定應用所需的功能拿進來即可。
應當指出的是:如果一個操作系統(tǒng)平臺只能依靠手工的方式去掉一些代碼,這根本就不是可裁剪性。所謂可裁剪性是在軟件工程階段利用軟件配置方法實現軟件構件的“即插即用”。
可裁剪性帶給用戶的一個最直接的好處是硬件成本降低,這對于成本敏感的應用,如消費電子類設備,具有重要的現實意義。由于設備中只包含應用程序用到的那部分操作系統(tǒng)功能,這就使得系統(tǒng)變得簡單、易把握,從而提高系統(tǒng)的可靠性。
[1] [2] [3]