1.學習linux網路程式設計首要掌握的基本概念
系統資源
是指cpu和記憶體等一些活動單元(除儲存裝置外)
程式是指由編譯好的二進位制檔案,儲存在磁碟上,不占用系統資源
程序由硬碟中的程式動遷起來,產生乙個或多個程序排程
併發---->單道程式設計
同一時間內,多個程序同時執行,需要占用cpu執行資源,但同一時刻只有乙個程序任務占用cpu資源.其它程序任務只能排隊等待該占用cpu程序執行完
併發---->多道程式設計
同一時間內,多具程序同時執行,需要占用cpu執行資源,cpu採用時間片的形式,將乙個時間斷分成若干分時間片,不同的時間片執行不同的程序除錯任務.
時鐘中斷
cpu以時間片形式排程完乙個程序任務,任意程序在執行期間都不希望放棄cpu資源,因此系統需要一種強制手段讓程序讓出cpu資源的手段
時鐘中斷有硬體基礎作為保障,對程序而言不可抗拒,作業系統中的中斷處理函式,來負責高度程式執行.
2.cpu和mmu
3.程序狀態
網路程式設計基礎理論
優點 建立了統一的工作流程 分部清晰,各司其職,每個步驟分工明確 降低了各個模組之間的耦合度,便於開發 高內聚 含義 單個封裝模組內部的功能更加的單一而不是相互摻雜 應用層 傳輸層 網路層 網際層 物理鏈路層 網路介面 http協議屬於應用層 七層 四層模型 傳送端由應用程式傳送資訊,逐層新增首部資...
C socket程式設計基礎 理論篇
對於socket在這裡我不想究其歷史,我只想說其時它是一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些api函式就能實現分布在不同主機的相關程序之間的資料交換.socket中首先我們要理解如下幾個定義概念 二是埠號 用來標識本地通訊程序,方便os提交資料.就是說程序指定了對方程序的網路ip,但這個...
C socket程式設計基礎 理論篇
對於socket在這裡我不想究其歷史,我只想說其時它是一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些api函式就能實現分布在不同主機的相關程序之間的資料交換.socket中首先我們要理解如下幾個定義概念 二是埠號 用來標識本地通訊程序,方便os提交資料.就是說程序指定了對方程序的網路ip,但這個...