L7 & L8&L9: 課程任務與初識進程
1、進程的概念:運行中的程序與靜態的程序不一樣,每一個程序有一個記錄其狀態的控制塊,稱爲PCB(Process control block), 而運行中的程序也就被稱作進程。
2、如何充分的利用cpu: 多個程序交替執行;
3、多進程
4、多進程如何交替執行?
隊列操作+調度+切換。
進程調度是很核心的話題:
- FIFO,是公平的策略但是沒有考慮任務間的差別;
- Priority,考慮如何設定優先級。
5、在多進程時,內存管理也是很核心的問題,多進程的地址空間隔離。
同時還有進程的合作,例如內存共享。如生產者消費者模型。
L10: 用戶級線程
進程 = 資源 + 指令執行序列
- 將資源和指令執行分開
- 一個資源+多個指令執行序列
線程:保留了併發的優點,避免進程切換的代價。實際是映射表不變而PC指針變化。
L11 內核級線程
和用戶級相比,核心級線程有什麼不同?
*
重點:內核級線程五段論。