Process abstraction
What’s the point?
OS should provide efficient use of the hardware resource:
- By managing the programs executing on the hardware
If there is only one program executing at any point in time, we can’t utilize hardware resources effectively.
We want to allow multiple programs to share the hardware.
How can we accomplish this?
Allow users to switch between running programs, A and B.
To do this, info regarding A execution has to be stored.
We need to swap in information to run B.
To describe a running program, we provide a abstraction aka a process.
Puzzle pieces
Process abstraction
Info describing an executing program
Process scheduling
Deciding which process get to execute
Inter-process communication + syncing
passing info between processes
Thread (alternative to process)
Light weight process aka Thread