排程器的介紹

2021-06-16 07:56:02 字數 714 閱讀 5054

排程器:

一方面,排程器可以看作是乙個簡單的作業系統,允許以週期性或(更少見)單次方式來呼叫任務

從底層的角度看,排程器可以看作是乙個由許多不同任務共享的定時器中斷服務程式,因此,只需要初始化乙個定時器,而且改變定時的時候通常只需要改變乙個函式。此外,無論需要執行1個、10個還是100個不同的任務,通常都可以使用同乙個排程器完成。注意,這種「共用中斷服務程式」與桌面作業系統提供的共用列印功能非常類似。

合作式排程器:

合作式排程器不但可靠而且可**的主要原因是在任一時刻只有乙個任務是活動的。

搶占式排程器:

混合式排程器:

這裡面乙個關鍵性問題就是如何解決不可重入函式:

a、修改或讀取變數(尤其是用於任務間通訊的全域性變數)

b、操作微控制器埠等硬體介面的**(volatile型別修飾符的使用)

c、呼叫公共函式的**,例如,如果同乙個函式同時被多個任務呼叫

當然這裡c的問題歸根到底還是a的問題,只要這個函式是可重入函式,都肯定沒有問題。

第乙個問題的解決方法,最容易想到的是在開始訪問共享資源的時候,禁止排程器。但這也是不能完全解決這個問題,因為你不能保證訪問共享資源和禁止排程器之間不會發生中斷,該中斷恰好正要訪問這個埠。

可以考慮在訪問共享資源之前就禁止排程器,這樣就可以解決這個問題,但一旦排程器停止,整個時基就停止了,如果這個埠訪問很頻繁,排程器不斷的停止,對於整個系統的執行影響會非常的大。

Yarn介紹及排程器

yarn是hadoop集群當中的資源管理系統模組,從hadoop2.0開始引入yarn模組,yarn可為各類計算框架提供資源的管理和排程,主要用於管理集群當中的資源 主要是伺服器的各種硬體資源,包括cpu,記憶體,磁碟,網路io等 以及排程執行在yarn上面的各種任務。總結一句話就是說 yarn主要...

Linux IO排程器相關演算法介紹

io排程器 io scheduler 是作業系統用來決定塊裝置上io操作提交順序的方法。存在的目的有兩個,一是提高io吞吐量,二是降低io響應時間。然而io吞吐量和io響應時間往往是矛盾的,為了盡量平衡這兩者,io排程器提供了多種排程演算法來適應不同的io請求場景。其中,對資料庫這種隨機讀寫的場景最...

程序排程 介紹

完全可操作的排程準則 a fully operational scheduling discipline 對作業系統中執行的程序 有時也叫工作任務 做出如下的假設 每乙個程序執行相同的時間。所有的程序同時到達。一旦開始,每個程序保持執行直到完成。所有的程序只是用 cpu 即它們不執行 io 操作 每...