新聞中心

X-Window概述

作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

對于普通用戶來說,操作系統(tǒng)最重要的功能,恐怕是能讓用戶方便的享用計算機硬件提供的各種資源,完成日常的工作了。絕大多數(shù)用戶對于Windows系統(tǒng)都非常熟悉,那么從用戶界面上而言,Linux到底有什么吸引人的地方呢?答案是他擁有s.下面就讓我們進入XWindows的繽紛世界,真正體會Linux的眩目光彩。

本文引用地址:http://m.butianyuan.cn/article/201609/304093.htm

一、X Windows的簡史

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

二、X的基本部件

X系統(tǒng)不像早期的視窗系統(tǒng)是把一堆同類軟件集中在一起,而是由三個相關(guān)的部分組合起來的。

(1) Server(服務(wù)器):控制實際顯示器和輸入設(shè)備的程序。Server是控制顯示器和輸入設(shè)備(鍵盤和鼠標)的軟件。Server可以建立視窗,在視窗中畫圖形和文字,響應(yīng)Client程序的“需求”(requests),但他不會自己動作,只有在Client程序提出需求后才完成動作。

每一套顯示設(shè)備只對應(yīng)一個唯一的Server,而且Server一般由系統(tǒng)的供應(yīng)商提供,通常無法被用戶修改。對于操作系統(tǒng)而言,Server只是一個普通的用戶程序而已,因此很容易換個新的版本,甚至是第三方提供的原始程序。

(2) Client(客戶端):Client是使用系統(tǒng)視窗功能的一些應(yīng)用程序。在X下的應(yīng)用程序稱作Client,原因是他是Server的客戶,他要求Server響應(yīng)他的需求完成特定的動作。

Client無法直接影響視窗或顯示,他們只能送一個請求(request)給Server,由Server來完成他們的請求。典型的請求通常是“在某個視窗中寫Hello World的字符串”,或者從A到B畫一條直線。

Client的功能大致可分為這么兩部分:向Server提“需求”只是他的一部分功能,其他的功能是為用戶執(zhí)行程序而準備的。例如輸入文字信息、作圖、計算等等。通常,Client程序的這一部分是和X獨立的,他對于X幾乎不需要知道什么。通常,應(yīng)用程序(特別是只大型的標準繪圖軟件、統(tǒng)計軟件等)對許多的輸出設(shè)備具有輸出的能力,而在X視窗中的顯示只是Client程序許多輸出格式中的一種,所以,Client程序中和X相關(guān)的部分在整個程序中只占非常小的一部分。

用戶可以通過不同的途徑使用Client程序:通過系統(tǒng)提供的程序來使用;使用來自于第三方的軟件;或者是用戶自己為了某種特殊應(yīng)用而編寫的自己的Client程序。

(3) 通訊通道:有了Server和Client,他們之間就要傳輸一些信息,這種傳輸信息的媒介就是我們所要介紹的X的第三個組成部件:通訊通道。憑借這個通道,Client傳送“需求”給Server,而Server回傳狀態(tài)(status)及其他一些信息給Client。

Client是使用函數(shù)庫來使用通訊通道的。在系統(tǒng)或網(wǎng)絡(luò)上支持通訊形態(tài)需求的是內(nèi)建于系統(tǒng)的基本的X視窗函數(shù)庫(library)。只要Client程序利用了函數(shù)庫,自然就有能力使用所有可用的通訊方法。這時通道本身就變得不再重要了,而只是一個概念而已。

三、Server和Client之間的通訊

Server和Client通訊的方法大致有兩類,對應(yīng)于X系統(tǒng)的兩種基本操作模式。 第一種,Server和Client在同一臺機器上執(zhí)行,它們可以共同使用機器上任何可用的通訊方法做交互式信息處理。在這種模式下,X可以同其他傳統(tǒng)的視窗系統(tǒng)一樣,高效工作。第二種,Client在一部機器上運行,而顯示器和Server則在另一部機器上運行。因此兩者的信息交換就必須通過彼此都遵守的網(wǎng)絡(luò)協(xié)議進行,最常用的協(xié)議為TCP/IP協(xié)議。這種通訊方式一般被稱為網(wǎng)絡(luò)透明性,這也幾乎是X獨一無二的特性。

四、X的用戶界面

X的設(shè)計目標之一就是能創(chuàng)建許多不同形式的用戶界面。其他的是窗西同志提供具體的交互方法,而X只提供一般的架構(gòu),讓系統(tǒng)建立者建造所需的交互風(fēng)格。這種特性使得開發(fā)者可以在X的基礎(chǔ)上建造全新的界面,并且可以在任何時刻根據(jù)自己的需要選用適當?shù)慕缑?。一般來說,用戶界面可以分為兩部分。管理界面也就是視窗管理器,是命令的最高層,他負責(zé)在屏幕上建構(gòu)或重建視窗,改變視窗的大小、位置、或者將視窗改變成圖標等。應(yīng)用界面確定了用戶和應(yīng)用程序之間的交互風(fēng)格,即用戶如何利用視窗系統(tǒng)的設(shè)備程序來控制應(yīng)用程序及輸入資料給它。例如,如何用鼠標來選定一個選項。

五、X獨立于操作系統(tǒng)

X不是內(nèi)置于操作系統(tǒng),他只是比用戶層次稍高一些。在系統(tǒng)中它也是一個相對獨立的組件。這樣做有如下優(yōu)點:

(1)易于安裝和改版,甚至去除。這種工作不需要重啟系統(tǒng),也不會對其他應(yīng)用程序造成干擾。

(2)第三方很容易支持并加強它的功能。例如你的制造廠商提供的系統(tǒng)不夠好,你可以向別人買更好或更快的版本。

(3)X不會制定操作系統(tǒng),因此成為一種標準,這也是第三方發(fā)展軟件的原動力。

(4)為了發(fā)展者利益。在Server上進行工作時,如果程序異常中斷,只會影響到視窗系統(tǒng),不會造成機器的損壞或操作系統(tǒng)核心的破壞。



關(guān)鍵詞: X-Window 概述

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