Operating System – Topics & Subtopics 

https://www.tutorialspoint.com/operating_system/os_overview.htm

https://www.geeksforgeeks.org/operating-systems/operating-systems/

1. Introduction to Operating System

  • What is an Operating System

  • Functions of an Operating System

  • Goals of OS

  • Types of Operating Systems

    • Batch OS

    • Time Sharing OS

    • Distributed OS

    • Network OS

    • Real-Time OS

  • OS Structure

  • Kernel vs User Mode

  • System Calls


2. Process Management

  • Process Concept

  • Process State Diagram

  • Process Control Block (PCB)

  • Process Scheduling

  • Process Operations

    • Process Creation

    • Process Termination

  • Interprocess Communication (IPC)

    • Shared Memory

    • Message Passing

  • Context Switching


3. CPU Scheduling

  • Scheduling Concept

  • Scheduling Criteria

  • Scheduling Algorithms

    • First Come First Serve (FCFS)

    • Shortest Job First (SJF)

    • Shortest Remaining Time First (SRTF)

    • Priority Scheduling

    • Round Robin (RR)

    • Multilevel Queue Scheduling

    • Multilevel Feedback Queue Scheduling

  • Preemptive vs Non-Preemptive Scheduling

  • Scheduling in Real-Time Systems


4. Process Synchronization

  • Critical Section Problem

  • Race Condition

  • Synchronization Hardware

  • Mutex Locks

  • Semaphores

    • Binary Semaphore

    • Counting Semaphore

  • Monitors

  • Condition Variables

  • Classic Synchronization Problems

    • Producer Consumer Problem

    • Dining Philosophers Problem

    • Readers Writers Problem

    • Sleeping Barber Problem


5. Deadlocks

  • Deadlock Concept

  • Necessary Conditions for Deadlock

    • Mutual Exclusion

    • Hold and Wait

    • No Preemption

    • Circular Wait

  • Resource Allocation Graph

  • Deadlock Handling Methods

    • Deadlock Prevention

    • Deadlock Avoidance

    • Deadlock Detection

    • Deadlock Recovery

  • Banker’s Algorithm


6. Memory Management

  • Memory Management Concepts

  • Address Binding

  • Logical vs Physical Address

  • Dynamic Loading and Linking

  • Swapping

  • Contiguous Memory Allocation

    • Fixed Partition

    • Variable Partition

  • Fragmentation

    • Internal Fragmentation

    • External Fragmentation


7. Paging

  • Paging Concept

  • Page Table

  • Address Translation

  • Multilevel Paging

  • Inverted Page Table

  • Translation Lookaside Buffer (TLB)


8. Segmentation

  • Segmentation Concept

  • Segment Table

  • Segmentation with Paging


9. Virtual Memory

  • Virtual Memory Concept

  • Demand Paging

  • Page Fault Handling

  • Copy-on-Write

  • Thrashing

Page Replacement Algorithms

  • FIFO

  • Optimal Page Replacement

  • LRU (Least Recently Used)

  • LFU

  • Clock Algorithm


10. File System

  • File Concept

  • File Attributes

  • File Operations

  • File Types

  • File Access Methods

    • Sequential Access

    • Direct Access

    • Indexed Access

Directory Structure

  • Single Level Directory

  • Two Level Directory

  • Tree Structure Directory

  • Acyclic Graph Directory

File System Implementation

  • File Allocation Methods

    • Contiguous Allocation

    • Linked Allocation

    • Indexed Allocation


11. Disk Management

  • Disk Structure

  • Disk Scheduling Algorithms

    • FCFS

    • SSTF

    • SCAN

    • C-SCAN

    • LOOK

    • C-LOOK

  • Disk Formatting

  • Disk Partitioning

  • RAID Structure


12. I/O System

  • I/O Hardware

  • I/O Devices

  • I/O Interface

  • Device Drivers

  • Interrupt Handling

  • Direct Memory Access (DMA)


13. Protection and Security

  • Protection Concept

  • Access Control

  • Access Matrix

  • Capability Based System

  • Authentication

  • Encryption

  • Security Threats


14. Distributed Operating Systems

  • Distributed Systems Concept

  • Client-Server Model

  • Peer-to-Peer Model

  • Distributed File Systems

  • Remote Procedure Call (RPC)


15. Virtualization

  • Virtual Machine Concept

  • Hypervisor

  • Type 1 Hypervisor

  • Type 2 Hypervisor

  • Containerization


16. Modern Operating System Concepts

  • Multicore Processing

  • Cloud Operating Systems

  • Mobile Operating Systems

  • Microkernel Architecture

  • Monolithic Kernel

  • Hybrid Kernel

JavaScript
1function sumArray(arr) {
2 let sum = 0;
3
4 for (let i = 0; i < arr.length; i++) {
5 sum += arr[i];
6 }
7
8 return sum;
9}
10
11const arr = [1, 2, 3, 4, 5];
12console.log(sumArray(arr)); // 15