Hasty Briefsbeta

  • #operating-systems
  • #xv6
  • #scheduling
  • The xv6 kernel uses a basic round robin scheduler by default.
  • A stride scheduler was implemented to explore proportional-share scheduling, where processes with smaller strides (higher priority) run more frequently.
  • Round robin scheduling treats all processes equally, scheduling them in a continuous loop.
  • Stride scheduling assigns each process a 'stride' and 'pass' value, scheduling the process with the lowest pass value next.
  • The implementation involved adding stride and pass fields to the process structure and creating a new scheduler function.
  • A system call was added to set process priorities, influencing their stride values.
  • Testing showed the stride scheduler closely matched theoretical expectations, with higher priority processes running more frequently.
  • Future considerations include resetting pass values to prevent starvation and investigating an unexplained init process lockup.
  • The experiment successfully demonstrated the practical application of stride scheduling in xv6.