非可搶佔式和搶佔式程式排程的區別是什麼?
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_34173549/article/details/79936219
1) 非搶佔式優先權演算法
在這種方式下,系統一旦把處理機分配給就緒佇列中優先權最高的程式後,該程式便一直執行下去,直至完成;或因發生某事件使該程式放棄處理機時,系統方可再將處理機重新分配給另一優先權最高的程式。這種排程演算法主要用於批處理系統中;也可用於某些對實時性要求不嚴的實時系統中。
2) 搶佔式優先權排程演算法
在這種方式下,系統同樣是把處理機分配給優先權最高的程式,使之執行。但在其執行期間,只要又出現了另一個其優先權更高的程式,程式排程程式就立即停止當前程式(原優先權最高的程式)的執行,重新將處理機分配給新到的優先權最高的程式。因此,在採用這種排程演算法時,是每當系統中出現一個新的就緒程式i 時,就將其優先權Pi與正在執行的程式j 的優先權Pj進行比較。如果Pi≤Pj,原程式Pj便繼續執行;但如果是Pi>Pj,則立即停止Pj的執行,做程式切換,使i 程式投入執行。顯然,這種搶佔式的優先權排程演算法能更好地滿足緊迫作業的要求,故而常用於要求比較嚴格的實時系統中,以及對效能要求較高的批處理和分時系統中。
非搶佔式(Nonpreemptive) 讓程式執行直到結束或阻塞的排程方式 容易實現 適合專用系統,不適合通用系統
搶佔式(Preemptive) 允許將邏輯上可繼續執行的在執行過程暫停的排程方式 可防止單一程式長時間獨佔CPU 系統開銷大(降低途徑:硬體實現程式切換,或擴充主存以貯存大部分程式)
相關文章
- linux搶佔式排程Linux
- Go 的搶佔式排程Go
- Keepalived+Nginx高可用案例(搶佔式與非搶佔式)Nginx
- keepalived 高可用(非搶佔式)
- Go1.12將支援搶佔式goroutine排程Go
- go1.14 基於訊號的搶佔式排程實現原理Go
- async-await:協作排程 vs 搶佔排程AI
- Go runtime 排程器精講(十):非同步搶佔Go非同步
- kube-scheduler原始碼分析(3)-搶佔排程分析原始碼
- Go runtime 排程器精講(九):系統呼叫引起的搶佔Go
- Caffeinated 6.828:實驗 4:搶佔式多工處理
- Go runtime 排程器精講(八):執行時間過長的搶佔Go
- 阿里雲伺服器ECS購買方式“搶佔式例項”有什麼優缺點?阿里伺服器
- scheduler原始碼分析——preempt搶佔原始碼
- 阻塞式程式設計和非阻塞式程式設計區別程式設計
- 【深入淺出 Yarn 架構與實現】5-3 Yarn 排程器資源搶佔模型Yarn架構模型
- AMD或繼續搶佔CPU市場
- mit6.828筆記 - lab4 Part C:搶佔式多工和程序間通訊(IPC)MIT筆記
- 分散式與叢集的區別是什麼?分散式
- Python是什麼?為什麼這麼搶手?Python
- 巧用社群拼團小程式,搶佔萬億社群精準流量
- 影片播放元件中,樣式全屏和全屏的區別是什麼?元件
- 系統呼叫與庫函式是什麼,區別是什麼函式
- 【故障公告】阿里雲搶佔式例項伺服器被釋放引發全站故障阿里伺服器
- 什麼是Python?Python為什麼這麼搶手?Python
- 搶佔百度首頁方法簡單嗎
- 上海AI高地雛形初現 徐彙區搶佔產業潮頭AI產業
- 小程式風口搶佔流量戰,再不抓緊佈局真的晚了!
- python is和==的區別是什麼?Python
- 函式宣告與函式表示式有什麼區別?函式
- 搶佔金融雲市場,騰訊、阿里再對決阿里
- 阿里、微盟、碧桂園,搶佔智慧餐飲高地阿里
- Facebook 搶佔商標,PrestoSQL 無奈選擇更名 TrinoRESTSQL
- 無程式碼和低程式碼最大的區別是什麼?
- class和普通建構函式有什麼區別?函式
- Redis分散式Session和普通的cookie session有什麼區別?Redis分散式SessionCookie
- ArrayList和LinkedList的區別是什麼
- cat和vim的區別是什麼?