3 1 程序管理概述

2021-10-06 07:31:47 字數 1384 閱讀 7070

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

​ 這裡引出了乙個概念,併發:併發是 cpu 交替執行多個程式。

​ 為了完成在執行著的程式之間切換,就必須儲存程式的狀態,所以這裡就引出了程序的概念,程序相較於程式而言是有狀態的,程序的狀態在pcb中儲存。

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

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

多程序如何組織

多程序如何交替

多程序如何解決訪問記憶體的衝突

多程序如何協作

​ 多程序是通過pcb 佇列來組織的,pcb 是程序控制塊,作業系統通過 pcb 來感知程序存在的。在 pcb 中儲存了程序的資訊,其中乙個重要的資訊就是程序狀態

​ 程序狀態:新建態、就緒態、執行態、阻塞態、終止態

​ 佇列操作 +排程 + 切換

​ **排程:**使用排程演算法實現,如 fifo、priority

切換:切換分為三步,① 把當前執行的程序的資訊從 cpu 中儲存到 pcb 中 ② 把待執行的程序資訊從 pcb 中載入到 cpu 中 ③切換頁表(這裡又涉及到了虛擬記憶體)

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

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

​ 學習程序管理,就是要學習多程序影象:多程序如何組織、程序排程、程序協作、記憶體管理

Linux程序管理概述

程序是正在執行中的程式。當程式被執行時,執行人的許可權和屬性,以及程式的 都會被加載入記憶體,作業系統給這個程序分配乙個 id,稱為 pid 程序 id 也就是說,在作業系統中,所有可以執行的程式與命令都會產生程序。只是有些程式和命令非常簡單,如 ls 命令 touch 命令等,它們在執行完後就會結...

Linux程序管理概述

程序就是處於執行期的程式,但程序並不僅僅侷限於一段可執行程式 也就是 段,通常程序還包括很多其它的資源,像開啟的檔案,掛起的訊號,核心內部資料,處理器狀態,乙個或多個具有記憶體對映的記憶體位址空間及乙個或多個執行執行緒以及用來存放全域性變數的資料段等。現代作業系統的程序提供兩種虛擬機制 虛擬處理器和...

3 1 unity Shade 概述 筆記

一.shade的使用 shade 直接拽到material上 二.shade的種類 standard su ce shade 標準表面shade unlit shade 沒有光照的shade imageeffect shade 後期處理的shade compute shade 利用並行功能的shad...