基于嵌入式Linux系統界面的研究

利用GAL和IAL,大大提高了MiniGUI的可移植性,并且使程序的開發和調試變得更加容易。可以在XWindow上開發和調試自己的MiniGUI程序,通過重新編譯就可以讓MiniGUI應用程序運行在特殊的嵌入式硬件平臺上。
MiniGUI本身運行在多線程模式下,他的許多模塊都以單獨的線程運行,同時,MiniGUI還利用線程來支持多窗口。從本質上講,每個線程有一個消息隊列,消息隊列是實現線程數據交換和同步的關鍵數據結構。一個線程向消息隊列中發送消息,而另一個線程從這個消息隊列中獲取消息,同一個線程中創建的窗口可共享同一個消息隊列。
多線程有一定的好處,但不方便的是不同的線程共享同一個地址空間,因此,客戶線程可能會破壞系統服務器線程的數據,但有一個重要的優勢是,由于共享地址空間,線程之間就沒有額外的數據復制開銷。由于MiniGUI是面向嵌入式或實時控制系統的,因此,這種應用環境下的應用程序往往具有單一的功能,從而使得采用多線程而非多進程模式實現圖形界面有了一定的實際意義,也更加符合MiniGUI之“Mini”的特色。
在多線程環境中,與多進程間的通訊機制類似,線程之間也有交互和同步的需求。比如,用來管理窗口的線程維持全局的窗口列表,而其他線程不能直接修改這些全局的數據結構,而必須依據“先來先服務”的原則,依次處理每個線程的請求,這就是一般性的C/S模式。MiniGUI利用線程之間的同步操作實現了客戶線程和服務器線程之間的微C/S機制,之所以這樣命名,是因為客戶和服務器是同一進程中的不同線程。
4MiniGUI在雷達顯示界面上的應用
我們自主裁剪了Linux系統,并在此基礎上安裝了基于SVGALib圖形引擎的MiniGUI輕量級圖形用戶界面支持系統,基于MiniGUI編寫了圖形用戶界面雷達終端顯示應用程序。
5結語
嵌入式Linux系統是源代碼開放的一種可裁剪的軟件平臺系統,不存在黑箱技術。他的小巧、穩定、多任務、可配置、高性能、高可靠性、硬件的良好支持和價格的優勢,尤其網絡功能的強大,使他迅速成長發展,受到廣大開發人員的青睞。
MiniGUI是國人自行開發研制的適合嵌入式系統的輕量級圖形用戶界面支持系統,他采用WIN32體系架構,提供了完備的多窗口機制、對話框和預定義的控件類,消息傳遞機制等,大大地簡化了開發人員的界面設計。
但是,國產的嵌入式操作系統在技術含量、兼容性、市場運作模式等方面也還有很多工作要做,我們應該在跟蹤國外嵌入式操作系統的最新技術的同時,堅持自主產權,力爭找到自己的突破點,探索出一條自己的發展道路。Linux正提供了一個這樣的平臺。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論