進程

定義

是進程實體運行過程、系統(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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容