Skip to content

Manoranjan75/Operating-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

What is an Operating System?

OS-Image

An Operating System (OS) is a system software that acts as an intermediary between the user and the computer hardware.
It provides a platform for executing applications and manages the hardware resources efficiently.

Think of it as the manager of a computer system — it decides which program gets the CPU, how memory is allocated, how files are stored, and how devices communicate.

This repository contains my handwritten notes on Operating System concepts, carefully prepared to help learners understand the fundamentals and advanced concepts of OS. These notes are structured for students, interview preparation, and revision purposes.


Objectives of an OS

  1. Convenience → Makes the computer easier to use.
  2. Efficiency → Manages resources (CPU, memory, I/O) efficiently.
  3. Security → Protects data and resources from unauthorized access.
  4. Resource Management → Fair allocation of CPU, memory, and I/O devices.
  5. Abstraction → Provides a simple interface to complex hardware.

Contents of the Notes

The handwritten notes cover the following OS topics in detail:

1. Introduction to OS

  • What is an OS?
  • Functions of OS
  • Types of OS (Batch, Time-Sharing, Real-Time, Distributed, Multiprogramming, etc.)

2. Processes

  • Process Concept & Lifecycle
  • Process Control Block (PCB)
  • Context Switching
  • Threads & Multithreading

3. CPU Scheduling

  • Scheduling Criteria
  • Scheduling Algorithms:
    • First Come First Serve (FCFS)
    • Shortest Job First (SJF)
    • Round Robin (RR)
    • Priority Scheduling
    • Multilevel Queue Scheduling

4. Process Synchronization

  • Critical Section Problem
  • Synchronization Tools: Semaphores, Mutex
  • Classical Problems: Producer-Consumer, Reader-Writer, Dining Philosophers

5. Deadlocks

  • Necessary Conditions (Mutual Exclusion, Hold & Wait, No Preemption, Circular Wait)
  • Prevention, Avoidance (Banker’s Algorithm), Detection & Recovery

6. Memory Management

  • Contiguous vs Non-Contiguous Allocation
  • Paging & Segmentation
  • Virtual Memory
  • Demand Paging & Page Faults
  • Page Replacement Algorithms (FIFO, LRU, Optimal)

7. File System

  • File Attributes & Operations
  • Directory Structures (Single-Level, Two-Level, Tree, DAG)
  • File Allocation (Contiguous, Linked, Indexed)

8. I/O Systems

  • I/O Hardware Basics
  • Polling, Interrupts, Direct Memory Access (DMA)

9. Disk Scheduling

  • FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK

10. Security & Protection

  • Access Control
  • Authentication Techniques
  • Threats and Countermeasures

Why Learn OS?

  • Forms the core subject of Computer Science Engineering.
  • Heavily asked in placements and technical interviews.
  • OS concepts form the foundation for:
    • System Design
    • Databases (transaction concurrency control)
    • Networking (packet scheduling, resource sharing)
    • Cloud Computing & Distributed Systems

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published