国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網(wǎng)>,專注嵌入式工程師培養(yǎng)15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > X-Window系統(tǒng)介紹
X-Window系統(tǒng)介紹
時間:2016-12-30作者:華清遠見

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

X-Window(也常稱為X11或X)系統(tǒng)是一種以位圖方式顯示的軟件視窗系統(tǒng),初是1984年麻省理工學院的研究,之后變成UNIX、類UNIX、以及OpenVMS等操作系統(tǒng)所一致適用的標準化軟件工具包顯示架構(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)為基礎建構(gòu)成的。

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

知曉過去才能明白現(xiàn)在,預見將來,我們需要清楚的了解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)絡協(xié)議,而服務器維護顯示的列表。

2、 起源:

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

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

版本

發(fā)表日期

重大變更

X1

1984年6月

    首次使用"X"作為稱呼;基金會自此將W與X區(qū)隔。

X6

1985年1月

    首版授權給若干的外部公司。

X9

1985年9月

    彩色化,以及首次以MIT授權方式發(fā)布。

X10

1985年后期

    開始能在IBM RT/PC、IBM PC AT(使用DOS操作系統(tǒng))以及其他硬件上運行。

X10R2

1986年1月

 

X10R3

1986年2月

    首次在MIT之外發(fā)布。uwm使窗口管理員(Window Manager)程序標準化。

X10R4

1986年12月

    發(fā)布X10的后一版。

X11

1987年9月15日

    首次發(fā)布現(xiàn)有X Window系統(tǒng)所用的協(xié)議(Protocol)。

X11R2

1988年2月

    以X協(xié)會(Consortium)之名的首次發(fā)布。

X11R3

1988年10月25日

    發(fā)布XDM

X11R4

1989年12月22日

    XDMCP、twm成為標準的窗口管理員(Window Manager)程序,同時強化應用程序、發(fā)布Shape extension及新的字體。

X11R5

1991年12月5日

    發(fā)布PEX、Xcms(色彩管理功用)、字體服務器、X386。

X11R6

1994年5月16日

    發(fā)布ICCCM v2.0;Inter-Client Exchange(用戶端間的交換);X Session Management(進程管理程序);X Synchronization extension(同步機制延伸程序);X Image extension(圖像延伸程序);XTEST extension(XTEST延伸程序);X Input(輸入用程序);X Big Requests;XC-MISC;變更XFree86。

X11R6.1

1996年3月14日

    發(fā)布X Double Buffer extension(雙重緩沖延伸程序);X keyboard extension(鍵盤延伸程序);X Record extension(記錄延伸程序)。

X11R6.2
X11R6.3
(代號:百老匯)

1996年12月23日

    發(fā)布Web功能功效、LBX。以X協(xié)會之名的后一次發(fā)布。X11R6.2是X11R6.3的子集合(subset),X11R6.3只針對原有X11R6.1進行特點強化,如XPrint以及可以直書的Xlib,以及可由用戶進行特性定義。

X11R6.4

1998年3月31日

    發(fā)布Xinerama

X11R6.5

 

    X.org的一次內(nèi)部發(fā)布,沒有對外公開。

X11R6.5.1

2000年8月20日

 

X11R6.6

2001年4月4日

    修復錯誤、變更XFree86。

X11R6.7.0

2004年4月6日

    首次由X.Org基金會進行發(fā)布,此一發(fā)布新增了XFree86 4.4rc2。此外也有完整的末端用戶的發(fā)行版本。移除XIE、PEX及l(fā)ibxml2

X11R6.8.0

2004年9月8日

    發(fā)布Window translucency、XDamage、分布式多頭X、XFixes、Composite、XEvIE等。

X11R6.8.1

2004年9月17日

    修補libxpm的安全防護功效。

X11R6.8.2

2005年2月10日

    修補錯誤,更新驅(qū)動程序。

X11R6.9
X11R7.0

