回覆列表
  • 1 # 藍藍的天空鴨

    X系統由3個相關的部分組合起來的。 服務端(Server) Server是控制顯示器和輸入裝置(鍵盤和滑鼠)的軟體。Server可以建立視窗,在視窗中繪圖和文字,迴應Client程式的“需求”(requests),但它不會自己完成,只有在Client程式提出需求後才完成動作。 每一套顯示裝置只對應惟一的Server,而Server一般由系統供應商提供,通常無法被使用者修改。對作業系統而言,Server只是一個普通的使用者程式而已,因此很容易更換新版本,甚至更換成第三方提供的原始程式。[7] 客戶端(Client) Client是使用系統視窗功能的一些應用程式。在X下的應用程式稱做Client,原因是它是Server的客戶,要求Server迴應它的請求完成特定動作。 Client無法直接影響視窗行為或顯示效果,它們只能送一個請求(request)給Server,由Server來完成這些的請求。典型的請求通常是“在某個視窗中寫‘Hello World’的字串”,或者從A到B劃一條直線。 Client的功能大致可分為兩部分:向Server發出“需求”只是它的一部分功能,其他的功能是為使用者執行程式而準備的。例如輸入文字資訊、作圖、計算等等。通常,Client程式的這一部分是和X獨立的,它對於X幾乎不需要知道什麼。通常,應用程式(特別是只大型的標準繪圖軟體、統計軟體等)對許多輸出裝置具有輸出的能力,而在X視窗中的顯示只是Client程式許多輸出中的一種,所以,Client程式中和X相關的部分只佔整個程式中很小的一部分。 使用者可以透過不同的途徑使用Client程式:透過系統提供的程式使用;透過第三方的軟體使用;或者使用者為了某種特殊應用而自己編寫的Client程式來使用。[7] 通訊通道 (communication channel) client藉著它送 "需求" 給server,而server藉著它回送狀態 (status) 及一些其它的資訊 (information)。 只要 client 和 server 都知道如何使用通道,通道的本身並不是很重要,在系統或網路上支援通訊型態的需求是內建於系統基本的X視窗函式館(library),所有和通訊型態有關的事都從函式館獨立出來,client和server之間的通訊只要藉著使用這函式館(在標準X版為xlib)。[7] Server和Client之間的通訊 Server和Client通訊的方式大致有兩類,對應於X系統的兩種基本操作模式。 第一類,Server和Client在同一臺機器上執行,它們可以共同使用機器上任何可用的通訊方式做互動式資訊處理。在這種模式下,X可以同其他傳統的視窗系統一樣高效工作。 第二類,Client在一臺機器上執行,而顯示器和Server則在另一臺機器上執行。因此兩者的資訊交換就必須透過彼此都遵守的網路協議進行,最常用的協議為TCP/IP。這種通訊方式一般被稱為網路透明性,這也幾乎是X獨一無二的特性。[8]

  • 中秋節和大豐收的關聯?
  • 喝酒時,你最怕什麼呢?