Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 2: Overview

Lesson 8 of 31 in the free Operating System & Linux Programming notes on Siksha Sarovar, written by Rohit Jangra.

Unit 2: Processes, Scheduling and Synchronization

This unit moves from the static OS picture to the dynamic life of programs. We explore the process abstraction, how the CPU is shared among many processes, how processes coordinate to avoid race conditions, and how Linux exposes processes via commands and system calls.

Why Scheduling Matters

The CPU is hundreds of times faster than any I/O device. If only one program ran end-to-end, the CPU would be idle most of the time. The OS keeps several processes in memory and switches the CPU between them — this is multiprogramming. The policy that decides which process runs next is the CPU scheduler.

Why Synchronization Matters

When two processes share data, naïve concurrent updates produce race conditions — outcomes that depend on the unpredictable interleaving of instructions. The OS provides primitives (locks, semaphores) so programmers can serialize access to critical resources.

Learning Outcomes

By the end of Unit 2 you will be able to:

  1. Describe a process, its states, and the contents of a Process Control Block.
  2. Compute average waiting and turnaround times for FCFS, SJF, Priority and Round-Robin scheduling.
  3. State the critical-section problem and solve it with semaphores.
  4. Use ps, top, nice, renice, and write small C programs that call fork, exec, wait, exit.