2005年12月21日

    發(fā)布EXA,主要的原始代碼進行再拆解、組構(gòu),以相同的原始代碼為基礎,派生出模塊化的7.0版以及一體性、團塊性的6.9版。

X11R7.1

2006年5月22日

    強化EXA,集成KdriveAIGLX,強化操作系統(tǒng)及平臺的支持性。

X11R7.2

2007年2月15日

    移除LBX。

X11R7.3

2007年9月6日

    XServer 1.4, Input hotplug, output hotplug (RandR 1.2), DTrace probes, PCI domain support.

X11R7.4

2008年9月23日

    XServer 1.5.1, XACE, PCI-rework, EXA speed-ups, _X_EXPORT, GLX 1.4, faster startup and shutdown.

X11R7.5

預計2009年6至9月

    XServer 1.7, XKB 2 and Xi 2, XGE, RandR 1.3 (GPU object), MPX, predictable pointer acceleration, DRI memory manager, DRI2, Shatter, further removal of obsolete libraries and extensions.

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

4、 對X-Window的管理歷史

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

1987年,隨著X11取得明顯成功,MIT希望免除X的管理責任。但是1987年6月與9個廠商舉行會晤,這些廠商表示他們相信為了避免 X 由于商業(yè)因素而分裂,需要中立方的參與。1988年1月,X協(xié)會(X Consortium)做為非營利廠商團體而成立,由Scheifler擔任主管,而Keith Packard擔任高級開發(fā)人員,確保 X 能持續(xù)以中立超然的立場提供商業(yè)與學術教育所需的開發(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指導了X11R6.5.1之前的版本發(fā)布。在此期間X的開發(fā)死氣沉沉。2003年,隨著Linux的流行X被大量安裝。但是X.Org幾乎無聲無息,活躍的開發(fā)由XFree86承擔。

4)XFree86

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

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

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

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

終就像是X11R6.4許可證爭議的回響,XFree86于2004年2月在更加嚴格許可證下發(fā)布了4.4 。許多依賴X的項目認為該許可證無法接受,特別是它和GNU General Public License不兼容。 這引起一場論戰(zhà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ā)者,采用依靠外部參與的集市模式的社區(qū)開發(fā)。其成員身份對個人開放,法人成員則成為贊助者。X.Org還開始同freedesktop.org密切合作

三.X的設計原則

X的設計原則,早在初仍在麻省理工學院的階段(1984年)就已經(jīng)成形,由Bob Scheifler和Jim Gettys兩人制訂出X早的開發(fā)、強化、改進原則,原則大體如下:
1、除非沒有它就無法完成一個真正完整的應用程序,否則不用增加新的功能。 
2、決定一個系統(tǒng)不是什么和決定它是什么同樣重要。與其去適應整個世界的需要,寧可使得系統(tǒng)可以擴展,如此才能以持續(xù)兼容的方式來滿足新增需求 
3、只有完全沒實例時,才會比只有一個實例來的糟。 
4、如果問題沒完全弄懂,好不要去解決它
5、如果可以通過10%的工作量得到90%的預期效果,應該用更簡單的辦法解決。 
6、盡量避免復雜性。 
7、提供機制而不是策略,有關用戶界面的開發(fā)實現(xiàn),交給實際應用者自主。(這和驅(qū)動開發(fā)的思想一脈相承)

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

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

四.X-Window的功能

注:這部分內(nèi)容轉(zhuǎn)載自//blog.csdn.net/absurd/category/336948.aspx
        作者E-mail:xianjimli@hotmail.com

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

1、處理輸入

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

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

2、按層次形組織窗口

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

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

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

3、提供圖形操作

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

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

4、提供文本和字體操作

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

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

 

名詞解釋:

位圖:

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

視窗系統(tǒng):

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

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

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

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

雅典娜工程:

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

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

 

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達個人看法,并不表明本站同意其觀點或證實其描述)