定義
是進程實體運行過程、系統(tǒng)進行資源分配和調度的一個獨立單位
作用
使多個程序可 并發(fā)執(zhí)行,以提高系統(tǒng)的資源利用率和吞吐量
進程狀態(tài)
- 創(chuàng)建狀態(tài):進程正在創(chuàng)建,尚未進入就緒狀態(tài)
- 步驟1:申請一個空白的PCB并向PCB中填寫一些管理進程信息
- 步驟2:由系統(tǒng)為該進程分配運行時所必需的資源
- 步驟3:最后把該進程轉入就緒狀態(tài)
- 就緒狀態(tài):基礎狀態(tài),進程已處于準備運行狀態(tài)(一旦得到處理機即可運行)
- 運行狀態(tài):基礎狀態(tài),進程正在處理機上運行(處理機環(huán)境下,每一時刻最多只有一個進程處于運行狀態(tài))
- 阻塞狀態(tài):基礎狀態(tài),進程正在等待某一事件而暫停運行(缺少除處理機之外的資源)
- 結束狀態(tài):進程正從系統(tǒng)中消失
- 當進程需結束運行時,系統(tǒng)必須先將該進程設置為結束狀態(tài) 。然后處理資源釋放和回收工作

示意圖
狀態(tài)轉換
-
就緒 → 運行
條件:處于就緒狀態(tài)的進程被調度后,獲得處理機資源(分派處理機時間片) -
運行 → 就緒
條件:處于運行狀態(tài)的進程在時間片用完后,需讓出處理機資源 -
運行 → 阻塞
條件:進程請求某一資源的使用或分配時、進程等待某一事件的發(fā)生時 -
阻塞 → 就緒
條件:當進程等待的事件到來時
進程與線程的區(qū)別
-
進程
- 定義:資源擁有的資本單位
- 作用:使多個程序可 并發(fā)執(zhí)行 ,以提高系統(tǒng)的資源利用率和吞吐量
- 自身擁有資源
- 地址空間之間相互獨立
- 系統(tǒng)開銷大(創(chuàng)建 / 回收PCB、系統(tǒng)資源等)
- 通信比較復雜
-
線程*
- 定義:獨立調度、分派的基本單位
- 作用:減少程序在并發(fā)執(zhí)行時所付出的時空開銷,提高系統(tǒng)的并發(fā)性能
- 自身不能擁有資源,與其他線程共享進程所擁有的資源
- 同一進程的各線程間共享進程的資源
- 系統(tǒng)開銷小(保存和恢復少量的寄存器)
- 通信簡單(可直接讀寫進程數(shù)據(jù)通信)
感謝
文章出處 :Carson_Ho