プロセスには、スケジュールクラスと優先レベルに従って CPU 時間が割り当てられます。デフォルトでは、Solaris オペレーティング環境にはリアルタイム、システム、タイムシェアリング、対話型という 4 つのプロセス優先レベルがあります。
リアルタイムプロセスは、最上位の優先レベルを持っています。このクラスには、外部イベントが発生したら応答しなければならないプロセスが含まれます。たとえば、センサーからデータを収集するプロセスは、データを処理して即座に応答する必要があります。ほとんどの場合、リアルタイムプロセスには専用システムが必要です。CPU の制御がリアルタイムプロセスに移っている間は、他のプロセスを処理できません。デフォルトでは、優先順位の範囲は 100 から 159 までです。
システムプロセスは、中程度の優先レベルを持っています。このクラスは、スワッパーやページングデーモンなど、カーネルによって自動的に実行されるプロセスからなっています。デフォルトでは、優先順位の範囲は 60 から 99 までです。
タイムシェアリングプロセスは、最下位の優先順位を持っています。このクラスには標準の UNIX プロセスが含まれます。通常、すべてのユーザープロセスはタイムシェアリングプロセスです。この種のプロセスには、処理時間を適正に配分し、対話型アプリケーションの応答時間を短縮し、適正な計算処理スループットを保つスケジュールポリシーが適用されます。デフォルトでは、優先順位の範囲は 0 から 59 までです。
対話型プロセスは、SunOS 5.4 環境に導入されています。優先順位の範囲は 0 から 59 までです。OpenWindows 上で開始されるすべてのプロセスは対話型クラスに分類され、キーボードフォーカスを持つプロセスには、より上位の優先順位が与えられます。
スケジュールポリシーによって、各プロセスの実行順序が決まります。
リアルタイムプロセスの優先順位は固定されています。リアルタイムプロセスを実行する準備ができている場合は、システムプロセスやタイムシェアリングプロセスを実行できません。
システムプロセスの優先順位は、開始時にカーネルによって確立され固定されています。システムクラス内のプロセスはカーネルによって制御されるので変更できません。
タイムシェアリングプロセスと対話型プロセスは、その優先順位を動的に割り当てるスケジューラによって制御されます。このクラスのプロセスの優先順位は操作できます。