1. Introduction

An operating system is designed not only to manage hardware resources but also to optimize system behavior according to specific objectives. These objectives, commonly referred to as the goals of an operating system, guide its design, implementation, and performance.

The three primary goals are:

  • Efficiency

  • Convenience

  • Fairness

These goals often interact with each other and may involve trade-offs depending on system requirements.

2. Efficiency

2.1 Definition

Efficiency refers to the ability of the operating system to utilize system resources — such as CPU, memory, and I/O devices — optimally, minimizing waste and maximizing throughput.

2.2 Key Aspects of Efficiency

2.2.1 CPU Utilization

The OS aims to keep the CPU as busy as possible.

  • Avoid idle CPU cycles

  • Use scheduling algorithms to select appropriate processes

2.2.2 Throughput

Number of processes completed per unit time.

  • Higher throughput indicates better performance

2.2.3 Turnaround Time

Time taken from process submission to completion.

2.2.4 Response Time

Time taken to respond to a user request.

2.3 Example

In a time-sharing system:

  • The OS uses Round Robin scheduling to ensure quick response

  • It balances CPU allocation among processes

2.4 Trade-offs

Maximizing CPU utilization may:

  • Increase waiting time

  • Reduce responsiveness

Thus, efficiency must be balanced with other goals.

3. Convenience

3.1 Definition

Convenience refers to making the system easy to use and simplifying application development.

3.2 How OS Provides Convenience

3.2.1 Abstraction

The OS hides hardware complexity by providing:

  • Files instead of disk blocks

  • Virtual memory instead of physical memory

  • Processes instead of CPU instructions

3.2.2 System Calls

Applications interact with the OS through well-defined interfaces.

Example


The programmer does not need to handle hardware-level I/O.

3.2.3 User Interfaces

  • Command Line Interface (CLI)

  • Graphical User Interface (GUI)

These allow users to interact with the system easily.

3.3 Impact

Convenience:

  • Reduces development complexity

  • Improves productivity

  • Enables portability across systems

4. Fairness

4.1 Definition

Fairness ensures that all processes and users receive equitable access to system resources without starvation.

4.2 Key Aspects

4.2.1 CPU Scheduling Fairness

  • No process should be indefinitely delayed

  • Scheduling algorithms must ensure balanced allocation

4.2.2 Resource Sharing

  • Memory, I/O, and CPU should be distributed fairly

  • Prevent monopolization by a single process

4.3 Starvation and Aging

A system lacking fairness may lead to starvation, where a process never gets CPU time.

Solution: Aging

  • Gradually increase priority of waiting processes

4.4 Example

In priority scheduling:

  • Low-priority processes may starve

  • Aging ensures eventual execution

5. Interrelationship Between Goals

The three goals are interconnected:

  • Improving efficiency may reduce fairness

  • Increasing fairness may reduce efficiency

  • Enhancing convenience may introduce overhead

Example

Complex abstractions improve convenience but may reduce performance.

6. Design Trade-offs

Operating system design often involves balancing these goals:

Goal PrioritizedImpact
EfficiencyHigh throughput, possible unfairness
FairnessBalanced allocation, possible overhead
ConvenienceEase of use, possible performance cost

7. Real-World Perspective

Different systems prioritize goals differently:

  • Batch Systems → Efficiency

  • Interactive Systems → Convenience + Response Time

  • Real-Time Systems → Deterministic behavior (strict deadlines)