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.