稱之為資料報協議。
特點:1) 不需要建立鏈結。
2) 不需要知道對方是否收到。
3) 資料不安全
4) 傳輸速度快
5)能支援併發
6) 不會粘包
7) 無需先啟動服務端再啟動客戶端
優點:- 傳輸速度快
- 能支援併發
- 不會粘包
缺點:- 資料不安全, 容易丟失
應用場景: 早期的qq聊天室。
- tcp協議(稱為流式協議):
優點:- 資料安全
缺點:- 傳輸速度慢
- 粘包
1) 作業系統發展史
- 1.1 穿孔卡片
- 讀取資料速度特別慢
- cpu的利用率極低
- 單使用者(乙份**)使用
- 1.2 批處理
- 讀取資料速度特別慢
- cpu的利用率極低
- 聯機(多份**)使用
- 效率還是很低
- 1.3 離線批處理(現代作業系統的設計原理)
- 讀取資料速度提高
- cpu的利用率提高
2) 多道技術 (基於單核背景下產生的):
- 單道: 一條道走到黑 ----> 序列
- 比如: a,b需要使用cpu,a先使用,b等待a使用完畢後,b才能使用cpu。
- 多道:
- 比如: a,b需要使用cpu,a先使用,b等待a,直到a進入「io或執行時間過長」
a會(切換 + 儲存狀態),然後b可以使用cpu,待b執行遇到 「io或執行時間過長」
再將cpu執行許可權交給a,直到兩個程式結束。
- 空間上的復用
多個程式使用乙個cpu。
- 時間上的復用
切換 + 儲存狀態
1) 當執行程式遇到io時,作業系統會將cpu的執行許可權剝奪。
優點:- cpu的執行效率提高
2) 當執行程式執行時間過長時,作業系統會將cpu的執行許可權剝奪。
缺點:- 程式的執行效率低
- 併發與並行:
- 併發:
在單核(乙個cpu)情況下,當執行兩個a,b程式時,a先執行,當a遇到io時,b開始爭搶cpu的執行許可權,再讓b執行,他們看起像同時執行。
- 並行:
在多核(多個cpu)的情況下,當執行兩個a,b程式時,a與b同時執行。他們是真正意義上的同時執行。
面試題: 在單核情況下能否實現並行? 不行
3) 程序
1.什麼是程序?
程序是乙個資源單位。
2.程序與程式:
- 程式: 一對**檔案。
- 程序: 執行**的過程,稱之為程序。
3 程序排程: (了解)
1) 先來先服務排程演算法(了解)
- 比如程式 a,b,若a先來,則讓a先服務,待a服務完畢後,b再服務。
- 缺點: 執行效率低。
2) 短作業優先排程演算法(了解)
- 執行時間越短,則先先排程。
缺點:導致執行時間長的程式,需要等待所有時間短的程式執行完畢後,才能執行。
現代作業系統的程序排程演算法: 時間片輪轉法 + 多級反饋佇列 (知道)
3) 時間片輪轉法
- 比如同時有10個程式需要執行,作業系統會給你10秒,然後時間片輪轉法會將10秒分成10等分。
4) 多級反饋佇列:
1級佇列: 優先順序最高,先執行次佇列中程式。
2級佇列: 優先順序以此類推
3級佇列:
4) 同步與非同步
同步與非同步 指的是 「提交任務的方式」。
同步(序列):
兩個a,b程式都要提交並執行,假如a先提交執行,b必須等a執行完畢後,才能提交任務。
非同步(併發):
兩個a,b程式都要提交並執行,假如a先提交並執行,b無需等a執行完畢,就可以直接提交任務。
4) 阻塞與非阻塞
- 阻塞(等待):
- 凡是遇到io都會阻塞。
- io:
input()
output()
time.sleep(3)
檔案的讀寫
資料的傳輸
- 非阻塞 (不等待) :
- 除了io都是非阻塞 (比如: 從1+1開始計算到100萬)
5) 程序的三種狀態
- 就緒態:
- 同步與非同步
- 執行態: 程式的執行時間過長 ----> 將程式返回給就緒態。
- 非阻塞
- 阻塞態:
- 遇到io
面試題: 阻塞與同步是一樣的嗎?非阻塞與非同步是一樣的嗎?
- 同步與非同步: 提交任務的方式
- 阻塞與非阻塞: 程序的狀態。
- 非同步非阻塞: ----> cpu的利用率最大化!
網路程式設計 TCP IP協議和UDP協議
tcp是面向連線的通訊協議,通過三次握手建立連線,通訊完成時要拆除連線,由於tcp是面向連線的所以只能用於端到端的通訊。tcp提供的是一種可靠的資料流服務,採用 帶重傳的肯定確認 技術來實現傳輸的可靠性。tcp還採用一種稱為 滑動視窗 的方式進行流量控制,所謂視窗實際表示接收能力,用以限制傳送方的傳...
網路程式設計之UDP協議和TCP協議
udp協議和tcp協議 udp協議 使用者資料報協議 需要乙個傳送端和接收端 傳送端 只負責傳送資料,不管接收端是否接收到資料.在傳輸資料的過程中是允許資料報丟失的 特點 1.需要乙個傳送端和接收端 2.傳送端只負責傳送資料,不管接收端是否接收到資料 3.在傳輸資料的過程中是允許資料報丟失的 tcp...
TCP協議和UDP協議
前面我們學習了網路的7層模型,其中談到傳輸層的相關協議有tcp transmission control protocol 傳輸控制協議 和udp user datagram protocol 使用者資料報協議 一 tcp協議 tcp transmission control protocol 是一...