1. 調研程序的排程演算法.
有利於長作業和cpu繁忙的作業,不利於短作業和i/o繁忙作業、
輪轉法(round robin)
將所有需要cpu處理的就緒的程序按照fcfs原則排隊。之後cpu會劃分時間片,根據時間片來給佇列上的程式執行,當時間片結束。當前程序中斷,讓出cpu讓下一程序使用。
高響應比優先排程演算法:根據「響應比=(程序執行時間+程序等待時間)/ 程序執行時間」這個公式得到的響應比來進行排程。高響應比優先演算法在等待時間相同的情況下,作業執行的時間越短,響應比越高,滿足段任務優先,同時響應比會隨著等待時間增加而變大,優先順序會提高,能夠避免飢餓現象。優點是兼顧長短作業,缺點是計算響應比開銷大,適用於批處理系統。
狀態:描述程序的狀態,因為程序有掛起,阻塞,執行等好幾個狀態,所以都有個識別符號來記錄程序的執行狀態。
優先順序:如果有好幾個程序正在執行,就涉及到程序被執行的先後順序的問題,這和程序優先順序這個識別符號有關。
上下文資料:程序執行時處理器的暫存器中的資料。
i/o狀態資訊:包括顯示的i/o請求,分配給程序的i/o裝置和被程序使用的檔案列表等。
記賬資訊:包括處理器的時間總和,記賬號等等。
3. 使用**模擬實現殭屍程序, 孤兒程序的場景.
#include#include#includeint main()
if(id==0)//子程式
else//父程式
} return 0;
}
此時父程序遲遲不接收子程序的資訊,使得子程序進入殭屍狀態。
若要產生孤兒程序
#include#include#includeint main()
if(id==0)//子程式
else//父程式
} return 0;
}
此時父程序先於子程序退出,使得子程序成為孤兒程序,由1號程式領養 第三章 進製
少於兩位要補零 string res for int i c.size 1 i 0 i res c i return res int main y 總果然寫的還是簡單多了qwq sstream操作下的解題方法 include include using namespace std char name...
第三章 程序排程與死鎖
程序排程的功能 程序排程的功能由作業系統的程序程式來完成 按照某種策略和演算法從就緒態程序中為當前空閒的cpu選擇在其上執行的新程序 程序排程的功能是什麼?按照某種策略和演算法從就緒態程序中選擇新程序執行。需要程序排程的時機 1.程序正常或異常結束 程序阻塞 有更高優先順序程序到來,時間片用完時都會...
第三章 程序描述與控制
一 程序 二 程序狀態轉換 五狀態模型 七狀態模型 重要的狀態間轉換 三 程序描述 作業系統的控制結構 程序控制結構 程序控制塊 四 程序控制 執行模式 程序的建立 程序切換 toc識別符號 唯一標識 狀態 執行狀態 優先順序 相對於其他程序的優先順序 上下文資訊 程序執行時處理器暫存器中的資料 i...