3500/25
MiniGUI的特點(diǎn)
MiniGUI是由原清華大學(xué)教師魏永明主持開(kāi)發(fā)的輕量級(jí)圖形系統(tǒng),是一種面向嵌入式或?qū)崟r(shí)系統(tǒng)的圖形用戶(hù)界面支持系統(tǒng)。它遵循GPL公約,是基于SVGALib及LinuxThread庫(kù)的多窗口GUI支持系統(tǒng)。能跨多種操作系統(tǒng),主要運(yùn)行于linux及一切具有POSIX線(xiàn)程支持的 POSIX兼容系統(tǒng),包括普通嵌入式Linux、eCos、uC/OS-II、VxWorks等系統(tǒng),是國(guó)內(nèi)最早的自由軟件之一。
MiniGUI的主要特點(diǎn)有:
(1) 遵循GPL條款的純自由軟件;
(2) 提供了完備的多窗口機(jī)制;
(3) 多字符集和多字體支持,目前支持ISO8859-1、GB2312及Big5等字符集,并且支持各種光柵字體和TrueType、Type1等矢量字體;
(4) 全拼和五筆等漢字輸入法支持;
(5) BMP、GIF、JPEG及PCX等常見(jiàn)圖像文件的支持;
(6) Windows的資源文件支持,如位圖、圖標(biāo)、光標(biāo)、插入符、定時(shí)器及加速鍵等;
(7) 可移植性好。
1.2 MiniGUI的體系結(jié)構(gòu)
1.2.1多線(xiàn)程的分層設(shè)計(jì)
從整體結(jié)構(gòu)上看,MiniGUI是分層設(shè)計(jì)的,結(jié)構(gòu)如圖1所示。在最底層,GAL(圖形抽象層)和IAL(輸入抽象層)及鼠標(biāo)和鍵盤(pán)的驅(qū)動(dòng);中間層是MiniGUI的核心層,包括窗口系統(tǒng)必不可少的各個(gè)模塊;最頂層是API,即編程接口。GAL和IAL為MiniGUI提供了底層的Linux 控制臺(tái)或者X Window上的圖形接口以及輸入接口,而Pthread用于提供內(nèi)核級(jí)線(xiàn)程支持的C函數(shù)庫(kù)。利用GAL和IAL,大大提高了 MiniGUI的可移植性,并且使程序的開(kāi)發(fā)和調(diào)試變得更加容易。可以在X Window上開(kāi)發(fā)和調(diào)試自己的MiniGUI程序,通過(guò)重新編譯就可以讓 MiniGUI應(yīng)用程序運(yùn)行在特殊的嵌入式硬件平臺(tái)上。
MiniGUI本身運(yùn)行在多線(xiàn)程模式下,它的許多模塊都以單獨(dú)的線(xiàn)程運(yùn)行,同時(shí),MiniGUI還利用線(xiàn)程來(lái)支持多窗口。從本質(zhì)上講,每個(gè)線(xiàn)程有一個(gè)消息隊(duì)列,消息隊(duì)列是實(shí)現(xiàn)線(xiàn)程數(shù)據(jù)交換和同步的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。一個(gè)線(xiàn)程向消息隊(duì)列中發(fā)送消息,而另一個(gè)線(xiàn)程從這個(gè)消息隊(duì)列中獲取消息,同一個(gè)線(xiàn)程中創(chuàng)建的窗口可共享同一個(gè)消息隊(duì)列。一個(gè)線(xiàn)程向消息隊(duì)列中發(fā)送消息,而另一個(gè)線(xiàn)程從這個(gè)消息隊(duì)列中獲取消息,同一個(gè)線(xiàn)程中創(chuàng)建的窗口可共享同一個(gè)消息隊(duì)列。利用消息隊(duì)列和多線(xiàn)程之間的同步機(jī)制,可以實(shí)現(xiàn)下面要講到的微客戶(hù)/服務(wù)器機(jī)制。

3500/25
聯(lián)系人:歐工
手機(jī):18030229050
電話(huà):0592-5709821
傳真:0592-5917519
QQ 3151326358
郵箱 3151326358@qq.com
IC693CPU352 IC693CPU360 IC693CPU363
IC693CPU364 IC693CPU366 IC693CPU367
IC693CPU370 IC693CPU372 IC693CPU374
IC693DNM200 IC693DNS201 IC693DSM302
IC693DSM314 IC693DSM324 IC693LBR301
IC693LBR302 IC693MAR590 IC693MCD001
IC693MCM001 IC693MDL230 IC693MDL231
IC693MDL240 IC693MDL241 IC693MDL250
IC693MDL260 IC693MDL310 IC693MDL330
IC693MDL340 IC693MDL350 IC693MDL390
IC693MDL632 IC693MDL633 IC693MDL634
IC693MDL640 IC693MDL641 IC693MDL643
IC693MDL644 IC693MDL645 IC693MDL646
IC693MDL648 IC693MDL653 IC693MDL654
IC693MDL655 IC693MDL660 IC693MDL730
IC693MDL731 IC693MDL732 IC693MDL733
IC693MDL734 IC693MDL740 IC693MDL741
IC693MDL742 IC693MDL748 IC693MDL752
IC693MDL753 IC693MDL754 IC693MDL760