嵌入式系統和桌面通用系統的區別
時間:2023-10-24 來源:華清遠見
系統,即若干部分相互聯系、相互作用,形成的具有某些功能的整體。
目前我們生活中接觸最多的就是操作系統,操作系統(Operating System,簡稱OS)是管理和控制計算機硬件與軟件資源的計算機程序,它是直接運行在“裸機”上的最基本的系統軟件,任何其他軟件都必須在操作系統的支持下才能運行。換句話說,操作系統是用戶和計算機的接口,同時也是計算機硬件和其他軟件的接口。操作系統的功能包括管理計算機系統的硬件、軟件及數據資源,控制程序運行,改善人機界面,為其他應用軟件提供支持等,以使計算機系統所有資源最大限度地發揮作用。現代操作系統提供了各種形式的用戶界面,使得用戶可以擁有一個好的工作環境,并且為其他軟件的開發提供必要的服務和相應的接口。而提到操作系統又不得不說兩大分支:嵌入式系統和桌面通用系統。
首先來看嵌入式系統,嵌入式操作系統(Embedded Operating System,EOS)是運行在嵌入式系統環境中,對整個嵌入式系統以及它所操作、控制的各種部件裝置等資源進行統一協調、調度、指揮和控制的系統軟件。嵌入式操作系統的一個重要特性是實時性。所謂實時性,就是在確定的時間范圍內響應某個事件的特性。操作系統的實時性在某些領域是至關重要的,如工業控制、航空航天等領域。想象一下飛機正在空中飛行,如果嵌入式系統不能及時響應飛行員的控制指令,那么極有可能導致空難事故。而有些嵌入式系統應用并不需要絕對的實時性,如 PDA 播放音樂,個別音頻數據丟失并不影響效果,這可以使用軟實時的概念來衡量。
從 20 世紀 80年代開始,出現了一些商用嵌入式操作系統,它們大部分都是為專有系統而開發的。隨著嵌入式領域的發展,各種各樣的嵌入式操作系統會相繼問世。有許多商用嵌入式操作系統,也有大量開放源代碼的嵌入式操作系統。其中著名的嵌入式操作系統有 Linux、μC/OS、Windows CE、VxWorks 和 QNX等,下面主要介紹使用最廣泛的Linux嵌入式系統。
嵌入式 Linux 的隊伍越來越龐大,在通信、信息、數字家庭、工業控制等領域,隨處都能見到嵌入式 Linux 的身影。究竟是什么原因讓嵌入式 Linux發展如此迅速呢?又究竟是什么原因讓它能與強勁的 VxWorks、Windows CE 相抗衡呢?這一切還是要歸根于 Linux。可以說,嵌入式 Linux 正是繼承和發展了 Linux 的誘人之處才能夠走到今天,而 Linux 也正是有了嵌入式Linux 的廣泛應用才更加引人注目。以下就從 Linux 的發端開始,一層層揭開嵌入式 Linux 的面紗。
20 世紀 60 年代時,大部分計算機都是采用批處理的方式(也就是說,當作業積累到一定數量的時候,計算機才會處理)。
為了改變這種現狀,美國電報及電話公司(AT&T)、通用電器公司(GE)及麻省理工學院(MIT)計劃合作開發一個多用途、分時及多用戶的操作系統,也就是 MULTICS。但是由于這個項目太過于復雜,整個目標過于龐大,糅合了太多的特性,進展太慢,幾年下來沒有任何成果,而且性能很低。
1969 年 2 月,貝爾實驗室(Bell labs)決定退出這個項目。當時貝爾實驗室有個工程師叫 Ken Thompson,他為 MULTICS 寫了一個叫“Space Travel”的游戲,當時他發現游戲運行的速度很慢。為了這個游戲能玩,他找來了一位天才工程師 Dennis Ritchie,他們用匯編語言寫了一個簡單的操作系統 Unics,這就是后來的 UNIX 的原型。
1973 年,Ken Thompson 和 Dennis Ritchie 發現用匯編語言移植過于困難,后來他們先后用 B 語言、C 語言重寫了 UNIX。
1974 年,UNIX 首次和外界接觸,引起了學術界的廣泛興趣。因此,UNIX從第 5 版本以“僅用于教育目的”協議,提供給各大學作為教學之用。UNIX開始廣泛流行。
1978年,伯克利大學在 UNIX上進行改進,推出了自己的 UNIX版本——Berkeley Softwore Distribution,即 BSD。同時,AT&T 公司成立了 USG(UNIX Support Group)組織,將 UNIX 變成了商業化的產品。AT&T的這種商業態度讓當時許許多多的 UNIX的愛好者和軟件開發者們感到相當的痛心和憂慮,他們認為商業化的種種限制并不利于產品的發展,相反還會導致出現諸多的問題。
此時,一個名叫 Richard Stallman 的領軍人物出現了,他認為 UNIX 是一個相當好的操作系統,如果大家都能夠將自己所學貢獻出來,那么這個系統將會更加的優異!他倡導 Open Source 的概念。為了這個理想,Richard Stallman 于 1984 年創立了 GNU,計劃開發一套與 UNIX 相互兼容的軟件。1985 年 Richard Stallman 又創立了自由軟件基金會(Free Software Foundation,FSF)來為 GNU 計劃提供技術、法律以及財政支持。盡管 GNU計劃大部分時候是由個人自愿無償貢獻的,但 FSF 有時還是會聘請程序員幫助編寫。當 GNU 計劃開始逐漸獲得成功時,一些商業公司開始介入開發和技術支持。
自 20 世紀 90 年代發起這個計劃以來,GNU 開始大量地產生或收集各種系統所必備的組件,如函數庫(Libraries)、編譯器(Compilers)、調試工具(Debuggers)、文本編輯器(Text Editors)、網站服務器(Web Server),以及一個 UNIX 的使用者接口(UNIX Shell)等。但由于種種原因,GNU 一直沒有開發操作系統的內核(Kernel)。正當 Richard Stallman 在為操作系統內核傷腦筋的時候,Linux 出現了。
1991 年,芬蘭赫爾辛基大學的學生 Linus Torvals 為了能在家里的 PC上使用與學校一樣的操作系統,開始編寫自己的類 UNIX 操作系統。
1991年8月25日,Linus就在comp.os.minix新聞組中首次發布了Linux內核的第一個公共版本。
最初 Linus 編寫的程序只適用于 Intel 386 處理器,且不能移植。由于人們的鼓勵,Torvals 繼續編寫可移植的 Linux 系統。
之后,就有越來越多的計算機愛好者、程序員通過網絡,包括通過社區、郵件列表、論壇、Wiki 等參與到 Linux 系統的不斷完善之中。
Linux 系統的發展過程可以看出,Linux 從最開始就是一個開放的系統,并且它始終遵循著開放源代碼的原則,是一個成熟而穩定的網絡操作系統。Linux 作為嵌入式操作系統的優勢如下。
1.低成本開發系統
Linux的源碼開放性允許任何人可以獲取并修改 Linux的源碼。這樣一方面大大降低了開發的成本,另一方面又可以提高開發產品的效率,并且還可以在Linux社區中獲得支持,用戶只需向郵件列表發一封郵件,即可獲得作者的支持。
2.可應用于多種硬件平臺
Linux 可支持 x86、PowerPC、ARM、XSCALE、MIPS、SH、68K、Alpha、SPARC 等多種體系結構,并且已經被移植到多種硬件平臺。這對于經費、時間受限制的研究與開發項目是很有吸引力的。Linux 采用一個統一的框架對硬件進行管理,同時從一個硬件平臺到另一個硬件平臺的改動與上層應用無關。
3.可定制的內核
Linux 具有獨特的內核模塊機制,它可以根據用戶的需要,實時地將某些模塊插入或移出內核,并能根據嵌入式設備的個性需要量體裁衣。經裁剪的 Linux 內核最小可達到 150KB 以下,尤其適合嵌入式領域中資源受限的實際情況。在 2.6 內核中加入了許多嵌入式友好特性,如構建用于不需要用戶界面的設備的小占板面積內核選項。
4.性能優異
Linux 系統內核精簡、高效和穩定,能夠充分發揮硬件的功能,因此它比其他操作系統的運行效率更高。在個人計算機上使用 Linux 時,可以將它作為工作站。它也非常適合在嵌入式領域中應用,對比其他操作系統,它占用的資源更少,運行更穩定,速度更快。
5.良好的網絡支持
Linux 是首先實現 TCP/IP 協議棧的操作系統,它的內核結構在網絡方面是非常完整的,并提供了對包括 10 吉比特、100 吉比特及 1 000 吉比特的以太網,還有無線網絡、Token Ring(令牌環)和光纖甚至衛星的支持。這對現在依賴于網絡的嵌入式設備來說無疑是很好的選擇。
在桌面通用系統上,微軟Windows系列基本上控制了整個市場,而MAC OS X系列的界面表現極為出色,Linux和它的發行版共同組成了自由軟件組織(開源,免費),目前國內對于Linux發行版的硬件支持越來越完善。從應用環境來看,桌面通用系統面向復雜多變的各類應用,比如使用CAD、EDA、PS等等應用。
Windows操作系統采用了GUI圖形化操作模式,比起從前的指令操作系統如DOS更為人性化。
MAC操作系統是美國蘋果計算機公司設計的操作系統,在出版、印刷、影視制作和教育領域有著廣泛的應用。
Linux是當今電腦界一個耀眼的名字,是目前全球最大的一個自由免費軟件,其本身是一個功能可與Unix和Windows相媲美的操作系統。
嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于應用系統,對功能、可靠性、成本、體積、功耗等方面有特殊要求的專用計算機系統。
從上面的定義我們可以知道,嵌入式系統也是一個計算機系統。下面我們就看看嵌入式系統和桌面通用系統的區別。
(1)嵌入式系統是面向特定系統應用的。嵌入式處理器大多數是專門為特定應用設計的,具有功耗低、體積小、集成度高等特點,一般是包含各種外圍設備接口的片上系統。
(2)嵌入式系統涉及計算機技術、微電子技術、電子技術、通信、軟件等各行各業。它是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
(3)嵌入式系統的硬件和軟件都必須具備高度可定制性,只有這樣才能適應嵌入式系統應用的需要,在產品價格、性能等方面具備競爭力。
(4)嵌入式系統的生命周期相當長。當嵌入式系統應用到產品以后,還可以進行軟件升級,它的生命周期與產品的生命周期幾乎一樣長。
(5)嵌入式系統不具備本地系統開發能力,通常需要有一套專門的開發工具和環境。
在計算機后 PC 技術時代,嵌入式系統將擁有龐大的市場。計算機和網絡已經全面滲透到日常生活的每一個角落。各種各樣的新型嵌入式系統設備在應用數量上已經遠遠超過通用計算機,任何一個普通人都可能擁有從小到大的各種使用嵌入式技術的電子產品,小到機頂盒、智能手機、照相機等微型數字化產品,大到智能家居、智能農業、智能交通等等。而在工業和服務領域中,使用嵌入式技術的數字機床、智能工具、工業機器人、服務機器人也將逐漸改變傳統的工業和服務方式。

