Process Concept
Program - passive entry in storage, stored as an executable
Process - a program in execution (baso a program in memory); this must happen is a sequential fashion
Multiple Process can com from 1 Program
Process are made of multiple parts:
- The code, also known as the text section
- The current activity, including the program counter, and process registers
- Stack containing the temporary data (such as functions, local variables, return addresses)
- Data Section containing global variables
- Heap containing memory allocated at run time
Stack and Heap


Process State

As a process executes its state may change:
- New - The process is being created
- Running - Instructions are being executed
- Waiting - Waiting for an event to occur
- Ready - Waiting to be assigned to a processor
- Terminated - Process has finished execution
Process Control Block (PCB)

also known as: Task control block
This is all information associated with each Process
- Process State - is it running waiting...
- Program Counter - Location of next instruction (maybe multiple when using threads)
- CPU Registers - Contents of all the registers associated with the process
- CPU Scheduling Information - Priorities, scheduling pointers
- Memory-management info - memory allocated to the process
- Accounting info - CPU used for the process, clock time since start, time limits
- I/O status info - input output devices allocated to the process, list of open files
Threads
The idea of having multiple program counters per a process,
so multiple locations can execute at the same time