操作系統的發展史
1、穿孔卡片時代(手工操作)
1946年第一台計算機誕生--20世紀50年代中期,計算機工作還在采用手工操作方式。此時還沒有操作系統的概念。程序員將對應於程序和數據的已穿孔的紙帶(或卡片)裝入輸入機,然后啟動輸入機把程序和數據輸入計算機內存,接着通過控制台開關啟動程序針對數據運行;計算完畢,打印機輸出計算結果;用戶取走結果並卸下紙帶(或卡片)后,才讓下一個用戶上機。
手工操作方式兩個特點:
(1)用戶獨占全機。不會出現因資源已被其他用戶占用而等待的現象,但資源的利用率低。
(2)CPU 等待手工操作。CPU的利用不充分。
2、聯機批處理系統
將多個程序員的程序一次性錄入磁帶中,之后交由輸入機輸入並由CPU執行
3、脫機批處理系統
為克服與緩解:高速主機與慢速外設的矛盾,提高CPU的利用率,又引入了脫機批處理系統,即輸入/輸出脫離主機控制。(具備了現代計算機的雛形;遠程輸入、高速磁帶、主機)
不足:每次主機內存中僅存放一道作業,每當它運行期間發出輸入/輸出(I/O)請求后,高速的CPU便處於等待低速的I/O完成狀態,致使CPU空閑。
多道程序設計技術(單核)
所謂多道程序設計技術,就是指允許多個程序同時進入內存並運行。即同時把多個程序放入內存,並允許它們交替在CPU中運行,它們共享系統中的各種硬、軟件資源。當一道程序因I/O請求而暫停運行時,CPU便立即轉去運行另一道程序。
多道技術就是切換+保存狀態
CPU的工作機制:
1、當某個程序進入IO狀態的時候,操作系統會自動剝奪該程序的CPU執行權限
2、當某個程序長時間占用CPU的時候,操作系統也會剝奪該程序的CPU執行權限
並行和並發
並行:多個程序同時執行
並發:多個程序只要看起來像時同時運行即可
# 問:單核CPU能否實現並行 肯定不能,但是可以實現並發 # 問:12306可以同一時間支持幾個億的用戶買票 問是並行還是並發 肯定是並發(高並發)