Operating systems can be classified in several ways:
- Single-user, single-processor systems have one user and CPU. Examples include MS-DOS.
- Batch processing systems automatically execute jobs one after the other without user interference. A batch monitor controls the environment.
- Multiprogramming systems increase efficiency by allowing multiple jobs to reside in memory at once. The CPU switches between jobs during I/O waits.
- Time-sharing or multitasking systems further improve interaction by rapidly switching between jobs, giving the appearance that users interact with programs simultaneously.