Explain the basic definition of an operating system and its primary goals and functions.
Prerequisites
Basic understanding of computer organization (CPU, memory, I/O devices), ability to write and run simple programs in a high‑level language, and familiarity with compiling/executing programs.
By the end of this lecture, you should clearly understand what an Operating System does,
why it matters for every software developer, and how this course will run (units, labs, assignments, and evaluation).
1) Warm-up: When you double-click an application, what actually happens?
Think about these questions:
Where does the program load from?
Who gives it memory?
Who schedules CPU time so it runs smoothly with other applications?
Who controls files, keyboard, screen, printer, and network?
Answer:
The Operating System is the “manager” that makes all this possible.
2) What is an Operating System?
An Operating System is system software that manages computer hardware resources and provides
a common foundation and environment for application programs. It acts as an intermediary between users/applications and the hardware.
2.1 Abstract view of a computer system
A computer system can be viewed as four main components:
Fig 1.1: Abstract view of a computer system (User → Applications → OS → Hardware).
3) Two core roles of an Operating System
Role A: Resource Manager
A computer has limited resources (CPU time, memory space, storage space, and input/output devices).
The Operating System decides how to allocate these resources among programs and users.
CPU scheduling: who runs next and for how long?
Memory allocation: which program gets how much RAM?
File management: storing and protecting data on disk
Role B: Service Provider
The Operating System provides standard services and convenient abstractions so that programs can run safely and efficiently.
Instead of dealing with hardware details, programs use Operating System services through well-defined interfaces.
Process and thread support
Security and protection
Networking and inter-process communication support
The Operating System is both a Resource Manager (allocates CPU, memory, devices)
and a Service Provider (offers standard services/abstractions to users and programs).
4) Why you should care (real developer reasons)
Performance: faster software often requires understanding scheduling and memory behavior.
Debugging: deadlocks, race conditions, and crashes are often Operating System-level stories.
Backend & Cloud: containers, virtualization, servers, and resource limits depend on Operating System concepts.
Security: permissions, isolation, and protection start with Operating System fundamentals.
5) Course Outcomes and Roadmap
5.1 Course Outcomes (CO)
CO1: Explain Operating System structure and functions.
CO2: Explain processes/threads and scheduling algorithms.
CO3: Explain concurrency, synchronization, and deadlocks.
CO4: Explain memory management and virtual memory.
CO5: Explain input/output management and file systems.
5.2 Roadmap (5 Units)
Unit 1: Operating System basics, types, structure, services.
Unit 2: Concurrency and synchronization (semaphores, classic problems).
Unit 3: CPU scheduling, threads, and deadlocks.
Unit 4: Memory management, paging/segmentation, virtual memory.
Unit 5: Input/output management, disk scheduling, file systems, security.
6) Operating System goals and objectives
Goal
Meaning
Simple Example
Performance
Do more work in less time; reduce waiting; increase utilization.
CPU scheduling keeps the CPU busy and reduces turnaround time.
Fairness
No single program should hog the CPU forever.
Time slice gives each runnable process a turn.
Reliability
Stable system; handle errors without crashing frequently.