技術問答
技術文章
iT 徵才
Tag
聊天室
2023 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
作業系統L5-行程排班
作業系統
蔡基
2022-01-06 00:20:25
‧
9868 瀏覽
分享至
作業系統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鐵人賽
參賽組數
1123
組
團體組數
52
組
累計文章數
23096
篇
完賽人數
656
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
python
windows
php
c#
windows server
linux
css
react
程式設計
vue.js
熱門問題
公司有人常常亂改IP位置(想問有甚麼辦法可以將IP鎖住不給更改)
請問我晚上開發一款工具,早上給公司使用,沒特別條款,法律知識產權還是我的嗎?
DDR3記憶體 只抓到一半
請教外網如何連到家裡內部裝置
自家官網連線不到 (已解決)
請問公司網路通暢,卻部分固定的使用者無法連到特定網頁 ,求救~~~
請教各位前輩關於 IT 管理者為 User 重設 AD 帳號的密碼的行政流程
自我改善工作人際態度邊界
遠端連線到虛擬機器上,並希望能聽到音效
請問有提供對外http連線服務的主機,都需要上SSL嗎?
熱門回答
公司有人常常亂改IP位置(想問有甚麼辦法可以將IP鎖住不給更改)
請問公司網路通暢,卻部分固定的使用者無法連到特定網頁 ,求救~~~
自家官網連線不到 (已解決)
DDR3記憶體 只抓到一半
請問有提供對外http連線服務的主機,都需要上SSL嗎?
熱門文章
筆電Wifi不見後, 筆電該怎麼上網?
在任何雲端上運行:雲端的可移植性你有考慮過嗎?
[C#] Remove Element 解法
使用JS解構賦值踩到的雷
幫多階段 Dockerfile 除錯紀錄
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}