a process scheduling method includes executing a plurality of symmetric schedulers on respective processors of a multiprocessing system . each scheduler periodically accesses a shared lock to obtain exclusive access to a shared scheduling data structure including process information identifying the processes , and scheduling information reflecting the executability and priorities of the processes . after obtaining the lock , each scheduler performs a scheduling routine including utilizing the scheduling information and a scheduling algorithm to identify a next executable process , and activating the identified process to begin executing on the processor on which the scheduler is executing , and updating the scheduling information to reflect the activation of the identified process . the scheduler then accesses the lock to relinquish exclusive access to the scheduling data structure . the fully symmetric scheduler provides for efficient , high - performance scheduling especially in embedded multiprocessing computer systems in which the rate of process context switches may be several thousand per second .