CS 354 Notes (Spring 2025)

This document may have answers to some common questions.

XINUTEST and XINUDEBUG flags

For lab 1, you do not have to use any macros in general.

However, from lab 2 onward, all print statements (e.g. kprintf(...)) should be wrapped by a macro.

Specifically, you should

  1. wrap problem-related output with the XINUTEST macro. This is for our testing purposes.
  2. wrap your debugging output with the XINUDEBUG macro. This for your own testing/debugging purposes.

Lab 3

The quantumts variable

The handout mentions declaring a variable named quantumts in section 3.1. This can be used as a temporary variable to represent the new quantum of a process that has just undergone a priority change (and its associated time slice). However, the use of a separate variable quantumts is not necessary, since the xstquantum field of the xst struct can be referenced directly.

Broken Backends

The following backends are known to be broken. Please try to avoid using the following backends: