Every process is represented by a process control block(PCB). The PCB includes:
- Process state. Is it running, waiting, terminated?
- Process number/id. Special identifier for this process
- Program counter. Tells us the current line of code being executed
- Registers. Tells us the memory address
- Memory limits. Represents memory currently being used
- Process Scheduling. Automating tasks
- List of open files
- Accounting information. Keeps accounts like info being used, time, memory.
- I/O status information. Tells us what I/O devices are assigned to this process.