技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
0
作業系統L5-行程排班
作業系統
蔡基
2022-01-06 00:20:25
‧
15241 瀏覽
分享至
作業系統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鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22201
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
teams 未完整轉移 skype 聯絡人
雲端 ERP 評估
信箱重覆寄信
請問有推薦初學者使用的 GUI 應用程式開發工具嗎?
遠端連線終端機
【Python】
TEAMS授權帳號問題和連線方式
請問有比樂詞網更好的網絡術語詞典嗎?
Outlook信箱畫面閃爍
Line官方帳號『免費通話』圖文功能連結問題
熱門回答
請問有推薦初學者使用的 GUI 應用程式開發工具嗎?
雲端 ERP 評估
信箱重覆寄信
Wifi cert 証書認証問題
"已解決"USB印表機轉COM
熱門文章
如何將 SKYPE 轉移到 Teams
Visual Studio Community 2022 建立用 C++ 呼叫 EXE 的安裝檔 && Pyinstaller 打包外部文件 (INI)
基於WebGL和Three.js構建高性能虛擬試穿系統:技術實現與挑戰
JAVA 入門筆記 - 2 - 環境建置與開發準備
在Ubuntu系統上架設Sql Server的Redmine-1筆記
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}