import socket
udp_sk = socket.socket(type=socket.sock_dgram) # udp協議
udp_sk.bind(('127.0.0.1',9000)) # 繫結位址
msg,addr = udp_sk.recvfrom(1024)
udp_sk.sendto(b'hi',addr)
udp_sk.close()
import socket
ip_port=('127.0.0.1',9000)
udp_sk=socket.socket(type=socket.sock_dgram)
udp_sk.sendto(b'hello',ip_port)
back_msg,addr=udp_sk.recvfrom(1024)
print(back_msg.decode('utf-8'),addr)
"""時間伺服器的實現原理
1.內部小電容供電
2.遠端時間同步
"""
"""學習併發程式設計其實就是在學習作業系統的發展史(底層邏輯)"""
1.穿孔卡片時代
cpu的利用率極低
2.聯機批處理系統
將多個程式設計師的程式一次性錄入磁帶中 之後交由輸入機輸入並由cpu執行
3.離線批處理系統
現代計算機的雛形(遠端輸入 高速磁帶 主機)
# 前提:單核cpu
多道技術
切換+儲存狀態
"""cpu工作機制
1.當某個程式進入io狀態的時候 作業系統會自動剝奪該程式的cpu執行許可權
2.當某個程式長時間占用cpu的時候 作業系統也會剝奪該程式的cpu執行許可權
"""並行與併發(******)
並行:多個程式同時執行
併發:多個程式只要看起來像同時執行即可
# 問:單核cpu能否實現並行
肯定不能,但是可以實現併發
# 問:12306可以同一時間支援幾個億的使用者買票 問是並行還是併發
肯定是併發(高併發)
星軌:微博能夠支援八個星軌
作業系統之多道程式設計
早期的批處理系統中,i o裝置和cpu仍然是序列工作的,cpu時間浪費巨大,浪費了cpu的處理能力。作業系統中只有乙個可執行程式,乙個任務執行時,必須cpu執行完,i o才能執行,兩者不可並行。隨著cpu速度迅速提高而i o裝置速度卻提高不多,導致cpu和i o裝置之間的速度不匹配,矛盾越來越突出。...
作業系統 多道程式排程
計算機系統採用了中斷和通道技術之後,i o裝置和cpu可以並行操作,初步解決了高速處理和低速外部裝置之間的矛盾,提高了計算機的工作效率。但這種並行使有限的。多道程式設計是在計算機記憶體中同時存放幾道相互獨立的程式 只有將程式放到記憶體cpu才會執行 使它們在管理程式控制之下,相互穿插地執行 記憶體中...
作業系統發展
作業系統是乙個大型的系統程式 1 提供使用者介面,方便使用者控制計算機 2 複製位應用程式分配和排程軟硬體資源 1 手工操作 2 單道批處理系統 3 多道批處理系統 4 分時系統 批量 作業佇列 自動單道 依次序列 背景 電晶體時代 效率 外設與cpu交替空閒和忙碌,cpu和外設利用效率低下 兩個技...