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