排程程序的型別劃分:基於fifo原則的實時程序,基於時間片輪轉的實時程序,普通的分時程序。
實時程序的優先順序是固定的,因一下原因發生程序排程:被更高優先順序的實時程序搶占,主動讓出時間片,程序阻塞或睡眠,基於時間片輪轉的實時程序時間片到期。
程序建立時,通過將父程序的剩餘時間片減半分給子程序,避免通過不斷建立子程序獲取無限的cpu執行時間,子程序如果很快執行結束未用完這些時間片,可以歸還父程序。
執行程序佇列分又分為活動佇列和過期佇列。實時程序和互動程序總是處於活動佇列中。其餘的普通程序如果用完了其時間片,或者過期程序的優先順序大於當前程序,或者出現了程序飢餓的情況,程序進入過期程序佇列。
關於電梯排程的一些想法
軟工老師出了一道題目,關於電梯排程問題,假設一幢大廈有21層,4部電梯,很多乘客使用這些電梯 旅客重量 平均70公斤最大120公斤,最小45公斤 其他常量資料 電梯速度,開 關門時間,乘客要進出電梯的時間。具體設計乙個電梯排程演算法,實現合理排程。在搞清該用什麼演算法之前,先搞清電梯是怎麼執行的。那...
關於程序問題的一些思考
程序fork 函式可能返回三個值 0 該程序為子程序 因為它沒有子程序,故為0 程序標識 該程序為父程序 負數 建立程序失敗 在做上機作業的時候,沒有思考到位,導致出現了邏輯錯誤 最終輸出兩組sub 1 一組sub 2 一組parent 期望輸出為兩組sub 2 一組sub 1 一組parent 後...
關於僵死程序的一些理解
在每個程序退出如呼叫exit或return的時候,核心釋放該程序所有的資源,包括開啟的檔案,占用的記憶體等,但是程序並沒有立馬就消失,而是仍然為其保留一定的資訊 包括程序號,退出狀態,執行時間,直到父程序通過wait waitpid來處理時才進行釋放。此時該程序處於殭屍狀態,該程序成為僵死程序 zo...