Skip to content

xv6 Kernel Modifications

About the Project

Enhanced the XV6 operating system with new system calls and scheduling policies. Implemented:

  • System call tracking functionality
  • Process timer alerts
  • Lottery-based scheduling
  • Multi-level feedback queue scheduling

GitHub

Features

System Calls

  • getSysCount: Tracks system call usage statistics
  • sigalarm/sigreturn: Process CPU time alerts
  • settickets: Sets process lottery tickets

Schedulers

  • Lottery Based Scheduling (LBS)

    • Random ticket-based process selection
    • Process arrival time prioritization
    • Inherited ticket counts for child processes
  • Multi-Level Feedback Queue (MLFQ)

    • 4 priority queues with different time slices
    • Priority boosting to prevent starvation
    • I/O-bound process prioritization