IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

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

一.X-Window系統簡介

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

二.X-Window的發展歷史

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

1、 前身:

事實上,早在X出現前已有幾個位圖式的軟件顯示系統已經存在,例如帕洛阿爾托研究中心(施樂公司)提出的Alto(1973年)和Star(1981年)、蘋果計算機提出的Lisa(1983年)和麥金塔(1984年)、在UNIX世界也有雅典娜工程(1982年)和Rob Pike的Blit終端機(1984年)。
1983年之前稱為W-Window系統的窗口系統是X的真正前身(在拉丁字母里面 X 直接接在 W 后面)。W-Window系統運行于系統V之上,W使用一個支持終端機和圖形窗口的網絡協議,而服務器維護顯示的列表。

2、 起源:

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

3、版本發展歷史

版本

發表日期

重大變更

X1

1984年6月

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

X6

1985年1月

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

X9

1985年9月

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

X10

1985年后期

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

X10R2

1986年1月

 

X10R3

1986年2月

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

X10R4

1986年12月

    發布X10的后一版。

X11

1987年9月15日

    首次發布現有X Window系統所用的協議(Protocol)。

X11R2

1988年2月

    以X協會(Consortium)之名的首次發布。

X11R3

1988年10月25日

    發布XDM

X11R4

1989年12月22日

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

X11R5

1991年12月5日

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

X11R6

1994年5月16日

    發布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日

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

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

1996年12月23日

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

X11R6.4

1998年3月31日

    發布Xinerama

X11R6.5

 

    X.org的一次內部發布,沒有對外公開。

X11R6.5.1

2000年8月20日

 

X11R6.6

2001年4月4日

    修復錯誤、變更XFree86。

X11R6.7.0

2004年4月6日

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

X11R6.8.0

2004年9月8日

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

X11R6.8.1

2004年9月17日

    修補libxpm的安全防護功效。

X11R6.8.2

2005年2月10日

    修補錯誤,更新驅動程序。

X11R6.9
X11R7.0

2005年12月21日

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

X11R7.1

2006年5月22日

    強化EXA,集成KdriveAIGLX,強化操作系統及平臺的支持性。

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協議設計由Scheifler,并在nascent Internet的開放郵件列表上廣泛討論。于是X成為早的較大規模的開源軟件項目之一)

4、 對X-Window的管理歷史

1)MIT X協會與X協會公司

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

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之前的版本發布。在此期間X的開發死氣沉沉。2003年,隨著Linux的流行X被大量安裝。但是X.Org幾乎無聲無息,活躍的開發由XFree86承擔。

4)XFree86

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

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

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

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

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

5)X.Org基金會

2004年年初X.Org基金會成立。這意味著 X 在管理上的根本轉變。1988年以來 X 的管理者(包括過去的X.Org)都是廠商組織,而基金會由軟件開發者,采用依靠外部參與的集市模式的社區開發。其成員身份對個人開放,法人成員則成為贊助者。X.Org還開始同freedesktop.org密切合作

三.X的設計原則

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

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

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

四.X-Window的功能

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

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

1、處理輸入

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

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

2、按層次形組織窗口

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

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

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

3、提供圖形操作

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

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

4、提供文本和字體操作

X-Window提供了字體相關的操作。客戶端程序可以請求X-window在指定的區域用指定的字體顯示指定的字符串,當然在此之前應該請求X-window加載字體,加載后客戶端程序可以得到關于字體的一些信息。

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

 

名詞解釋:

位圖:

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

視窗系統:

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

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

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

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

