Detailed Notes on Operating System
Lecture 1: Introduction to Operating System
An Operating System (OS) is software that manages hardware and software resources. It acts as an
interface between the user and the hardware.
Functions of OS:
Processor Management, Memory Management, File Management, Device Management, Security,
Deadlock Handling, Time Management.
Types of Operating Systems:
• Serial Processing OS – Early systems with punched cards.
• Batch OS – Jobs grouped into batches; efficient but may cause starvation.
• Multiprogramming OS – CPU executes other jobs during I/O.
• Multitasking OS – Multiple tasks simultaneously for one user.
• Multiprocessing OS – Multiple CPUs for parallel execution.
• Network OS – Communication between computers.
• Real-Time OS – Strict deadlines, used in defense and robotics.
• Time-Sharing OS – Multiple users interact simultaneously.
• Distributed OS – Spread across multiple machines.
Batch OS Multiprogramming OS
Jobs executed one by one. Multiple jobs reside in memory and run concurrently.
CPU idle during I/O. CPU utilization maximized by overlapping I/O and computation.
No user interaction. Limited interaction, still not real-time.
Lecture 2: OS Architecture
OS is composed of hardware, kernel, and shell. The architecture may be monolithic, layered,
microkernel, or virtual machines.
Lecture 3: Process Concepts
A process is a program under execution. The OS manages processes using Process Control Blocks
(PCB).
Lecture 4: Process States and Multithreading
Processes move through states: New, Ready, Running, Waiting, and Terminated. Threads are
lightweight processes that share resources.
User-Level Threads Kernel-Level Threads
Managed by libraries. Managed by OS kernel.
Faster creation and termination. Slower due to system calls.
One blocking thread blocks all. Kernel schedules another thread if one blocks.
These notes summarize the basics of Operating System concepts including types of OS, architecture,
processes, threads, and scheduling techniques.