Patent ID: 6895506

Claim:
In a computer system processing unit, the processing unit including a processor responsive to program code for performing operations, a memory for storing program code to be executed to control operations of the processor unit, a storage unit for storing programs, and a memory manager for managing use of the memory, a mechanism for securely storing and executing a program, comprising: the storage unit for storing an encrypted version of the program, a loader/decryption mechanism responsive to a request for an operation to be performed by the program and to a decryption key for reading the encrypted version of the program from the storage unit, decrypting the encrypted version of the program according to the decryption key to recover an un-encrypted version of the program code, and responsive to direction of the memory manager, writing the un-encrypted version of the program code into the memory for execution by the processor, wherein the processor is responsive to execution of the program code for deleting the un-encrypted version of the program code from the memory when execution of the program code is completed, storing a clear text header in a context store when a process in which the program is being executed is suspended in a context switch, and returning the clear text header to the memory when the process is resumed.