雅典娜工程:

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

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

 

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 桥梁支座更换_桥梁检测车租赁_高空作业车出租_支座更换_伸缩缝安装_隧道防水_养护加固_维修_出租_衡水庆兴桥梁养护工程有限公司 桥梁养护|桥梁维修加固|隧道裂缝修补|支座更换|管道堵水气囊|衡水众拓路桥养护有限公司 | 取样冷却器-射水抽气器-锅炉炉水取样冷却器-连灵动 | 河北高新技术企业认定,沧州商标注册,沧州9001质量管理体系认证,沧州高新技术企业认定,沧州体系认证,沧州商标续展,沧州版权登记,河北国瑞企业管理咨询有限公司 | 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 塑料模具公司,塑料包装桶厂家,PET打包带厂家,缠绕膜厂家-新疆福吉亚工贸有限公司 | 立式/卧式/潜水/液下/螺杆/耐磨/渣浆泵|泥浆泵|离心泵,厂家 - 河北聚盛泵业制造有限公司 | 临沂网站建设,临沂网站制作,临沂网络公司,临沂小程序开发,临沂网站设计,沂水网站建设,沂南网站建设,蒙阴网站建设,平邑网站建设,费县网站建设,兰陵网站建设,郯城网站建设,临沭网站建设,莒南网站建设,兰山网络公司 | 全自动红外测油仪|全自动COD分析仪|BOD5分析仪|昂林官网 | 南京叉车|电瓶叉车|电动叉车|电动堆高车|电动搬运车-南京诺嘉机械 | 山西亿企邦财税服务有限公司 | 厦门公司注册-提供工商登记记账代理服务和营业执照代办地址与注册流程及费用 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 邮政纸箱_淘宝纸箱_抗压纸箱,盐城纸箱,盐城纸箱厂家,盐城承重纸箱-盐城君雅纸箱 | 磐石在线-磐石市综合信息门户网www.pszx.com - Powered by Discuz! | 氯化氢|二氧化硫|硫化氢|氩气生产厂家_潍坊市景鑫新材料有限公司 | 热熔胶涂布机-青岛三人行机械有限公司 | 自动缠绕机_帝虎包装设备(上海)有限公司_缠绕包装机 | 无锡亮鑫不锈钢有限公司-不锈钢炉胆,马弗炉胆,耐高温炉胆,310s炉胆,网带炉 | 水表_智能电表_抄表软件_ic卡水控机_电磁水表厂家-深圳市华熙仪数码科技有限公司 | 华帝衣柜定制_全屋家具定制_橱柜定制-华帝家居 | 首页|YULI玉立专业厨房电器官网|集成灶十大品牌 油烟机 燃气灶 | 江西省力速数控机械有限公司丨火花机丨龙门加工中心丨镜面火花机丨卧式加工中心 | 青州市昌达机械设备有限公司_洗石机-洗砂机-筛沙机-砂石分离机-洗轮机-制砂机 | 温湿度记录仪_温度监控_冷链监控云平台_USB/PDF温度记录仪-深圳市鸿睿物联科技发展有限公司 | 中国焊接协会网站—中国焊接信息网;焊接行业最权威访问量最大的专业网站:焊接信息、焊接材料,焊接机器,焊接设备,焊机,焊材,辅助设备,焊机配件,仪器仪表,电动工具,钎焊,送丝机,表面处理,自动化专机,焊锡丝,助焊剂 | 天津韬艺科技有限公司,天津网站建设公司,天津网站设计公司,品牌网站策划公司 | 重庆晓宇餐饮文化管理有限公司_重庆晓宇火锅 | 深圳诚暄软板首页-fpc软板,fpc软性线路板打样生产厂家 | 内蒙古碧云食品有限公司| 三坐标测量机_海克斯康三坐标_蔡司三坐标_常州三坐标测量服务中心_苏州长南精密技术有限公司 | 珀金斯动力设备扬州有限公司 | 思达测试|山东思达高科机械设备有限公司 | 专注欧美工业控制自动化设备-MRO工业品采购服务-科电远扬 | 深圳社区邦家政公司-保姆_月嫂_育儿嫂 _早教育婴师_家政钟点工_家政培训_家政加盟- 社区邦优质生活服务 专业、标准化、便捷、安心,一站式家庭服务平台,服务专业有保障 ! | 河北新鑫矿冶设备有限公司-河北新鑫矿冶设备有限公司 | 首页--南京俊全科技有限公司,环保监测无人机,大疆无人机,农用无人机,植保无人机,巡检无人机,无人机环境监测仪,消防,无人机,航拍测绘,固定翼无人机,无人机电力巡检,四旋翼无人机 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 浙江日新电气有限公司 | 河南豫冀锅炉容器制造有限公司| 暖家乐散热器_天津市暖家乐金属制品有限公司 | 球形钢支座,粘滞阻尼器,抗震球型钢支座,盆式橡胶支座,调谐质量阻尼器,屈曲约束支撑-衡水路泽科技 |