【Linux 内核】进程管理 ( Linux 中进程的 CPU 资源调度 | 进程生命周期 | 创建状态 | 就绪状态 | 执行状态 | 阻塞状态 | 终止状态 | 进程生命周期之间的转换 )
文章目錄
- 一、Linux 中進程的 CPU 資源調度
- 二、進程生命周期
- 三、進程生命周期之間的轉換
一、Linux 中進程的 CPU 資源調度
Linux 操作系統 是 多任務系統 , 可以 同時運行多個進程 ;
CPU 資源被分成若干 時間片 , 每個進程分不同的時間 , 使用 CPU 時間片 , 這是 分時復用機制 ;
為 進程 分配 CPU 時間片 的機制 , 稱為 " 進程調度策略 " ;
二、進程生命周期
進程 在 創建 , 以及 " CPU 時間片 " 調度 , 終止 時 , 會處于不同的狀態 , 這些狀態就是 進程的生命周期 :
- 創建狀態 : 進程 剛被創建時 , 處于創建狀態 ;
- 就緒狀態 : 進程 已經 獲取了 相關資源 , 以及 運行條件準備就緒 ;
- 執行狀態 : CPU 時間片被分配給了該進程 , 正在 CPU 中執行該進程 ;
- 阻塞狀態 : 等待被分配 CPU 時間片的過程 中 , 處于該狀態 ;
- 終止狀態 : 進程 終止后的狀態 ;
三、進程生命周期之間的轉換
創建狀態 : Linux 中 , 調用 fork() 函數 , 創建進程 , 此時進入 " 創建狀態 " ;
創建狀態 -> 就緒狀態 : 創建狀態 中 , 等待 進程運行的 資源準備完畢后 , 會進入 " 就緒狀態 " ;
就緒狀態 -> 執行狀態 : 就緒狀態時 , " 進程調度策略 " 為進程調度 " CPU 時間片 " , 進程一旦 獲取到 CPU 時間片使用權 , 就立刻進入 " 執行狀態 " , 開始執行后續指令 ;
執行狀態 -> 就緒狀態 : 如果當前 進程 處于 執行狀態 , 正在執行 , 此時如果有一個 優先級高 的進程要執行 , 此時會搶占 CPU , 本進程就會重新進入 " 就緒狀態 " ;
執行狀態 -> 阻塞狀態 : 如果當前 進程 處于 執行狀態 , 正在執行 , 如果此時 進入 休眠等待隊列 , 或者 等待資源 , 此時會進入到 " 阻塞狀態 " ;
阻塞狀態 -> 就緒狀態 : 處于 " 阻塞狀態 " 的進程 , 如果被 從休眠中喚醒 , 或者 等待的資源分配到位 , 此時就會進入到 " 就緒狀態 " , 等待 CPU 時間片調度執行 ;
執行狀態 -> 終止狀態 : 進程 退出 , 或者被殺死 , 就會進入 " 終止狀態 " ;
總結
以上是生活随笔為你收集整理的【Linux 内核】进程管理 ( Linux 中进程的 CPU 资源调度 | 进程生命周期 | 创建状态 | 就绪状态 | 执行状态 | 阻塞状态 | 终止状态 | 进程生命周期之间的转换 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】进程管理 ( 进程特
- 下一篇: 【Linux 内核】进程管理 ( Lin