技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
作業系統L5-行程排班
作業系統
蔡基
2022-01-06 00:20:25
‧
20110 瀏覽
分享至
作業系統L5-行程排班
CPU-I/O分割
簡介:CPU分割後接著IO分割
CPU排班程式
短程排班程式(Short-term scheduler)
:就緒佇列選出形成配置CPU給他,包含轉換內容(context switch),轉換成使用者模式
CPU排班決策時刻
執行->等待(不可搶先nonpreemptive)
執行->就緒(可搶先preemptive)
等待->就緒(可搶先preemptive)
形成終止(不可搶先nonpreemptive)
分派潛伏期(dispatchlatency)
:分派程式用來停止一個行程,並開始另一個行程所用的時間
排班原則
CPU使用率(CPU Utilization)
產量(Throughput)
回復時間(Turnaround Time)
等候時間(Waiting Time)
反應時間(Response Time)
排班演算法
先來先做(FCFS)
等待時間:P1= 0; P2= 24; P3 = 27
平均等待時間:(0 + 24 + 27)/3 = 17
護送現象(convoyeffect)
:短行程在長行程前面
最短工作先做(SJF)
平均等待時間= (3 + 16 + 9 + 0) / 4 = 7
分割時間:預估接近前一次的長度
平均等待時間= [(10-1)+(1-1)+(17-2)+(5-3)]/4=26/4=6.5
優先權排班
每個行程都有優先權數字(越小=>越高優先權)
飢餓(Starvation)
:低優先權行程可能永遠無法執行
老化(Aging)
:隨著時間提高優先權
平均等待時間=8.2
依序循環(Round Robin, RR)
簡介:每個行程分一小段
時間量(time quantum)q
,用完行程會被搶先,加到就緒佇列的尾端
多層佇列
簡介:分為多個獨立佇列,EX前景 背景
執行緒排班
行程競爭範圍(process-contentionscope, PCS)
系統競爭範圍(system-contentionscope, SCS)
多處理器
同質處理器(Homogeneous Processors)
:考慮所有處理器都相同
非對稱多元處理(Asymmetric Multiprocessing)
:一個主處理器負責排班決定、I/O處理、其它系統活動,其他只執行使用者程式碼
對稱多元處理(Symmetric Multiprocessing)
:每一個處理器自行排班
處理器親和性
軟性親和性(soft affinity)
:保持一個行程在相同處理器上執行,但不保證它會永遠這麼做
硬性親和性(hard affinity)
:指定處理器能夠執行特定行程
非均勻記憶體存取(non-uniform memory access
負載平衡(Load balancing )
:試著讓工作量平均分布
推轉移(Push migration)
:將過度負載CPU的行程推到其它CPU
拉轉移(Pull migration)
:閒置處理器從忙碌處理器拉任務
利用記憶體停滯
:另一個硬體執行緒在記憶體存取發生時執行
即時CPU排班(Real-time System)
軟即時系統
:對於非常即時的行程排班沒有提供保證
硬即時系統
–任務必須在指定的限期內被服務
中斷潛伏期(Interrupt Latency)
:中斷到達到開始執行中斷服務常式的時間
分派潛伏期(Dispatch Latency)
:停止目前行程並且啟動另一個行程的排班時間
單調速率排班演算法
單調速率排班而延誤截止期限
簡介:根據行程週期的反比設定優先權
P1週期是50,P2週期是80,P1被設定優先權高於P2,P1處理時間25,P2處理時間35
最早截止期限優先排班(EDF)
簡介:優先權是根據截止期限設定
P1週期是50,P2週期是80,P1被設定優先權高於P2,P1處理時間25,P2處理時間35
留言
追蹤
檢舉
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19833
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
現在Mail Server上雲365 Outlook不能向下相容?
(已解決)目前使用AWS的Lightsail服務,但沒使用RDS,一直被RDS服務扣錢
使用按鍵精靈完成ERP系統的單據輸入作業
Exchange online journal到外部....
SUPERSET 問題請教
WF ERP GP 小版本更新
熱門回答
現在Mail Server上雲365 Outlook不能向下相容?
使用按鍵精靈完成ERP系統的單據輸入作業
WF ERP GP 小版本更新
Exchange online journal到外部....
熱門文章
2026 年前端工程師的生存戰:當程式碼不再是瓶頸,什麼才是你的核心價值?
[POG-Task-05] 對待任務與提示詞如同程式碼一樣
我寫了一個 CLI 工具,因為教 PM 什麼是 /etc/hosts 比自己做還累
[POG-Task-06] 什麼是「AI 原生任務治理模型」?
你用的 AI 工具可能正在執行攻擊者的指令——3 個 MCP 漏洞拆解與防禦設計
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}