Solaris Resource Manager 介紹數種新的概念,其中有幾方面與 Solaris 的其他部份有類似的原理。
為了簡化本文的說明並且避免混淆,在此為下列辭彙做一個定義。
如果有任何處理附加在一個 lnode 上,或是附加至其任何一個後代之上的話,此 lnode 即處於作用中的狀態。一個作用中的 lnode 無法移除。
一位使用者,其 Inotde 的管理旗標求值到 set。此類使用者可以建立、刪除與修正其排程群組之內的 Inode。
任何執行包括維護系統等功能的人。Solaris Resource Manager 提供各種功能,可以授權管理性的任務而不需要放棄超級使用者的權限。請同時參閱管理使用者、超級使用者、uselimadm 使用者以及"授權管理"。
依照一種特定的 lnode 樹階層、配分以及作用中的 lnode 設置,將可用 CPU 資源的部份長期分配給一位使用者。
一個 lnode 是另一個 lnode 的祖先,從第一個 lnode 的 sgroup 屬性開始參考,一直連續下去,直到最終參考到另一個 lnode。因此後來的 lnode 便會是第一個 lnode 的後代或是成員。
使用者登入時,其 PAM 模組處理會附加至對應其 UID 的 lnode 之上。根據內定,任何後續產生的處理都會被附加至相同的 lnode 上。處理所附加的 lnode 可以用來決定處理的限制、CPU 權利、權限等。
一個 lnode 的資料欄位稱為屬性。所有 lnode 都有相同的內部結構,因此所有的使用者都會有相同的一組屬性。屬性可以是系統、使用者(僅由使用者模式程式所使用)或是領域。這些不同類型的屬性會有不同的欄位號碼。系統屬性會直接由 kernel 使用,例如控制資源的數值變數,如處理、記憶體大小以及在 kernel 層級控制系統權限的旗標。使用者屬性可以由管理員隨時新增,而現有的使用者屬性可以隨時加以修正,條件是不影響使用屬性的程式。設置來源檔中不需要宣告領域屬性,因為領域一旦宣告之後會自動定義。
中央管理員為系統的 root 使用者(或超級使用者)。root lnode 總是位於排程樹的頂端。中央管理員對所有使用者及資源的管理負有統籌性的責任,但是可以將管理性權限賦予一般的使用者以將某些管理性責任授權給其他人。通常中央管理員會決定資源配置給身為 root lnode 的子的群組,並將管理權限賦予那些群組的 header,因而解除他們本身的管理重任。
直接在排程樹中另一個 lnode 之下的所有 lnode 都是該 lnode 的子。如果第一個 lnode 的 sgroup 屬性設定為第二個 lnode 的 UID,那麼一個 lnode 便是另一個 lnode 的子。反之,後面的 lnode 就會被視為前者的雙親或群組 header。
消減指的是可更新資源定期的使用量減少。除了 CPU 使用量的所有資源,其消減是一個固定的量,會規律性地從使用量屬性中除去。而 CPU 使用量則使用一種呈倍數的消減方式。
請參閱第 6章, SHR 排程器。
此詞指的是配置給特定使用者的 CPU 時間總量。
設置檔中指定的,由屬性所使用的陣列槽。
一種供應量有限的資源。
有一種特別的屬性稱為旗標,和布林變數類似,不過此種屬性可能有下面四種值之一﹕set、clear、group 或 inherit。Solaris Resource Manager 使用旗標來控制權限。
請參閱"群組迴圈"。
在 Solaris Resource Manager 中,此詞通常指的是一個排程群組。請參閱排程群組。
在群組最頂端的 lnode 稱為一個群組 header lnode。Solaris Resource Manager 會將選定的管理權限賦予群組 header,因此如部門主管,便可以完全負擔部門內部群組及使用者的建立與移除,以及資源配置的責任。群組 header 並非其所帶領的群組成員之一。
累計未使用 CPU 時間的一個特別的 lnode。此功能有助於會計方面的用途。內定的使用者姓名為 srmidle,其 UID 為 41。
可賦予旗標屬性的一個值。求值一個本身的值是 inherit 的旗標時,會求值其雙親 lnode 中相同的旗標以決定實際的數值。這是一種環結式的處理。如果在 root lnode 上的旗標被設定為 inherit,那麼其最終值就是內定值。一個旗標的求值結果永遠是 set 或clear。
作業系統的核心,支援系統呼叫、檔案系統及處理排程。Solaris Resource Manager 包括兩個 kernel 模組及數個 kernel 分支,以及使用者層級(非 kernel)的程式及程式庫常式。
一個限制是與使用量屬性有關的一個數值屬性。可以用來防止一位使用者對某種資源的使用量超過該資源的限制。限制共有兩種﹕硬限制及軟限制。如果資源佔用或配置的嘗試會超出限制的使用量,硬限制便會使嘗試失敗。而軟限制通常不會直接限制使用量,但是會代表一個特定的時間,那時使用者會被告知其使用量,並且被要求要減少使用量。一個零的限制為特例,表示沒有任何限制。
Solaris Resource Manager 所用的所有 lnode 在磁碟之上的副本,由 UID 定位。
lnode 是 Solaris Resource Manager 用來保存所有每位-使用者資料的一種長度固定的結構,其中的資料不在密碼映射內存資料的範圍之內。它是一種磁碟上內存於 lnode 檔的結構,由 kernel 在必要時讀寫。每個獨特的 UID 至少都有一個單一的 lnode。具有相同 UID 的不同帳號會使用同一個 lnode。
當 setuid(2SRM) 系統呼叫無法附加一個處理至對應系統呼叫的標的 UID 的 lnode 時所用的特別 lnode,通常是因為該 lnode 並不存在。
遞送給 Solaris Resource Manager 精靈 limdaemon(1MSRM) 的所有訊息都是一個通知訊息。某些通知訊息對 limdaemon 來說有特殊的意義。
一個沒有雙親 lnode 的 lnode。亦即 lnode 的 sgroup 屬性中所指定的 UID 本身並不對應至一個 lnode。
如果一位名為 other 的使用者有一個帳號,而該帳號也有一個 lnode 的話,那麼該 lnode 會作為 root 或 uselimadm 使用者以 limadm (1MSRM) 指令所建立的新 lnode 雙親的內定值。。
排程樹中一個 lnode 的群組 header 即為 lnode 的雙親。
一個 lnode 的同層為其排程群組之內的其他 lnode,群組的雙親除外。
一種資源單位會隨著時間過去而愈來愈多的資源。例如 CPU 使用量或連結時間。
UID 0 的 lnode。這個 lnode 是整個 lnode 樹狀結構的頂端,而其他所有的 lnode 皆為其成員。
Solaris Resource Manager 允許所有使用者組成一個全系統的排程群組階層,這個階層通常也能對應使用此系統的整個組織結構。之所以使用排程群組一詞的目的,是為了只使用簡化的群組一詞,以避免與現有的 UNIX 群組概念混淆,即使排程群組的用法比單單排程的用法還要常見。Solaris Resource Manager 群組不需要與 UNIX /etc/group 檔中定義的群組相同。
階層任何層級上的一個排程群組可以被視為一位單一使用者。亦即指派給一個排程群組的資源限制可以應用於該群組內所有群組及使用者的淨使用量。
由 root lnode 為領頭的 lnode 樹,特別地指出各個 lnode 間的親子關係、CPU 配分的配置、以及 Solaris Resource Manager 排程器如何決定處理執行率
配分是定義一個 lnode 的 CPU 權利比例相較於其雙親及同層 lnode 的一種方法。CPU 配分的概念就好比是公司的股份一樣;擁有多少不重要,真正重要的是與其他持股人相較之下所擁有的股分多寡。
這就是與 Solaris Resource Manager 所知系統的任何登入式連結 - 需要 Solaris Resource Manager 以及各種辨證使用者並賦予其存取權的 '閘道' 程式之間的合作。
一位子管理員即為對其所帶領的排程群組的成員具有管理權限的群組 header。藉由設定一個群組 header 的管理旗標而賦予其子管理員的身份。如此一來,他們便能建立與刪除其群組內使用者的 lnode,控制其群組內部的資源及權限配置,並且進一步將管理責任授權給群組 header。
知道 root 密碼的人便稱為超級使用者。如果處理是以一個有效的 0 的 UID 在執行的話,便擁有超級使用者的權限。
其群組 header 為 root 的任何群組。
此詞指的是一種特定資源的基本量。Solaris Resource Manager 之內的數值是以三種單位類型來代表﹕定標、原始或內部。
一位使用者的資源使用量是一種數值屬性。每當使用者佔用或被配置某些資源時,此屬性會增加。每當任何資源被釋出時,固定資源的使用量便會減少。而每當執行一個消減時,可更新資源的使用量會減少。
一位使用者,其 lnode 旗標的 uselimadm 屬性為 set。使用者因而對於 Solaris Resource Manager 管理擁有和超級使用者相同的權限。
請參閱屬性。
內碼被 UNIX 系統上的普通程式及處理所執行的方式。而另一種 kernel 模式則是由系統呼叫、裝置驅動程式以及 SYS 類別排程器所使用。Solaris Resource Manager 有數種可以在使用者模式中執行的元件,以及可以在 kernel 模式中執行的元件。