Multiprogramming
- CPU-bound system
- I/O-bound system
- Maintain more than one program in the main memory
- Sharing of time and space
Multiprogramming OS
- Requires addition of new hardware components
- DMA Hardware
- Priority Interrupt Mechanism
- Timer
- Storage and Instruction Protection
- Dynamic Address Relocation
- Is more complex compared to a simple OS
- Must hide the sharing of resources between different users
- Must hide details of storage and I/O devices
- Requires a complex file system for secondary storage
Tasks of a multiprogramming OS
- Bridge the gap between the machine and the user level
- Manage the available resources needed by different users
- Enforce protection policies
- Provide facilities for synchronization and communication