For the final project in this class, you will build on at least two of the core areas we covered in this course. Core areas are:
The specific project is up to you, but you should be prepared to argue that your project bridges two or more areas of systems. If you are interested in a project that does not span two areas of the course I may still approve the project if it is sufficiently ambitious. If you are considering such a project, please talk to me about it as soon as possible.
Your project proposal must:
While you are not required to use figures in your proposal, they may make it easier to explain your plans. Your implementation description should describe the major components of the system, a rough timeline for the implementation, and discuss any potential challenges in the implementation. You may want to consider possible alternate solutions if your proposed strategy does not work. You should expect to have at least one but no more than three pages of single-spaced text with a reasonable font.
Here are a few example projects that would meet the requirements. You are welcome to propose one of these projects if you like, but your proposal must address all three of the requirements above.
cron
utility available on many modern UNIX-like operating systems.LD_PRELOAD
trick from the malloc lab to figure out which memory is allocated to the program. Periodically, use mprotect
to make memory inaccessible every once in a while, then use a signal handler to catch accesses to this memory. Each time you do this you learn which thread accessed which address. Record and analyze this information to learn how much memory in a real program is shared between threads, used primarily by one thread, frequently/infrequently accessed, or other properties of the program’s memory accesses.Your project proposal will be evaluated using four criteria:
In addition to the grade for your initial proposal, I will give proposal feedback by April 24th, 2017. You are required to address any critical issues with your proposal by April 26th at 10:30pm.