Disclosed is context swapping in a multitasking operating system for a
processor that includes providing a plurality of context blocks for
storing context information for a plurality of processes, providing an
array of pointers to the context blocks, providing an index to the array
of pointers, and swapping context by adjusting at least one pointer in the
array of pointers to point to a context block of a new process. Further
included may be incrementing the index prior to adjusting the at least one
pointer in the array of pointers. Further included may be, after adjusting
at least one pointer in the array of pointers, decrementing the index and
causing the processor to jump to an address indicated by a program counter
value of the new process. The context information may include values for
registers, a stack pointer, and a program counter for a process. 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, Mass. 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.
È rilevato lo scambio di contesto in un sistema operativo di elaborazione multitask per un processor che include fornire una pluralità di blocchetti di contesto per memorizzare le informazioni di contesto per una pluralità di processi, fornente un allineamento degli indicatori al contesto ostruisce, fornente un indice all'allineamento degli indicatori e scambiante il contesto registrando almeno un indicatore nell'allineamento degli indicatori per indicare ad un blocchetto di contesto di nuovo processo. Ulteriore incluso può incrementing l'indice prima della registrazione del almeno un indicatore nell'allineamento degli indicatori. Ulteriore incluso può essere, dopo la registrazione almeno dell'un indicatore nell'allineamento degli indicatori, decrementing l'indice ed avere indotto il processor a saltare ad un indirizzo indicato da un valore del contatore di programma di nuovo processo. Le informazioni di contesto possono includere i valori per i registri, un indicatore di pila e un contatore di programma per un processo. Il sistema descritto qui fornisce un piccolo nocciolo che può funzionare su una varietà di piattaforme di fissaggi, quale un bordo dell'adattatore di Symmetrix basato PowerPC usato in un dispositivo di memorizzazione di dati di Symmetrix fornito da EMC Corporation di Hopkinton, massa. Il codice del nocciolo di nucleo può essere scritto per la piattaforma generale dell'obiettivo, quale l'architettura di PowerPC. Dall'esecuzione di PowerPC i moduli specifici sono definiti bene, il sistema può essere abbastanza portatile fra i processor di PowerPC (come i 8260 ed i 750) e dovrebbe dimostrare relativamente facile port a tutta la combinazione del bordo dell'adattatore di Symmetrix basata PowerPC. Il nocciolo può anche ported per funzionare su altre macchine di RISC (serie SH della Hitachi) e può ported alle architetture di CISC.