Essential Properties of Operating System
1. Batch: Jobs with similar needs are batched together and run through the computer as a group by an operator or automatic job sequencer. Performance is increased by trying to keep I/O devices and CPU busy at all times through buffering, off line operation, spooling and multiprogramming. A Batch system is decent for executing large jobs which need little interaction, it can be submitted as well as picked up latter.
2. Time sharing: Uses CPU s scheduling and multiprogramming to provide economical interactive use of a system. CPU switches rapidly from one user to another it implies that CPU is shared between some interactive users. Rather than having a job defined by spooled card images, every program reads its subsequent control instructions from the terminal and output is typically printed immediately on the screen.
3. Interactive: User is on line with computer system and interacts with it by an interface. It is normally composed of many short transactions where result of the subsequent transaction may be unpredictable. Response time needs to be short because the user submits and waits for result.
4. Real time system: Real time systems are generally dedicated, embedded systems. They normally read from and react to sensor data. System should guarantee response to events within fixed periods of time to make sure correct performance.
5. Distributed: Distributes computation among several physical processors. The processors don't share memory or a clock. Instead each processor has its own local memory. They communicate with each other through various communication lines.