Disclosed is providing one of a plurality of schedulers for a multitasking
system for a processor that includes choosing a particular one of the
schedulers, setting a program counter to an address corresponding to code
of the particular one of the schedulers, and the processor executing code
at an address corresponding to the program counter. Also included may be
setting a stack pointer to an address corresponding to stack space for
the particular one of the schedulers and the processor using the stack
space at the stack pointer after executing code at the address
corresponding to the program counter. The system described herein
provides a small kernel that can run on a variety of hardware platforms,
such as a PowerPC based Symmetrix adapter board used in a Symmetrix data
storage device provided by EMC Corporation of Hopkinton, Ma. The core
kernel code may be written for the general target platform, such as the
PowerPC architecture. Since the PowerPC implementation specific modules
are well defined, the system may be quite portable between PowerPC
processors (such as the 8260 and 750), and should prove relatively easy
to port to any PowerPC based Symmetrix adapter board/CPU combination. The
kernel may also be ported to run on other RISC machines (Hitachi SH
series) and can be ported to CISC architectures.