I made som very minor changes to the P5 slides before I presented it yesterday. I only changed a couple of words for clarification, i.e., nothing very important content-wise. The updated slides are available shortly as "P5-updated.pdf" in the project folder.
The sentence "Modify yield(), lock_acquire(), lock_release(), etc. to deal with preemptive scheduling" in the P3 intro slides is misleading. You are NOT required to modify yield() in P3, as it is allready modified for you. This is why scheduler.c is not in bold in the project description, i.e., it is not among the files you are required to modify. You are however required to make sure it works properly with your implementation.
We are working on to find out what the reason for these potential problem is and of course to solve it. In the meantime a work around used successful by some is to use another machine (e.g. your private laptop etc.) to write the bootblock etc on the stick and than put it into a PC in Modula to test your code.