程式在執行肯定需要用的cpu與io裝置。 在程式在等待io的時候cpu就是空閒狀態, 為了更好的利用cpu,我們應該在等待時候召喚其他程式繼續執行,這樣可以提高cpu利用率,作業系統的一個主要目的就是充分利用cpu。
功能 = 結構 + 演算法
程式管理 : PCB + CPU排程演算法。
併發:只是一段時間內支援多個程式在執行。 在底層一個CPU只能有一個程式在執行。併發只是一個人為的感受,舉個例子 假設1秒鐘時間裡有10個程式,那麼計算機最多每隔100毫秒就更換一個程式。這樣計算機就能在一秒執行10個程式,這10個程式給使用者的感受是在一秒鐘內同時執行了,因為時間段太小人也感受不出來。實際上沒有並行。
並行:同時執行,前提至少2個CPU.
上下午切換:支援併發在所難免的就是要進行程式的切換(CPU不支援並行,因為多個程式在一個CPU中執行程式計數器,暫存器,指標之類的資訊就會混亂),需要程式執行現場保留到PCB,在把要執行程式PCB載入CPU。
程式狀態:建立,就緒,執行,等待,終止。
核心級執行緒:執行在核心態(能有更多的操作許可權),核心級執行緒是有作業系統去實現的。一個PCB下面可以管理多個TCB, TCB共享PCB資源,TCB是執行流單位。此時的作業系統就不會按程式去均分時間。而是利用TCB去均分時間。假設此時有10個程式,按照之前的列子那個程式切換需要切換十次的PCB, 現在如果是2個程式,每個程式中有5個執行緒,那麼此時只需要切換兩次PCB,切換10次TCB,由於TCB只是執行流程,所以切換所耗的時間會小很多。
使用者級執行緒(協程):執行在使用者態,使用者級執行緒是用程式執行緒庫去管理,所以作業系統感覺不到。同一執行流下的執行緒切換所耗的時間跟少,因為只是邏輯程式上的切換,無需呼叫作業系統的一些操作。在均分時間的時候作業系統會分給執行單位,這個執行單位在利用執行緒庫分配給他的執行緒(是使用者級別的執行流程)。如果一個執行緒崩潰就會引起所以執行緒無法執行。
輕量級程式:有程式的特性,但是少了一些不需要的東西,是上下文切換更快捷。
作業系統的程式管理方式:
支援核心執行緒的 - 程式 - 核心執行緒 - 使用者執行緒
不支援的 - 程式 - 使用者執行緒
不支援的 - 程式 - 輕量級程式 - 使用者執行緒
計算機原理:程式管理
相關文章
- 【重學計算機】計算機組成原理計算機
- 在計算機組成原理中x,計算機組成原理計算機
- 計算機組成原理 - 計算篇計算機
- 計算機執行彙編程式碼的原理計算機
- 計算機組成原理計算機
- 計算機基本工作原理計算機
- 【計算機組成原理】第6章 計算機的運算方法計算機
- 程式設計必備基礎 計算機組成原理+作業系統+計算機網路,計算機基礎——更適合程式設計師的程式設計必備基礎知識作業系統計算機網路程式設計師
- 計算機系統的層次結構(計算機組成原理5)計算機
- 計算機科班生學計算機組成原理的意義何在呢?計算機
- 計算機組成原理核心考點計算機
- 王道計算機組成原理筆記計算機筆記
- 計算機組成原理複習0625計算機
- 計算機組成原理-全套影片教程計算機
- 計算機組成原理——I/O通道計算機
- 計算機組成原理-錯題本計算機
- JaCoCo計算程式碼覆蓋率原理
- win10計算機管理在哪_win10開啟計算機管理的步驟Win10計算機
- CV:計算機視覺基礎之影像儲存到計算機的原理daiding計算機視覺AI
- kubernetes之計算機資源管理計算機
- 計算機組成與系統結構 cache 原理與計算計算機
- 漫談計算機組成原理(一)之程式執行的過程計算機
- 計算機組成原理之匯流排設計計算機
- 計算機視覺基本原理——RANSAC計算機視覺
- 【一】瞭解計算機的原理以及Python計算機Python
- 計算機組成原理學習 Part 2計算機
- 計算機組成原理-全套視訊教程計算機
- Java (計算機程式語言)Java計算機
- 程式設計師的計算機配置程式設計師計算機
- 計算機程式設計心得總結計算機程式設計
- 10 早期計算機如何程式設計計算機程式設計
- 計算機記憶體管理介紹計算機記憶體
- 計算機組成原理期末考試題計算機
- 計算機組成原理基礎知識(一)計算機
- 計算機組成原理期末複習小結計算機
- 計算機組成原理與介面技術(二)計算機
- 計算機組成原理常見英文縮寫計算機
- 計算機組成原理名詞指令縮寫計算機