콘텐츠로 이동

Operating Systems

Operating system theory and concepts for computer science studies


Topics

  • CPU Scheduling


    Process scheduling algorithms: FCFS, SJF, Priority, Round Robin, MLFQ.

    View Guide

  • Synchronization


    Mutex, semaphores, monitors, and critical section problems.

    View Guide

  • Deadlocks


    Deadlock conditions, prevention, avoidance, and detection.

    View Guide

  • Memory Management


    Virtual memory, paging, segmentation, and page replacement.

    View Guide

  • Process Management


    Process creation, fork(), exec(), and inter-process communication.

    View Guide

  • Virtualization


    Hypervisor mechanisms and Docker vs VM isolation comparison.

    View Guide

  • Distributed Deadlocks


    Deadlock handling in distributed systems and Edge Chasing algorithm.

    View Guide


Learning Path

flowchart TD
    subgraph Fundamentals
        A[Process Concept] --> B[Process States]
        B --> C[Context Switching]
    end

    subgraph Scheduling
        C --> D[CPU Scheduling]
        D --> E[Scheduling Algorithms]
    end

    subgraph Concurrency
        E --> F[Synchronization]
        F --> G[Critical Section]
        G --> H[Deadlocks]
    end

    subgraph Memory
        H --> I[Memory Management]
        I --> J[Virtual Memory]
        J --> K[Page Replacement]
    end

Key Concepts

Process States

stateDiagram-v2
    [*] --> New: Create
    New --> Ready: Admit
    Ready --> Running: Dispatch
    Running --> Ready: Interrupt
    Running --> Waiting: I/O Wait
    Waiting --> Ready: I/O Complete
    Running --> Terminated: Exit
    Terminated --> [*]

Scheduling Algorithms Comparison

Algorithm Preemptive Starvation Best For
FCFS No No Batch systems
SJF Both Yes Short jobs
Priority Both Yes Real-time
Round Robin Yes No Time-sharing
MLFQ Yes No General purpose

Deadlock Conditions

All four conditions must hold simultaneously:

  1. Mutual Exclusion - Resource held exclusively
  2. Hold and Wait - Process holding while waiting
  3. No Preemption - Cannot forcibly remove
  4. Circular Wait - Circular chain of processes

Quick Formulas

CPU Scheduling

Turnaround Time = Completion Time - Arrival Time
Waiting Time = Turnaround Time - Burst Time
Response Time = First Response - Arrival Time
Throughput = Number of Processes / Total Time
CPU Utilization = (CPU Busy Time / Total Time) × 100%

Memory Management

Page Number = Virtual Address / Page Size
Page Offset = Virtual Address % Page Size
Physical Address = (Frame Number × Page Size) + Offset