Goals for Multiprogramming
In a multiprogramming system, we try to increase utilization and thruput by overlapping I/O and CPU activities.
This requires several os policy decisions:
- determine the multiprogramming level -- the number of jobs loaded in primary memory
- decide what job is to run next to guarantee good service
These decisions are long-term and short-term scheduling decisions, respectively.
Short-term scheduling executes more frequently, changes of multiprogramming level are more costly.