Oct. 19, 2007
Solaris scheduling classes
By Toots, 2 years, 9 months ago, modified Oct. 19, 2007
Unlike other OS, The Solaris scheduler has the ability to use differents type of scheduling at the same time.
Here's an overview of the differents scheduling classes available and their description and purpose.
Time Shared (TS) : TS is the default scheduling class used in Solaris 10 systems, it gives a relative equal access to the CPU for each process.
Fair Share Scheduler (FSS) : CPU access is divided into "cpu shares". Processes can be declared into "projects" wich are manualy assigned to a defined cpu-share. Thus we're able to define differents priorities for the projects of a system. (use prstat -J to monitor cpu usage by project)
Real Time (RT) : Processes run with a fixed priority, the real-time process with the highest rtpri is always selected by the scheduler to run before any other process in the system (man priocntl).
Fixed Priority (FX) : Same as TS but ensuring that thoses processes wont have their priority dynamically adjusted.
Inter Active (IA) : Same as TS but interactive processes have a higher priority (for example, X sets the iamode bit on the process running under an active window).
System (SYS) : Kernel threads.
In a future post we will describe the use of the Faire Share Scheduler, definine projects and assign priorities, stay tuned !
Sources :
man priocntl
Solaris Process Scheduling
A Comparison of Solaris, Linux, and FreeBSD Kernels (look at the "Scheduling and Schedulers" section)
Solaris 10 System Administration Guide: Resource Management and Network Services (see chapter 8 "Fair Share Scheduler")

