3.1 進程管理概述

一、CPU 管理的直觀想法

​ CPU 的工作原理就是取指執行,但如果遇到 IO 操作,那麼 CPU 將等待 IO 的完成,IO 操作的速度很慢,V(cpu) :V(IO) = 10^6:1,也就是說,執行一個 IO 操作,CPU 能執行 10^6 條指令,所以爲了充分利用 CPU,就要在 IO 的時候運行其它程序。

​ 這裏引出了一個概念,併發:併發是 CPU 交替執行多個程序。

​ 爲了完成在運行着的程序之間切換,就必須保存程序的狀態,所以這裏就引出了進程的概念,進程相較於程序而言是有狀態的,進程的狀態在 PCB 中保存。

​ 所以,CPU 管理就是要管理多個進程如何合理有序的運行。

二、多進程圖像

2.1 什麼是多進程圖像

​ 多進程圖像就是指在多個進程同時推進的時候,操作系統應該能夠把這些進程記錄好,按照合理地次序推進(資源分配、任務調度),爲了完成多進程圖像,需要解決如下問題:

  1. 多進程如何組織
  2. 多進程如何交替
  3. 多進程如何解決訪問內存的衝突
  4. 多進程如何協作

2.2 多進程圖像:多進程如何組織

​ 多進程是通過 PCB 隊列來組織的,PCB 是進程控制塊,操作系統通過 PCB 來感知進程存在的。在 PCB 中保存了進程的信息,其中一個重要的信息就是進程狀態

​ 進程狀態:新建態、就緒態、運行態、阻塞態、終止態

在這裏插入圖片描述

2.3 多進程圖像:多進程如何交替

​ 隊列操作 + 調度 + 切換
在這裏插入圖片描述
​ **調度:**使用調度算法實現,如 FIFO、Priority

切換:切換分爲三步,① 把當前運行的進程的信息從 CPU 中保存到 PCB 中 ② 把待運行的進程信息從 PCB 中加載到 CPU 中 ③切換頁表(這裏又涉及到了虛擬內存)
在這裏插入圖片描述

2.4 多進程圖像:多進程如何解決訪問內存的衝突

​ 多個進程可能同時要求訪問相同的內存,這樣就會引起衝突,所以爲了避免衝突,就要引入內存管理的概念,在內存管理中有一部分知識就是使用內存映射表解決了衝突。

2.5多進程圖像: 多進程如何協作

​ 多個進程可能需要互相協作,最經典的就是生產者消費者問題,爲了實現進程的協作,需要解決的問題是進程間通信和同步。

三、總結

​ 學習進程管理,就是要學習多進程圖像:多進程如何組織、進程調度、進程協作、內存管理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章