Process (or thread) scheduling is done by the kernel to make sure that everybody gets a fair share, nobody hogs the system, and nobody prevents others from getting their work done. Each process is allowed to run for only a certain amount of time before it is bounced and the CPU is switched over to another process. The basic mechanisms of scheduling, however, changed dramatically between SunOS 4.x and Solaris 2. It was turned into a more tunable, table-driven process. In addition, a real-time facility was added to the kernel in Solaris 2, and the whole process of deciding who got to run next was redone. |