零聲企業(yè)級業(yè)?golang項(xiàng)目實(shí)戰(zhàn)課程從0帶?實(shí)你?現(xiàn)ChatGPT項(xiàng)目
2023-06-10 11:00 作者:一起學(xué)習(xí)fee1024 | 我要投稿
調(diào)度是什么?
計(jì)算機(jī)的資源是有限的,像 CPU,內(nèi)存都是固定的。但是同一時(shí)間可能會(huì)有多個(gè)任務(wù)要去完成,比如操作系統(tǒng)的定時(shí)監(jiān)控,用戶程序的運(yùn)行等。
怎么讓資源最大化的完成任務(wù),這是調(diào)度需要考慮的關(guān)鍵點(diǎn)。
調(diào)度可以理解為一個(gè)指揮員,指導(dǎo)我們的程序按照一定的規(guī)則去獲取資源,然后去執(zhí)行里面的指令。

那么,一般的規(guī)則有哪些呢?
常見的調(diào)度策略有 2 種,一種是協(xié)作式調(diào)度,會(huì)讓程序順利的完成自己的任務(wù),再把資源騰出來給其他程序使用。
另一種是搶占式調(diào)度,也就是讓程序按一定的時(shí)間去占有這些資源,時(shí)間到了就被迫讓出現(xiàn)有資源,給其他的程序輪流使用。
協(xié)作式調(diào)度有利于程序?qū)W⒌耐瓿勺约旱娜蝿?wù),但也可能會(huì)造成其他程序一直餓死,得不到執(zhí)行。

搶占式調(diào)度有利于程序在資源的利用上雨露均沾,但是在不斷的切換過程中,將會(huì)使得程序原本 10 ms 能完成的事,不得不延遲多幾 ms。

標(biāo)簽: