當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]X-Window系統(tǒng)介紹

一.X-Window系統(tǒng)簡介

  X-Window(也常稱為X11或X)系統(tǒng)是一種以位圖方式顯示的軟件視窗系統(tǒng),最初是1984年麻省理工學(xué)院的研究,之后變成UNIX、類UNIX、以及OpenVMS等操作系統(tǒng)所一致適用的標(biāo)準(zhǔn)化軟件工具包及顯示架構(gòu)的運作協(xié)議。X Window系統(tǒng)通過軟件工具及架構(gòu)協(xié)議來建立操作系統(tǒng)所用的圖形用戶界面,此后則逐漸擴展適用到各形各色的其他操作系統(tǒng)上?,F(xiàn)在幾乎所有的操作系統(tǒng)都能支持與使用X。更重要的是,今日知名的桌面環(huán)境——GNOME和KDE也都是以X Window系統(tǒng)為基礎(chǔ)建構(gòu)成的。

  二.X-Window的發(fā)展歷史

  知曉過去才能明白現(xiàn)在,預(yù)見將來,我們需要清楚的了解X-Window的發(fā)展歷史,盡管這有些曲折。

  1、 前身:

  事實上,早在X出現(xiàn)前已有幾個位圖式的軟件顯示系統(tǒng)已經(jīng)存在,例如帕洛阿爾托研究中心(施樂公司)提出的Alto(1973年)和Star(1981年)、蘋果計算機提出的Lisa(1983年)和麥金塔(1984年)、在UNIX世界也有雅典娜工程(1982年)和Rob Pike的Blit終端機(1984年)。

  1983年之前稱為W-Window系統(tǒng)的窗口系統(tǒng)是X的真正前身(在拉丁字母里面 X 直接接在 W 后面)。W-Window系統(tǒng)運行于系統(tǒng)V之上,W使用一個支持終端機和圖形窗口的網(wǎng)絡(luò)協(xié)議,而服務(wù)器維護顯示的列表。

  2、 起源:

  X-Window于1984年在麻省理工學(xué)院(MIT)電腦科學(xué)研究室開始開發(fā)的,當(dāng)時Bob Scheifler正在發(fā)展分散式系統(tǒng)(distributed system),同一時間DEC公司的 Jim Gettys 正在麻省理工學(xué)院Athena計劃的一部分。兩個計劃都需要一個相同的東西——一套UNIX機器上運行優(yōu)良的視窗系統(tǒng)。因此合作關(guān)系開始展開,他們從斯坦福(Stanford)大學(xué)得到了一套叫做W的實驗性視窗系統(tǒng)。因為是根據(jù)W視窗系統(tǒng)的基礎(chǔ)開始發(fā)展的,當(dāng)發(fā)展到了足以和原先系統(tǒng)有明顯區(qū)別時,他們把這個新系統(tǒng)叫做X。

  3、版本發(fā)展歷史

  

 [!--empirenews.page--]

  

 

  (注:X11協(xié)議設(shè)計由Scheifler領(lǐng)導(dǎo),并在nascent Internet的開放郵件列表上廣泛討論。于是X成為最早的較大規(guī)模的開源軟件項目之一)

  4、 對X-Window的管理歷史

  1)MIT X協(xié)會與X協(xié)會公司

  1987年,隨著X11取得明顯成功,MIT希望免除X的管理責(zé)任。但是1987年6月與9個廠商舉行會晤,這些廠商表示他們相信為了避免 X 由于商業(yè)因素而分裂,需要中立方的參與。1988年1月,X協(xié)會(X Consortium)做為非營利廠商團體而成立,由Scheifler擔(dān)任主管,而Keith Packard擔(dān)任高級開發(fā)人員,確保 X 能持續(xù)以中立超然的立場提供商業(yè)與學(xué)術(shù)教育所需的開發(fā)。1993年,X協(xié)會公司(X Consortium, Inc.;非營利性質(zhì)的公司)做為MIT X協(xié)會的接繼者而成立

  2)開放團體

  1997年中,X Consortium將X的管理交給開放團體(The Open Group),而它是1996年由開源軟件基金會(Open Software Foundation;OSF)和X/Open合并成立的廠商團體。

  3)X.Org

  1999年5月開放團體組建了X.Org。X.Org指導(dǎo)了X11R6.5.1之前的版本發(fā)布。在此期間X的開發(fā)死氣沉沉。2003年,隨著Linux的流行X被大量安裝。但是X.Org幾乎無聲無息,活躍的開發(fā)由XFree86承擔(dān)。

  4)XFree86

  在19*至1990年期間,托馬斯?羅爾把X11R4分類器上提供的X服務(wù)器程序的源代碼下載到運行速度僅為33MHz的386PC 上,成功運行了被他稱為是X38611.1的X服務(wù)器。這就是XFree86的雛形。

  1992年后多數(shù)技術(shù)創(chuàng)新都發(fā)生在XFree86項目中。1999年,由于眾多對于XFree86在Linux上應(yīng)用有興趣的硬件廠商的推動,并也已經(jīng)成為最普及的X版本,XFree86成為X.Org的榮譽成員(不付費)。

  但是自2003年開始,XFree86內(nèi)部卻發(fā)生了爭論。它被認(rèn)為太教堂式了,如同它的開發(fā)模式;開發(fā)者不能通過CVS做提交,而廠商被迫維護大量補丁。2003年3月,自從最初的MIT X Consortium結(jié)束之后就參加XFree86的Keith Packard由于被認(rèn)為態(tài)度不良而被驅(qū)逐

  X.Org和XFree86開始討論能夠有助于X開發(fā)的重組Jim Gettys早在2000年就熱心于開放的開發(fā)模式。Gettys、Packard和其他幾個人開始討論有效管理X和開放式開發(fā)的細(xì)節(jié)。

  最終就像是X11R*許可證爭議的回響,XFree86于2004年2月在更加嚴(yán)格許可證下發(fā)布了4.4 。許多依賴X的項目認(rèn)為該許可證無法接受,特別是它和GNU General Public License不兼容。這引起一場論戰(zhàn),許多人認(rèn)為到了該對XFree86分叉(fork)的時候了,許多Linux發(fā)行版,包括Fedora、Gentoo都紛紛在最新的版本中使用X.Org基金會的發(fā)布代替XFree86。

  5)X.Org基金會

  2004年年初X.Org基金會成立。這意味著 X 在管理上的根本轉(zhuǎn)變。1988年以來 X 的管理者(包括過去的X.Org)都是廠商組織,而基金會由軟件開發(fā)者領(lǐng)導(dǎo),采用依靠外部參與的集市模式的社區(qū)開發(fā)。其成員身份對個人開放,法人成員則成為贊助者。X.Org還開始同freedesktop.org密切合作[!--empirenews.page--]三.X的設(shè)計原則

 

  X的設(shè)計原則,早在最初仍在麻省理工學(xué)院的階段(1984年)就已經(jīng)成形,由Bob Scheifler和Jim Gettys兩人制訂出X最早的開發(fā)、強化、改進原則,原則大體如下:

  1、除非沒有它就無法完成一個真正完整的應(yīng)用程序,否則不用增加新的功能。

  2、決定一個系統(tǒng)不是什么和決定它是什么同樣重要。與其去適應(yīng)整個世界的需要,寧可使得系統(tǒng)可以擴展,如此才能以持續(xù)兼容的方式來滿足新增需求

  3、只有完全沒實例時,才會比只有一個實例來的糟。

  4、如果問題沒完全弄懂,最好不要去解決它

  5、如果可以通過10%的工作量得到90%的預(yù)期效果,應(yīng)該用更簡單的辦法解決。

  6、盡量避免復(fù)雜性。

  7、提供機制而不是策略,有關(guān)用戶界面的開發(fā)實現(xiàn),交給實際應(yīng)用者自主。(這和驅(qū)動開發(fā)的思想一脈相承)

  之后,上述原則中的第一項原則在設(shè)計X11時被加以修改,修訂成:“除非已有真正的應(yīng)用程序,真的需要X為其修訂、增訂等支持,否則不會為X增加新功能。”X基本上一直遵循這些原則,參考實現(xiàn)的擴展及改進也是以此原則的角度來著手,也因為奉行上述原則,使至今的最新版X仍能與最初(1987年)發(fā)布的協(xié)議標(biāo)準(zhǔn)近乎完全兼容。

  這些原則性的東西短短幾句話,就為一個龐大項目奠定了一個良好的基調(diào)和發(fā)展方向,使X問世以來經(jīng)久不衰,沒有這幾個原則是做不到的。

  四.X-Window的功能

  X-Window提供了一組非常底層的服務(wù),客戶端程序發(fā)送請求給X-Window, X Window根據(jù)請求完成相應(yīng)服務(wù)。通過這些服務(wù),客戶端程序可以構(gòu)建期望的用戶界面。根據(jù)不同的功能,可以把這些服務(wù)分為以下幾大類:

  1、處理輸入

  X-Window從鍵盤和鼠標(biāo)接受輸入,這些輸入數(shù)據(jù)被當(dāng)作”事件”傳送給適當(dāng)?shù)目蛻舳顺绦?。至于哪個窗口應(yīng)該接受到這些事件,是依賴于窗口管理器的(窗口管理器實際上也是一個客戶端),典型的事件包括按鍵,鼠標(biāo)移動,鼠標(biāo)按下/放開等。

  輸入設(shè)備往往是與硬件平臺相關(guān)的,而且又是獨占資源,所以用X-Window管理是理所當(dāng)然的。應(yīng)用程序通常不需要關(guān)心具體的設(shè)備,只要處理相應(yīng)的事件就行了,像mouse和筆點可能發(fā)出同樣的事件,而應(yīng)用程序不用區(qū)分它們。輸入事件也可以通過XTest擴展,由軟件模擬出來的(通常用來實現(xiàn)軟件鍵盤)

  2、按層次形組織窗口

  X-Window提供服務(wù)讓客戶端程序創(chuàng)建/銷毀窗口,所謂的窗口就是屏幕上的矩形區(qū)域,它是可以層層嵌套的,有很多操作可以作用于窗口(如,查詢或改變窗口的大小和位置等),X-Window的主要功能之一就是負(fù)責(zé)管理這種按層次形組織的窗口。

  不過X-Window管理這些窗口是被動進行的,由窗口管理器根據(jù)用戶的行為決定。它請求X-Window做相應(yīng)的動作,比如移動窗口,調(diào)整窗口的大小,改變窗口的前后關(guān)系等等。第一次接觸X-Window時,得知窗口管理器是一個普通的客戶端時,我覺得驚訝,這種設(shè)計真是太先進了,其實它正是遵循了提供機制而不是策略這一原則。

  現(xiàn)在已經(jīng)有很多窗口管理器的實現(xiàn)可用,它們提供不同的風(fēng)格和功能,有的用于PC,有的用于嵌入式系統(tǒng),像matchbox就是在嵌入式上比較流行的,像Nokia的N770/N800就是用的matchbox。

  3、提供圖形操作

  X-Window提供了一些基本的畫圖操作,如畫直線、矩形、圓弧和多邊形等。這些圖形的顏色、線寬、填充類型都可以由客戶端程序指定。X-Window同時提供了許多位圖操作,這些位圖操作可以作用于了窗口的各個區(qū)域。

  X-Winwod還會充分挖掘硬件的加速特性,像填充、畫直線和圖像疊加等操作,如果硬件支持相應(yīng)的加速功能,就可以通過硬件實現(xiàn),否則就用軟件實現(xiàn)。

  4、提供文本和字體操作

  X-Window提供了字體相關(guān)的操作??蛻舳顺绦蚩梢哉埱骕-window在指定的區(qū)域用指定的字體顯示指定的字符串,當(dāng)然在此之前應(yīng)該請求X-window加載字體,加載后客戶端程序可以得到關(guān)于字體的一些信息。

  實際上,這一功能由于客戶端字體繪制的流行,而大大弱化了,現(xiàn)在的字體差不多都是在客戶端繪制好后,再通過X Render擴展顯示到X-Window去的。在fontconfig/freetype/pango/cairo的幫助,在客戶端繪制字體更容易使用。

  名詞解釋:

  位圖:

  位圖(Bitmap),又稱光柵圖(Raster graphics),是使用像素陣列來表示的圖像,每個像素的色彩信息由RGB組合或者灰度值表示。根據(jù)顏色信息所需的數(shù)據(jù)位分為1、4、8、16、24及32位等,位數(shù)越高顏色越豐富,相應(yīng)的數(shù)據(jù)量越大。其中使用1位表示一個像素顏色的位圖因為一個數(shù)據(jù)位只能表示兩種顏色,所以又稱為二值位圖。通常使用24位RGB組合數(shù)據(jù)位表示的的位圖稱為真彩色位圖

  視窗系統(tǒng):

  視窗系統(tǒng)(Windowing system) 是“使用視窗當(dāng)作它的主要象征之一”的圖形使用者接口的構(gòu)成元件。更為明確的說,是桌面環(huán)境的構(gòu)成元件。視窗系統(tǒng)支撐著視窗管理員的實現(xiàn)(implementation);對于“圖像硬件(graphics hardware)、指向裝置(pointing devices)比如鼠標(biāo)與鍵盤等裝置”提供基本支持。繪制鼠標(biāo)光標(biāo),一般也與視窗系統(tǒng)相關(guān)。

  從程式設(shè)計師的觀點來看,視窗系統(tǒng)是作出繪圖的基本單位,比如字型繪制,或是在屏幕上劃線,有效地提供繪圖硬件的一種抽象概念。

  視窗系統(tǒng)能讓電腦使用者同時與數(shù)個程式一起工作。每個程式在他自己的視窗中執(zhí)行,也就是屏幕上的矩形之中。大部份的視窗系統(tǒng)允許視窗重疊,且提供使用者執(zhí)行標(biāo)準(zhǔn)的操作,像是移動/改變視窗尺寸,把視窗送到前景/背景,和最小化/最大化一個視窗。

  有些視窗系統(tǒng),像是 X,有先進的能力比如網(wǎng)絡(luò)通透性,允許使用者在遠(yuǎn)端機器上執(zhí)行圖形的應(yīng)用程式。

  雅典娜工程:

  雅典娜工程是MIT、DEC以及IBM的一個聯(lián)合工程,歷時八年,于1991年6月30日告一段落。該工程意圖建立一個計算機環(huán)境,容納多達(dá)一萬臺工作站,以及各種硬件。用戶可以訪問其中的任何工作站,存取任何文件、程序,但在用戶界面以及服務(wù)傳遞上,看起來不會有大的區(qū)別。

  這個工程產(chǎn)生了許多現(xiàn)在被廣為使用的技術(shù),比如X Window System、Kerberos。雅典娜工程開發(fā)的其他技術(shù)包括Xaw部件工具箱、Zephyr通知服務(wù)、第一個即時通訊服務(wù),以及Hesiod名,還有目錄服務(wù)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