A process is a program in execution. Its address space has these parts: text (code, read-only), data (global and static variables), heap (grows upward with malloc()), and stack (grows downward with function calls). Each process has its own address space, so a write to a variable in one process is invisible to another, unless the processes have explicitly set up shared memory.
The kernel keeps one process control block (PCB) per process. It holds the process id, the process state, the program counter, the saved CPU registers, scheduling information (priority, queue pointers), memory-management information (page-table base and limits), accounting information, the list of open files and the id of the parent. The PCB is where a context switch saves the process's state and from where it restores it.
The seven-state model adds two suspended states for processes swapped out to disk: Ready-suspended and Blocked-suspended. A Blocked-suspended process whose event occurs moves to Ready-suspended. The long-term scheduler admits new processes (it controls the degree of multiprogramming), the medium-term scheduler swaps processes out to disk and back in, and the short-term scheduler picks the next ready process to run on the CPU.