1. 程式人生 > >操作系統01_進程與線程

操作系統01_進程與線程

請求 獨立性 集合 空間 利用 同時 什麽是 並發 阻塞

進程和線程

  1. 並發和並行
    並行是多個事件在同一時刻發生,並發是多個事件在同一時間間隔內發生。
  2. 操作系統的基本特征
    • 並發程序並發執行
    • 共享互斥共享和同時訪問兩種方式
    • 虛擬時分復用技術和空分復用技術
    • 異步進程異步執行,停停走走向前推進,時間片
  3. 什麽是進程?
    程序是指令和數據的有序集合,進程是進程實體(程序段、數據段、PCB)在處理機上的一次執行過程。進程是系統資源分配和調度的一個獨立單位。
    引入進程是為了程序並發執行,以提高資源利用率和系統吞吐量。
  4. 什麽是線程?
    線程是獨立調度、獨立運行和分派的基本單位。線程是輕量級進程,線程只擁有少量資源(TCB等),並不擁有系統資源,多線程共享進程的資源。
    引入線程是為了減少程序並發執行的時空開銷(主要在創建、撤銷和進程切換),使OS具有更好的並發性。
  5. 進程的特征(與程序的區別)
    • 動態性進程是一次執行過程,由創建而產生、調度而執行、撤銷而消亡。程序是靜態的,如果沒有為之建立PCB,則程序沒有意義。
    • 並發性多個進程實體在內存中,在一段時間裏能同時運行。沒有建立PCB的程序不能並發執行。
    • 獨立性進程實體能獨立運行、獨立獲得資源、獨立接受調度。沒有建立PCB的程序不能獨立運行。
    • 異步性進程各自獨立、異步運行,因此程序才能並發執行,為保證結果可再現,需配置進程同步機制。
  6. 進程的狀態
    • 就緒(Ready)進程已獲得除CPU以外的必要資源,需按策略排成就緒隊列
    • 執行(Running)進程獲得CPU,程序執行
    • 阻塞(Block)進程由於發生I/O請求等事件無法繼續執行,產生阻塞,這時需進行調度,將阻塞進程加入阻塞隊列,將處理機分配給就緒隊列中的進程
    • 創建進程申請PCB,初始化PCB,處理機為進程分配資源,最後把進程轉入就緒狀態並加入就緒隊列
    • 終止進程在執行過程中由於正常或異常需要終結,OS處理後將PCB清零並將PCB空間返還系統。
  7. 進程同步方式
    • 硬件同步方式,如關中斷、Swap指令、Test-And-Set指令
    • 信號量機制
    • 管程機制
  8. 經典進程同步問題
    生產者-消費者問題

操作系統01_進程與線程