第一章緒論
1.1什麼是linux
linux是一套免費使用和自由傳播的類unix作業系統,它主要用於基於intel x86系列cpu的計算機上。這個系統是由全世界各地的成千上萬的程式設計師設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的unix相容產品。linux的出現,最早開始於一位名叫linus torvalds的計算機業餘愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計乙個代替minix(是由一位名叫andrew tannebaum的計算機教授編寫的乙個作業系統示教程式)的作業系統,這個作業系統可用於386、486或奔騰處理器的個人計算機上,並且具有unix作業系統的全部功能,因而開始了linux雛形的設計。 linux以它的高效性和靈活性著稱。它能夠在pc計算機上實現全部的unix特性,具有多工、多使用者的能力。linux是在gnu公共許可許可權下免費獲得的,是乙個符合posix標準的作業系統。
linux作業系統軟體包不僅包括完整的linux作業系統,而且還包括了文字編輯器、高階語言編譯器等應用軟體。它還包括帶有多個視窗管理器的x-windows圖形使用者介面,如同我們使用windows nt一樣,允許我們使用視窗、圖示和選單對系統進行操作。linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬於自由軟體,使用者不用支付任何費用就可以獲得它和它的源**,並且可以根據自己的需要對它進行必要的修改,無償對它使用,無約束地繼續傳播。另乙個原因是,它具有unix的全部功能,任何使用unix作業系統或想要學習unix作業系統的人都可以從linux中獲益。
linux支援一系列的unix開發,它是乙個完整的unix開發平台,幾乎所有的主流程式語言都已移植到linux上並可免費得到,如c、c++、fortran77、ada、pascal、modual2和3、tcl/tkscheme、smalltalk/x等。
1.2 linux的特點
linux系統有文字編輯介面和圖形使用者介面(gui),。其特徵包括:多使用者、多工、多平台、可程式設計shell、提供源**、**終端、支援多種檔案系統及強大的網路功能等。
多使用者:多個使用者(六個)能同時從相同或不同的終端(終端號:tty1~tty6)上用同乙個應用程式的副本進行工作。在控制台,切換終端的命令是:alt+f1~f6;在**終端視窗(ps/0~n)是:shift+alt+f1~f6。
多工:可同時執行多個程式,程式之間互不妨礙。與windows的? 務不同,linux將系統沒有用到的剩餘物理記憶體全部用來做硬碟的快取記憶體。筆者曾經開啟三個xterm,分別用於查詢檔案、除錯程式、發郵件。而且還可以指定某乙個程式在後台執行,指定某一些程式在特定的時間內執行(at命令)。
多平台:linux能在x86平台上執行,也能移植到其他平台。
可程式設計shell:shell是解釋並執行命令的系統外殼程式。通過編寫shell程式,使得系統更加個性化;而且在一些程式中具有c語言的功能。
提供源**:linux是自由軟體,源**完全公開,可以自行編譯核心,修改和擴充作業系統,進行二次開發。
linux支援的檔案系統很多,例如:ext2、nfs、vfs、iso9660、msdos等等。
網路功能:較全面的實現了tcp/ip、slip、ppp、plip協議,功能強大。
1.3什麼是qos
qos:服務質量(qos:quality of service)服務質量是指網路提供更高優先服務的一種能力,包括專用頻寬、抖動控制和延遲(用於實時和互動式流量情形)、丟包率的改進以及不同 wan、lan 和 man 技術下的指定網路流量等,同時確保為每種流量提供的優先權不會阻礙其它流量的程序
基於Linux的QoS程式設計介面研究與分析(5)
2.2 sbm 子網頻寬管理 qos只能保證和最弱的鏈路一樣的通訊質量。qos懥磼是傳送端和接收端間的端到端,這就表明沿著路由的每乙個路由器一定要支援現在使用的qos技術。然而,qos懥磼由頂至底也是要從下面兩個方面認真考慮的 傳送端和接收端主機必須支援qos 使得應用和系統能獲得明顯或不明顯的好處...
基於介面程式設計。
舉乙個常用的例子,比如程式的資料庫訪問層能夠同時支援,sqlserver,oracle等多種資料庫。這樣,在例項化ado.net物件和具體操作時候,就要走不同的分支。乙個是sql server的,乙個是oracle的。這時候,就需要不同的條件 可以是後台設定的使用sql or oracle or 例...
基於Linux的socket程式設計模板
基於linux的socket程式設計模板 在網路程式設計程式設計中,我們經常會遇到這樣一種c s架構,伺服器端 server 監聽客戶端 client 傳送過來的命令,然後解析該命令,並做對應的處理,最後返回處理結果 例如成功或者失敗及原因 給客戶端。在這種情況客戶端必須實現的的介面有 連線伺服器 ...