一般排程演算法都是「根據程序優先序(priority-based)」來決定排程的方式。作法是:根據程序的價值和所需的處理器時間,將程序分成不同的等級。具有較高優先序的程序會比低優先序的程序先執行,而具有相同優先序的程序則會以 round-robin (一個接一個輪流,反覆這種過程) 的方式進行排程。在某些系統中(linux 也包含在內),高優先序的程序也會取得較長的執行時段。擁有可執行時段及最高優先的可執行程序總是會優先執行。使用者與系統都可以藉改變程序的優先序來影響系統的排程行為。 (賦予 nice 值)
基於這樣的想法, Linux 提出了「以動態優先序為基礎(dynamic priority-based)」的排程方案。它的概念是說,在一開始的時候賦予程序基本的優先序,然後讓排程器藉動態改變優先序的方式,來滿足想達成的排程目標。例如,如果某程序等待 I/O 的時間遠超過實際的執行時間,則這個程序明顯屬於 I/O 密集的類型。這時,按照 Linux 的做法,跟著的動作就是增加這個程序的優先序。反之,如果某程序總是一口氣就用完它被賦予的 timeslice ,則明顯是處於處理器密集的類型,跟著,它的優先序就會機動的減少。
# (優先序 nice 值,是愈低則分配到的 timeslice 會愈多,所以上文的優先序調高用的是「增加優先序(值)」而不是「調高優先序」,主要是因為中文裡頭的「高優先」,明顯是要先做,在文中容易引起歧義,故避免之。)
訂閱:
張貼留言 (Atom)
[Windows] git-bash 底下的工具
因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...
-
嗯... 其實是沒有! ☔ : 不過如果就這樣放棄,就不足以稱作一個有勇有謀的 Linuxer 了。 所以藉由 wine 的幫助,我們可以很輕鬆的在 Linux 上面再安裝一些 win32 的看盤軟體來操作。以下是實行畫面 (因為某些原因,所以作者看盤只能偷偷看 .... XD...
-
關於 UNLiu 表格的內容: 1. 最早整理是用 nosee 表格,目前由於該表格授權上有問題,故已將該部份剔除。 anton 未盡察查審核的責任,以致引發爭議或對表格「整理者」的困擾,特此向 nosee 表格的著作權擁有人及整理者道歉。 2. 本表格係由輸入法工具整理...
-
lkl 是 Linux 上面做鍵盤側錄的程式。 用起來蠻方便的。不過就是 keymap 裡面有一個小 bug . (space 的地方是 '' 不是 ' ') ascii[0] 是 0 不是 32 ,所以要小修一點點而已。 之所以找這個東西是因為...
沒有留言:
張貼留言