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%

Introduction to Operating Systems

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

What is an Operating System?

An Operating System (OS) is system software that sits between user applications and the computer's hardware. It manages hardware resources (CPU, memory, I/O devices, storage) and provides an environment in which user programs can run conveniently and efficiently.

Formally, an OS is a resource manager and an extended/virtual machine:

  • Resource manager: it decides which process gets the CPU, how memory is allocated, and which I/O request goes first.
  • Extended machine: it hides messy hardware details (disk geometry, device registers) behind clean abstractions like files, processes and sockets.

Functions of an Operating System

  1. Process Management — creates, schedules, suspends and terminates processes; provides synchronization and inter-process communication.
  2. Memory Management — keeps track of which parts of memory are in use, allocates space to processes, and reclaims memory when freed.
  3. File Management — organizes data on disk into files and directories, controls access and provides a uniform interface (open, read, write).
  4. Device / I/O Management — provides device drivers, buffers, spools and schedules I/O requests so user programs need not know hardware details.
  5. Security & Protection — authenticates users, controls access via permissions, isolates processes from each other.
  6. Networking — implements protocol stacks (TCP/IP) so machines can communicate.
  7. User Interface — supplies a CLI (shell) and/or GUI for user interaction.
  8. Error Detection & Recovery — monitors hardware and software faults and takes corrective action.
  9. Resource Accounting — keeps statistics of resource usage for billing or tuning.

Goals of an OS

  • Convenience — make the computer easier to use.
  • Efficiency — use hardware effectively.
  • Ability to evolve — allow new features without disturbing existing ones.

User View vs System View

PerspectiveWhat the OS is
User viewProvides ease of use; performance is secondary on a PC, primary on a mainframe.
System viewA resource allocator and control program that prevents errors and improper use.

Summary

  • An OS abstracts hardware and manages resources.
  • Its core functions are process, memory, file, device, security, and network management.
  • It exposes services through the system call interface which user programs invoke via library wrappers.