A method and system providing switching between a plurality of installed
programs in a computer system. Embodiments include a jump function
comprising the steps: (1) determining a jump program that is to be the
next program to be run, possibly from a plurality of possible choices:
(2) creating input data for the jump program based on data in the current
program; (3) storing the program state of the currently running program
into a context packet and saving the context packet to memory; (4)
releasing temporary memory that is used by the program, so as to allow
other programs to use the memory; (5) calling the jump program with the
created input data as input and terminating the currently running
program.