久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > x-window的客戶-服務器架構詳解
x-window的客戶-服務器架構詳解
時間:2016-12-29作(zuo)者:華清遠(yuan)見

一.X-Window簡介

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

    X只是(shi)(shi)工具(ju)包及架構規(gui)范(fan)(協(xie)議),本身并無實(shi)際(ji)參(can)與運(yun)作的(de)實(shi)體(ti),所(suo)以必須有人依(yi)據此(ci)標(biao)準進行(xing)開發撰寫。如此(ci)才有真正可用(yong)、可運(yun)行(xing)的(de)實(shi)體(ti),始(shi)可稱為(wei)實(shi)現體(ti)。目前(qian)依(yi)據X的(de)規(gui)范(fan)架構所(suo)開發撰寫成的(de)實(shi)現體(ti)中,以X.Org為(wei)普遍且受歡(huan)迎。X.Org所(suo)用(yong)的(de)協(xie)議版(ban)本是(shi)(shi)X11,是(shi)(shi)在(zai)1987年(nian)9月所(suo)發布(bu)。而今新(xin)的(de)參(can)考實(shi)現(參(can)考性、示(shi)范(fan)性的(de)實(shi)現體(ti))版(ban)本則是(shi)(shi)X11 Release 7.4(簡(jian)稱:X11R7.4)。在(zai)它的(de)基礎上開發出(chu)了諸如Gnome和KDE等(deng)桌(zhuo)面(mian)環境。

    X-Window在(zai)Linux系統中(zhong)的位置可(ke)以用下圖表(biao)示:

                    
    
    下面讓我們看一(yi)下X系(xi)統的(de)組(zu)成以(yi)及它的(de)基本(ben)架構:C/S架構。

二.X-Window系統的組成
    1、X-Server:
    運行在有顯示設備的主機上,是服務器端。
     X-Server 主要在處理來自 X-Client applications 的 請求,在屏幕上繪制圖形 (所以又稱為 Display Server);并且負責管理可用的字形與屏幕可用的顏色等系統資源,讀取使用者的輸入 (來自鍵盤或鼠標),傳送鍵盤、鼠標事件與窗口狀態信息給 X-Client (也就是應用程序)。
    2、X-Client:
    客戶端可以運行在本地機器,也可以運行在網絡上的不同主機。
    其實就是各式各樣的應用程序(文字處理、數據庫應用、網絡軟件等)
    客戶端以請求的方式讓服務器管理圖形化界面。
    3、X-Protocol:
    客戶端與服務器通信的協議
    在接觸更多 X Programming 的信息后,會慢慢體會到它的存在;目前不妨暫時將 X Protocol 在 X-Window System 中所扮演的角色,想象為 HTTP 協議在 Web Server 與 Web Client (Browser) 間所扮演的溝通角色一樣。
        在 X-Window System 中比較特殊的一點,就是 X-Protocol 允許 X-Server 與 X-Client 能跨網絡來交換訊息,這意味著 X-Server 與 X-Client 不限制都得在同一臺機器上執行,可在不同的計算機上同時執行(網絡透明性)。
    4、X-Lib:
    客戶端的C語言接口庫,它封裝了X協議,并對應用程序提供方便使用的API。使用X-Lib,應用程序不用直接向服務器發送請求與處理回復。
        X-Lib = C Language X Interface

三.X-Window的C/S架構:
    不知道大家有沒有注意到一個很有意思的現象:X-Window的C/S架構和我們平常看到的很多C/S架構正好相反,對于大多數的C/S架構,Server一般都是在網絡上提供某種服務的程序,如FTP,HTTP,BBS,Email等服務,而Client則是向這些Server要求服務的程序,比如Browser,Email-Client等。而在 X-Window System 中,X-Client 指的則是可在網絡上任何計算機上執行的各種應用程序,它們的執行結果必須傳到某個屏幕顯示器上,而負責將執行結果顯示到屏幕上與管理各種系統資源的程序,便是 X-Server(一定是運行在使用者自己的計算機上)。
     如下圖所示: 
     我們可以在自己的計算機上激活 X-Server后,再 Telnet 聯機至其它計算機,將其它計算機上 X-Client的執行結果傳回到自己的屏幕上。當然 X-Server 一定得在使用者自己的計算機上執行,這樣我們才能看到應用程序 (X-Clients) 的執行結果為何。
                    

 下圖是(shi)X-Window系統(tong)的C/S架構視圖,有助于我(wo)們從(cong)宏觀上了解X系統(tong)的結構:


                    

當用戶點擊鼠標或者按下鍵盤的時候這些動作會傳遞給X-Server,X-Server把這些動作以事件的形式傳遞給X-Client,X-Client根據具體的事件執行相應的程序,再將所要顯示的結果傳給X-Server,X-Server將結果顯示在屏幕上
        相(xiang)信到此為止,我們可以對X-Window系統總體(ti)上有了(le)一個比較清晰的認識了(le)。

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