All program must be loaded into memory (RAM) before execution by OS.
◦ The loaded program use memory for command and variable that declared within program.
CPU reads loaded program commands one by one from memory and process each command.
◦ Dynamic variable will use memory out of program memory space (the used memory from process 1.) that will allocate later after program was executed.
CPU processes program commands until end of program commands.
When program end, OS will release program from memory and memory are available again.