This is the final assignment, worth 80% of the module marks, based on the attached archive FINALDISTR.zip While an automated grading system will be used initially, your code will be looked at, particularly in the event of it giving really wrong answers or code failing to compile.
A failure of code to compile for any part below will cap the maximum mark for that component to 39% of its full mark. It has three parts, each of which can be done and assessed independently of the others.
1. An exercise using Promela/SPIN to model a non-deterministic finite-state-automaton (NDFA)
2. An exercise to add dynamic priority (Linux-style) to the xv6 operating system.
3. An exercise to add more levels of indirection to file block access in xv6